chatgpt-java

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 功能接入门槛,适合快速构建聊天机器人、智能助手等应用。

开源 unknown 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3579
维护状态 低维护
是否开源
定价模式 unknown

项目数据

分类对话助手
开发团队PlexPt
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源
开源协议GPL-3.0
主要语言Java
技术栈/模型chatgpt,chatgpt-api,chatgpt-api-wrapper,chatgpt-bot,chatgpt-sdk,chatgpt3,chatgpt4,gpt4,java
GitHub 星标★ 3579
30天Star增速
HF 下载量
上线时间2022-12-07 00:00:00
最近更新2026-09-23 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数6

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • Java 项目,使用 Maven 或 Gradle 构建
  • 已获取 OpenAI API Key(sk- 开头)
  • 国内网络调用需准备 HTTP 或 SOCKS5 代理
  • 需要可用的 反向代理地址(可选,国内常用)

安装与启动步骤

  1. 1添加Maven依赖

    在项目 pom.xml 的 dependencies 节点中加入该依赖,groupId 为 com.github.plexpt,README 示例版本为 6.0.0。

    
        com.github.plexpt
        chatgpt
        6.0.0
    
  2. 2添加Gradle依赖

    如果项目用 Gradle 构建,则在 build.gradle 的 dependencies 中加入下面这一行即可。

    implementation group: 'com.github.plexpt', name: 'chatgpt', version: '6.0.0'
  3. 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. 4发起最简对话

    初始化完成后直接调用 chat() 传入问题字符串,返回值就是模型回答,打印即可看到结果。

    String res = chatGPT.chat("写一段七言绝句诗,题目是:火锅!");
    System.out.println(res);
  5. 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. 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. 7运行控制台测试

    没有自己的代码时可先运行仓库自带的 ConsoleChatGPT 类做验证,替换其中的 apiKey 后再启动。

关键配置

配置项必填说明示例
apiKeyOpenAI 密钥,用于身份认证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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 测试类。

注意事项

  • README 示例中的 apiKey 是公开样例,务必替换为自己的真实密钥,避免泄露。
  • 依赖版本 6.0.0 为 README 示例版本,实际使用前建议在 Maven Central 确认最新版本号。
  • 国内网络环境必须配置代理或反向代理,否则请求可能失败。
  • SseStreamListener 可配合 Spring 的 SseEmitter 使用,适合网页端流式对话场景。

核心亮点

  • 开箱即用,封装了认证和请求细节,上手快
  • 支持 GPT-4o 和 GPT-5,紧跟模型迭代
  • 提供流式响应和函数调用,适合构建复杂交互

不足之处

  • 非官方 SDK,API 可能随 OpenAI 变动而需跟进
  • 文档/社区待观察

适用场景

  • Java 后端快速集成 ChatGPT 对话能力
  • 构建企业级智能客服或知识库问答机器人
  • 在 Spring Boot 等框架中实现 AI 助手功能

替代项目

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

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12