openai-java
OpenAI-Java是一个Java开源库,用于简化与OpenAI模型的交互。文章介绍了如何通过Maven引入依赖,创建OpenAIClient实例(建议全局复用),以及使用本地部署的Qwen3-8b模型实现简单对话。示例代码展示了如何配置请求参数(包括提示词和模型设置),并解析返回的JSON响应。测试结果显示了模型生成的一段自我介绍文本,包含模型能力和服务目标说明。该库让Java开发者可以方便地
·
什么是openai-java
OpenAI-Java 是一个为 Java 开发者设计的开源库,用于简化与 OpenAI 模型(如 GPT-3、ChatGPT、GPT-4 等)的交互。从使用上来说跟python库还是挺像的, 不过更方便了java程序员来是用
引入依赖
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java</artifactId>
<version>1.6.1</version>
</dependency>
实现一个简单对话
创建一个OpenAIClient
注意: 每个client都会维护一个连接池, 因此最好是全局使用一个client即可, 为了节省资源无需每次调用都创建一个client
这里我使用的LMStudio本地部署的模型, 因此我的baseUrl是本地的服务,即便本地没有apikey需要设置为空白字符串
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey("")
.baseUrl("http://127.0.0.1:1234/v1")
.build();
创响应参数
addUserMessage即是提示词, 可以添加多个提示词, 这里我是用了qwen3-8b模型, "/no_think"是为了关闭模型的推理功能, 这里大家可以根据自己的模型来自行设置
ChatCompletionCreateParams params = ChatCompletionCreateParams .builder()
.addUserMessage("简单介绍一下自己")
.addUserMessage("/no_think")
.model("qwen3-8b")
.build();
完整代码
public class AIMain {
public static void main(String[] args) throws Exception {
OpenAIClient client = OpenAIOkHttpClient.builder()
.apiKey("")
.baseUrl("http://127.0.0.1:1234/v1")
.build();
// 创建响应参数
ChatCompletionCreateParams params = ChatCompletionCreateParams .builder()
.addUserMessage("简单介绍一下自己")
.addUserMessage("/no_think")
.model("qwen3-8b")
.build();
// 发送请求并接收响应
ChatCompletion chatCompletion = client.chat().completions().create(params);
String json = MapperUtils.obj2json(chatCompletion);
System.out.println(json);
}
}
测试结果
{
"id": "chatcmpl-u129ppf7md9q27hrul5prs",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "<think>\n\n</think>\n\n你好!我是一个大型语言模型,由阿里巴巴集团旗下的通义实验室研发。我的名字是通义千问,你可以叫我Qwen。我能够进行多轮对话,回答各种问题,创作文字,比如写故事、写邮件、写剧本等,还能进行逻辑推理、数学计算和代码生成。我支持多种语言,包括中文、英文、日文、韩文、西班牙文等。\n\n我的目标是成为你身边的智能助手,帮助你更高效地获取信息、解决问题和创造内容。无论你是想学习新知识,还是需要一些灵感和创意,我都会尽力提供帮助。如果你有任何问题或需要 assistance,随时告诉我!",
"role": "assistant",
"valid": true
},
"valid": true
}
],
"created": 1748869524,
"model": "qwen3-8b",
"object": "chat.completion",
"system_fingerprint": "qwen3-8b",
"usage": {
"completion_tokens": 142,
"prompt_tokens": 15,
"total_tokens": 157,
"valid": true
},
"valid": true,
"stats": {
}
}
更多推荐


所有评论(0)