![](/style/images/good.png)
![](/style/images/bad.png)
GitHub - Barqawiz/IntelliJava: IntelliJava allows java developers to easily inte...
source link: https://github.com/Barqawiz/IntelliJava
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
IntelliJava-OpenaiAPI
IntelliJava V0.6.0
IntelliJava is the ultimate tool for Java developers looking to integrate with the latest language models and deep learning frameworks. The library provides a simple and intuitive API with convenient methods for sending text input to models like GPT-3 and DALL·E, and receiving generated text or images in return. With just a few lines of code, you can easily access the power of cutting-edge AI models to enhance your projects.
The supported models in this version:
- OpenAI: Access GPT-3 to generate text and DALL·E to generate images. OpenAI is preferred when you want quality results without tuning.
- Cohere.ai: generate text; Cohere allows you to generate your language model to suit your specific needs.
How to use
- Import the core jar file to your project or add the maven package (check Integration section).
- Add gson dependency using maven or the jar file (check dependencies section).
- Call the
RemoteLanguageModel
for the language models andRemoateImageModel
for image generation.
Integration
The package released to Maven Central Repository.
Maven:
<dependency>
<groupId>io.github.barqawiz</groupId>
<artifactId>intellijava.core</artifactId>
<version>0.6.0</version>
</dependency>
Gradle:
implementation group: 'io.github.barqawiz', name: 'intellijava.core', version: '0.6.0'
Gradle(Kotlin):
implementation("io.github.barqawiz:intellijava.core:0.6.0")
Jar download: intellijava.jar.
For ready integration: try the sample_code.
Code Example
Language model code (2 steps):
// 1- initiate the remote language model
String apiKey = "<add-openai-api-key>";
RemoteLanguageModel langModel = new RemoteLanguageModel(apiKey, "openai");
// 2- call generateText with any command !
LanguageModelInput langInput = new LanguageModelInput.Builder("return a java code that says hello world")
.setModel("text-davinci-002").setTemperature(0.7f).setMaxTokens(50).build();
String resValue = langModel.generateText(langInput);
Output:
System.out.println("Hello, World!");
Image generation code (2 steps):
// 1- initiate the remote image model
RemoateImageModel imageModel = new RemoateImageModel(apiKey, "openai");
// 2- call generateImages with any command !
ImageModelInput imageInput = new ImageModelInput.Builder("teddy writing a blog in times square")
.setNumberOfImages(2).setImageSize("1024x1024").build();
List<String> images = imageModel.generateImages(imageInput);
For full example check the code inside sample_code project.
Third-party dependencies
The only dependencies is GSON.
For Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
For Gradle:
dependencies {
implementation 'com.google.code.gson:gson:2.8.9'
}
For jar download: gson download repo
Roadmap
Call for contributors:
- Add support to OpenAI Completion API.
- Add support to OpenAI DALL·E 2.
- Add support to other OpenAI functions.
- Add support to cohere generate API.
- Add support to Google language models.
- Add support to Amazon language models.
- Add support to Midjourney image generation.
License
Apache License
Copyright 2023 Github.com/Barqawiz/IntelliJava
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK