chatgpt-java 是开发框架领域的开源项目,由 PlexPt 开发,2022 年首次发布。
在全站 12,961 个收录项目中,它的 GitHub 星标数(3,579)位列前 30%,在开发框架分类的 793 个项目里位列前 14%。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-18。
它主要面向的使用场景是:Java后端快速集成ChatGPT对话能力。同类可对比的替代方案包括 openai-java、langchain4j、spring-ai。

Java 开发者接入 GPT-5/4o,几行代码搞定对话功能
chatgpt-java 是一个非官方的 Java SDK,旨在简化 ChatGPT(GPT-4o、GPT-5)API 的集成。它解决了 Java 开发者直接调用 OpenAI 接口时面临的复杂认证、请求构建和响应解析等问题,提供了开箱即用的封装。核心能力包括:支持 GPT-4o 和 GPT-5 模型,涵盖对话补全、流式响应、函数调用等常用功能;提供简洁的 API 设计,开发者只需少量代码即可发起请求并处理结果;内置配置管理,支持自定义 API 密钥、超时和代理设置;同时兼容同步和异步调用模式,便于嵌入各类 Java 应用。该 SDK 降低了 AI 功能接入门槛,适合快速构建聊天机器人、智能助手等应用。
1添加Maven依赖
在项目 pom.xml 的 dependencies 节点中加入该依赖,groupId 为 com.github.plexpt,README 示例版本为 6.0.0。
com.github.plexpt
chatgpt
6.0.0
2添加Gradle依赖
如果项目用 Gradle 构建,则在 build.gradle 的 dependencies 中加入下面这一行即可。
implementation group: 'com.github.plexpt', name: 'chatgpt', version: '6.0.0'3初始化ChatGPT客户端
用 ChatGPT.builder() 依次传入 apiKey、proxy、apiHost,最后调用 init() 完成初始化。
Proxy proxy = Proxys.http("127.0.0.1", 1081);
// Proxy proxy = Proxys.socks5("127.0.0.1", 1080);
ChatGPT chatGPT = ChatGPT.builder()
.apiKey("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")
.proxy(proxy)
.apiHost("https://api.openai.com/")
.build()
.init();4发起最简对话
初始化完成后直接调用 chat() 传入问题字符串,返回值就是模型回答,打印即可看到结果。
String res = chatGPT.chat("写一段七言绝句诗,题目是:火锅!");
System.out.println(res);5自定义对话参数
进阶用法:用 ChatCompletion.builder() 指定 model、messages、maxTokens、temperature 后再请求。
Message system = Message.ofSystem("你现在是一个诗人,专门写七言绝句");
Message message = Message.of("写一段七言绝句诗,题目是:火锅!");
ChatCompletion chatCompletion = ChatCompletion.builder()
.model(ChatCompletion.Model.GPT_3_5_TURBO.getName())
.messages(Arrays.asList(system, message))
.maxTokens(3000)
.temperature(0.9)
.build();
ChatCompletionResponse response = chatGPT.chatCompletion(chatCompletion);
System.out.println(response.toPlainString());6实现流式输出
改用 ChatGPTStream 并传入 StreamListener,ConsoleStreamListener 会把内容逐段打印到控制台。
ChatGPTStream chatGPTStream = ChatGPTStream.builder()
.timeout(600)
.apiKey("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")
.proxy(Proxys.http("127.0.0.1", 1080))
.apiHost("https://api.openai.com/")
.build()
.init();
ConsoleStreamListener listener = new ConsoleStreamListener();
Message message = Message.of("写一段七言绝句诗,题目是:火锅!");
ChatCompletion chatCompletion = ChatCompletion.builder()
.messages(Arrays.asList(message))
.build();
chatGPTStream.streamChatCompletion(chatCompletion, listener);7运行控制台测试
没有自己的代码时可先运行仓库自带的 ConsoleChatGPT 类做验证,替换其中的 apiKey 后再启动。
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
apiKey | 是 | OpenAI 密钥,用于身份认证 | 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 |
proxy | 否 | 国内调用需要的 HTTP 或 SOCKS5 代理 | Proxys.http("127.0.0.1", 1081) |
apiHost | 否 | 接口地址,可填反向代理地址 | https://api.openai.com/ |
timeout | 否 | 请求超时时间,单位为秒 | 900 |
model | 否 | 指定使用的模型名称 | ChatCompletion.Model.GPT_3_5_TURBO.getName() |
maxTokens | 否 | 限制回复的最大 token 数 | 3000 |
运行示例代码后,控制台打印出模型返回的七言绝句内容且无异常抛出,说明 SDK 接入成功。
Q:国内调用报连接超时怎么办?
A:README 提示国内需要代理,可在 builder 中配置 .proxy(Proxys.http(...)) 或 .proxy(Proxys.socks5(...)),也可把 apiHost 换成自己的反向代理地址。
Q:如何切换成其他模型?
A:在 ChatCompletion.builder() 里设置 .model(...),README 说明支持 GPT-3.5、GPT-4.0、GPT-4o、GPT-4o-mini。
Q:怎么做打字机式的流式输出?
A:使用 ChatGPTStream 并在 streamChatCompletion 中传入 listener,控制台场景用 ConsoleStreamListener,Web 场景可用 SseStreamListener。
Q:有完整可运行的项目参考吗?
A:README 指向两个示例仓库:chatgpt-online-springboot(Spring Boot Demo)和本仓库内的 ConsoleChatGPT 测试类。
openai-java、langchain4j、spring-ai
chatgpt-java 是开发框架领域的开源项目,由 PlexPt 开发,2022 年首次发布。
在全站 12,961 个收录项目中,它的 GitHub 星标数(3,579)位列前 30%,在开发框架分类的 793 个项目里位列前 14%。
项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-18。
它主要面向的使用场景是:Java后端快速集成ChatGPT对话能力。同类可对比的替代方案包括 openai-java、langchain4j、spring-ai。
上一篇:openai-kotlin
下一篇:fractalic
ComfyUI_Custom_Nodes_AlekPet
开源
给 ComfyUI 装上语音翻译和姿态检测,工作流更全能
Custom nodes that extend the capabilities of Comfyui
langchain
开源
组装 AI 应用的乐高积木,从想法到上线不换工具
The agent engineering platform.
transformers
开源
全球最大的模型仓库全家桶,想用的模型一把抓
Transformers: the model-definition framework for state-of-the-art machine learning m···
pi
开源
一套 TypeScript 工具包,快速搭出能写代码的 AI agent
AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI