JavaAI
vaAI v0.4.1

Javaai是一个轻巧的Java库,其第三方依赖关系最少,旨在与OpenAI API互动。它提供了一个直观的接口,用于访问Java应用程序中的高级AI功能。借助Javaai,您可以轻松地将最新功能集成到项目中,包括与GPT聊天,DALL-E中的图像生成以及With Wishper。
< dependency >
< groupId >io.github.artemnefedov</ groupId >
< artifactId >javaai</ artifactId >
< version >0.4.1</ version >
</ dependency >implementation ' io.github.artemnefedov:javaai:0.4.1 ' 您可以通过两种方式初始化Javaai:通过将API键直接传递给构造函数或通过添加带有键的环境变量,然后按OpenAI的建议将其命名OpenAI_API_KEY
var javaAi = JavaAI . javaAiBuilder ( "YOUR_API_KEY" ); var javaAI = JavaAI . javaAiBuilder ();您可以使用两种方式与Chatgpt互动:
- 将用户的消息(作为字符串)传递给
chat()方法。javaAi . chat ( "YOUR_QUESTION" );
- 将保存的对话传递给该方法
List<ChatMessage>。var messages = List . of ( new ChatMessage ( "user" , "what is the meaning of life?" ), new ChatMessage ( "AI" , "The meaning of life is to be happy." ), new ChatMessage ( "user" , "are you sure?" ) ); javaAI . chat ( messages );根据您设置的
n值,您可以使用chat()方法,该方法返回API的String响应或chatWithChoices()方法,该方法将API从List<String>返回多个响应,取决于您设置的n值。
您可以使用
generateImage()方法从文本提示符生成图像。该模型将把URL返回结果,作为字符串列表。javaAI . generateImage ( "Computes science cat, photo on Fujifilm x100v, 2024" );回复
要将文本转换为语音,您必须将文本传递到
textToSpeech()方法一个string,其中包含要声音的文本和包含将保存音频文件的位置的string。javaAI . textToSpeech ( "Hi, my name is Artem, and I made this piece of... code." , "path/to/save/audio.mp3" );回复
prips_of_code.mp4
您可以通过setChatConfig() , setDalleConfig()和setTtsConfig()方法为每个模型指定不同的设置。您分别接受记录ChatConfig , DalleConfig和TtsConfig 。
ChatConfig.java
public record ChatConfig (
Model model ,
float temperature ,
int topP ,
int n ,
boolean stream ,
String stop ,
int maxTokens ,
float presencePenalty ,
float frequencyPenalty ,
Map < Integer , Integer > logitBias ,
String user ) {
}OpenAI API文档中的参数
DalleConfig.java
public record DalleConfig (
DalleModel model ,
int n ,
String quality ,
ResponseFormat responseFormat ,
Size size ,
Style style ,
String user ) {
}OpenAI API文档中的参数
TtsConfig.java
public record TtsConfig (
TtsModel model ,
Voice voice ,
VoiceResponseFormat responseFormat ,
float speed
) {
}OpenAI API文档中的参数
import io . github . artemnefedov . javaai . model . chat . ChatConfig ;
var customChatConfig = new ChatConfig (
ChatConfig . Model . GPT_3_5_TURBO ,
1F ,
1 ,
1 ,
false ,
" n " ,
2000 ,
0F ,
0F ,
new HashMap <>(),
UUID . randomUUID (). toString ()
);
javaAi . setChatConfig ( customChatConfig );GPT
dall·e
TTS
耳语