• Stars
    star
    55
  • Rank 537,381 (Top 11 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Integrate with the latest language models, image generation, speech, and deep learning frameworks like ChatGPT, DALL·E, and Cohere using few java lines.

Mentioned in Awesome Java

Intelligent Java

Intelligent java (IntelliJava) is the ultimate tool to integrate with the latest language models and deep learning frameworks using java. The library provides an intuitive functions for sending input to models like ChatGPT and DALL·E, and receiving generated text, speech or images. 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:

  • OpenAI: Access ChatGPT, GPT3 to generate text and DALL·E to generate images. OpenAI is preferred for quality results without tuning.
  • Cohere.ai: Generate text; Cohere allows you to custom your language model to suit your specific needs.
  • Google AI: Generate audio from text; Access DeepMind’s speech models.

How to use

  1. Add the maven dependency or import the core jar file (check the Integration section).
  2. Add Gson dependency if using the jar file; otherwise, it's handled by maven or Gradle.
  3. Call the RemoteLanguageModel for the language models, RemoteImageModel for image generation, RemoteSpeechModel for text to speech models, and Chatbot for ChatGPT.

Integration

The package released to Maven Central Repository:

Maven:

<dependency>
    <groupId>io.github.barqawiz</groupId>
    <artifactId>intellijava.core</artifactId>
    <version>0.8.2</version>
</dependency>

Gradle:

implementation 'io.github.barqawiz:intellijava.core:0.8.2'

Gradle(Kotlin):

implementation("io.github.barqawiz:intellijava.core:0.8.2")

Jar download: intellijava.jar.

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("Summarize the plot of the 'Inception' movie in two sentences")
                .setModel("text-davinci-003").setTemperature(0.7f).setMaxTokens(50).build();
String resValue = langModel.generateText(langInput);

Output:Inception follows Dom Cobb, a professional thief, who is offered a chance at redemption in exchange for planting an idea in a target's mind. He must navigate a dangerous landscape of dream-sharing technology and battle his inner demons in order to complete the mission and find his way back to reality.


Image generation code (2 steps):

// 1- initiate the remote image model
RemoteImageModel imageModel = new RemoteImageModel(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);

Output:


Text to speech code (2 steps):

// 1- initiate the remote speech model
RemoteSpeechModel model = new RemoteSpeechModel(apiKey, SpeechModels.google);

// 2- call generateEnglishText with any text
Text2SpeechInput input = new Text2SpeechInput.Builder("Hi, I am Intelligent Java.").build();
byte[] decodedAudio = model.generateEnglishText(input);

Output:

// save temporary audio file for testing
AudioHelper.saveTempAudio(decodedAudio);

ChatGPT code:

// 1- initiate the chat model.
Chatbot bot = new Chatbot(apiKey, SupportedChatModels.openai);

// 2- prepare the chat history by calling addMessage.
String mode = "You are a helpful astronomy assistant.";
ChatModelInput input = new ChatGPTInput.Builder(mode)
                       .addUserMessage("what is the space between moon and earth").build();

// 3- call chat!
List<String> resValues =  bot.chat(input);

Output:The average distance between the Moon and the Earth is about 238,855 miles (384,400 kilometers).


For full examples and ready integration try the sample_code.

Third-party dependencies

The only dependencies is GSON. Required to add manually when using IntelliJava jar. However, if you imported this repo through Maven, it will handle the dependencies.

For jar download: gson download repo

Documentation

Roadmap

Call for contributors:

  • Add support to OpenAI Completion.
  • 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 Google speech models.
  • Add support to Amazon language models.
  • Add support to Azure nlp models.
  • Add support to Midjourney image generation.
  • Add support to WuDao 2.0 model.
  • Add support to Stable Diffusion.

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.

More Repositories

1

Shakkala

Deep learning for AR text Vocalization - التشكيل الالي للنصوص العربية
Python
333
star
2

IntelliNode

Unified access to various AI models, such as ChatGPT, Diffusion, Cohere, and others, using a few Javascript lines.
JavaScript
128
star
3

Android_ApplicationTemplate

Create android apps fast without writing code ! part of Monkey Clicks project.
Java
15
star
4

Snnapy2-Filters

Snappy2 detects faces in images and applies custom image filters as overlays. With Snappy2, developers can easily add fun and engaging image filters to their applications.
Python
12
star
5

aind2-nlp-translation

Machine translation pipeline. Ready models to translate between languages.
HTML
8
star
6

Android-Kotlin-Basic2Advanced

A series of Android Kotlin apps based on Google & Udacity trainings. One stop page to prepare for Android associate developer certificate.
Kotlin
5
star
7

ChatGPT-AWS-S3-Assistant

ChatGPT-based automation for AWS s3 using the functions feature.
Jupyter Notebook
4
star
8

AI-Nanodegree-Term2

Python code for AI Nanodegree Term2 Projects (Keras+Tensorflow)
Jupyter Notebook
4
star
9

FastAPI_Twitter_Auth

Create twitter login API using FastAPI.
Python
3
star
10

Deprecated_AndroidUtility

Utility library for common and daily used android methods
Java
3
star
11

Barqawiz

Config files for my GitHub profile.
2
star
12

AI-Nanodegree-Term1

Collection of AI algorithms using python
Jupyter Notebook
1
star
13

NASA_TESS_Narrative

A narrative visualization project showcasing TESS's mission exoplanets discoveries and compare Earth-like characteristics.
JavaScript
1
star
14

space-invaders-js

Space Invaders classic arcade game using javascript and p5.
JavaScript
1
star