chatgpt-java

Java 开发者接入 GPT-5/4o,几行代码搞定对话功能

开源 🏷️定价信息待确认 🔧 仅开源项目,无在线服务,需自行部署 对话助手 🍴 复刻 675 🐛 待处理 48 👀 关注 22
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 3570
维护状态 低维护
是否开源 开源
定价模式 🏷️定价信息待确认

项目预览

chatgpt-java 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类对话助手
开发团队PlexPt
定价模式🏷️定价信息待确认
价格说明定价信息待确认
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议GPL-3.0
主要语言Java
技术栈/模型chatgpt,chatgpt-api,chatgpt-api-wrapper,chatgpt-bot,chatgpt-sdk,chatgpt3,chatgpt4,gpt4,java
GitHub 星标★ 3570
上线时间2022-12-07 00:00:00
代码更新2025-11-29
仓库体积441 KB
本站数据更新2026-11-07
维护状态低维护
收录时间2026-08-09
浏览次数7

项目介绍

chatgpt-java 是一个非官方的 Java SDK,旨在简化 ChatGPT(GPT-4o、GPT-5)API 的集成。它解决了 Java 开发者直接调用 OpenAI 接口时面临的复杂认证、请求构建和响应解析等问题,提供了开箱即用的封装。核心能力包括:支持 GPT-4o 和 GPT-5 模型,涵盖对话补全、流式响应、函数调用等常用功能;提供简洁的 API 设计,开发者只需少量代码即可发起请求并处理结果;内置配置管理,支持自定义 API 密钥、超时和代理设置;同时兼容同步和异步调用模式,便于嵌入各类 Java 应用。该 SDK 降低了 AI 功能接入门槛,适合快速构建聊天机器人、智能助手等应用。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3570

使用教程

难度:入门 约 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。

    <dependency>
        <groupId>com.github.plexpt</groupId>
        <artifactId>chatgpt</artifactId>
        <version>6.0.0</version>
    </dependency>
  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 后再启动。

关键配置

配置项必填说明示例
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 测试类。

注意事项

  • 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

上一篇:openai-kotlin

下一篇:fractalic

同类项目推荐

aikit 开源

不绑 SDK 的 AI 聊天 UI 库,换模型前端不用重写

A comprehensive, SDK-agnostic UI library built on Atomic Design principles. Create b···

★ 171 2026-10-08
skillware 开源

像管理软件包一样管理 AI 技能,让智能体能力随需组合。

A Python framework for modular, self-contained skill management for machines.

★ 178 2026-08-09
meta-prompting 开源

让AI学会拆解任务,调度专家模型,搞定复杂推理

Official implementation of Meta Prompting for AI Systems (https://arxiv.org/abs/2311···

★ 331 2026-08-09
alf 开源

统一框架搭建智能体学习训练管线

Agent Learning Framework https://alf.readthedocs.io

★ 367 2026-10-27
scratchpad 开源

把模糊想法一步步拆成清晰行动路径

This framework works as a form of user/machine calibration, with a focus on user-con···

★ 197 2026-08-09
OgbujiPT 开源

一套代码接入各种大模型,自托管也能轻松搞定

Client-side toolkit for using large language models, including where self-hosted

★ 115 2026-08-09
adk-docs 开源

写代码定义 AI Agent,评估部署一条龙

An open-source, code-first toolkit for building, evaluating, and deploying sophistic···

★ 1533 2026-09-22
OpenAgentsControl 开源

先审计划再执行,AI 写码不失控

AI agent framework for plan-first development workflows with approval-based executio···

★ 4967 2026-09-13
context-engineering 开源

把 AI 上下文当工程做,输出更稳更准更可控

Context Engineering: Build Consistent, Accurate, Predictable AI Systems

★ 185 2026-08-09