当前位置: 首页 > news >正文

openai-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": {}
}

相关文章:

  • 企业级开发中的 maven-mvnd 应用实践
  • 免费的硬盘工具
  • 电子电气架构 --- 后轮转向的一点事情
  • BUUCTF[ACTF2020 新生赛]Include 1题解
  • 《QDebug 2025年5月》
  • 2024年第十五届蓝桥杯Scratch10月stema选拔赛真题——数字卡片排序
  • [蓝桥杯]交换次数
  • [蓝桥杯]蚂蚁感冒
  • Spring Boot 3.X 下Redis缓存的尝试(一):初步尝试
  • BayesFlow:基于神经网络的摊销贝叶斯推断框架
  • php 各版本下载
  • NTP库详解
  • JavaScript性能优化:实战技巧提升10倍速度
  • 【笔记】如何卸载 MSYS2 中不同工具链的 numpy 包
  • TDengine 的 AI 应用实战——电力需求预测
  • vue-12 (路由守卫:全局、每个路由和组件内)
  • 黑马Java面试笔记之 微服务篇(SpringCloud)
  • 第12次12: 修改和删除收货地址
  • 前端面试宝典---前端水印
  • DeepSeek模型安全部署与对抗防御全攻略
  • 订阅号登陆平台/网站优化seo
  • asp.net做网站/推广公司简介
  • 网站建设 中国移动/今日冯站长之家
  • 网站院长信箱怎么做/爱站网seo培训
  • 平凉哪家做企业网站/直销怎么做才最快成功
  • 开发区网站制作公司/外链网盘网站