Project Icon

openai-java

实现对OpenAI GPT API的操作和构建的开源Java库

OpenAI-Java是一套开源Java库,为开发人员提供了方便的途径来使用OpenAI的GPT-3、ChatGPT及GPT-4等API功能。项目包括API模块、客户端模块及服务模块,多样的示例项目助力快速部署使用。支持自定义功能开发与多API直接调用,适合应用于聊天机器人、自动化文本处理等多种场景。虽项目已停止维护,但代码库继续对外开放,供公众修改及应用。

OpenAI-Java 项目介绍

OpenAI-Java 是一个为 Java 开发者设计的库,旨在通过支持 GPT-3、ChatGPT 和 GPT-4 来简化与 OpenAI API 的交互。该项目通过提供简单易用的工具,为开发者利用 OpenAI 的强大语言模型提供了便捷的解决方案。本文将详细介绍该项目的主要功能和使用方法。

项目状态

需要注意的是,OpenAI-Java 项目已经停止维护并于 2024 年 6 月 6 号被归档。虽然库的当前版本仍可使用,但将不再有更新或支持。用户可以根据需要对代码进行修改和扩展。此外,由于 OpenAI 已停止对基于引擎的 API 提供支持,用户需采用基于模型的 API。

功能模块

OpenAI-Java 项目提供以下主要功能模块:

  • api:为 GPT API 提供请求和响应的 POJO(Plain Old Java Object)。
  • client:基于 Retrofit 的基本客户端,用于调用 GPT 端点,并包含 api 模块。
  • service:提供简单的服务类,以便于快速上手。是最简单的使用方式。
  • 示例项目:包含一个使用服务模块的示例项目。

支持的 API

该项目支持多种 API,包括:

  • 模型(Models)
  • 完成(Completions)
  • 聊天完成(Chat Completions)
  • 编辑(Edits)
  • 嵌入(Embeddings)
  • 音频(Audio)
  • 文件(Files)
  • 微调(Fine-tuning)
  • 图像(Images)
  • 审核(Moderations)
  • 助手(Assistants)

如何导入

项目可以通过 Gradle 和 Maven 导入:

Gradle

implementation 'com.theokanning.openai-gpt3-java:<api|client|service>:<version>'

Maven

<dependency>
    <groupId>com.theokanning.openai-gpt3-java</groupId>
    <artifactId>{api|client|service}</artifactId>
    <version>version</version>       
</dependency>

使用方法

  • 数据类:用户可以通过 api 模块导入 POJO 类来创建自定义客户端。确保使用蛇形命名法来与 OpenAI API 兼容。

  • Retrofit 客户端:使用 client 模块时,需添加鉴权令牌,同时设置转换器工厂只包含非空字段。

OpenAiService service = new OpenAiService("your_token");
CompletionRequest completionRequest = CompletionRequest.builder()
        .prompt("Somebody once told me the world is gonna roll me")
        .model("babbage-002"")
        .echo(true)
        .build();
service.createCompletion(completionRequest).getChoices().forEach(System.out::println);
  • 自定义服务:用户可以通过创建自己的 Retrofit 客户端来自定义服务,包括添加请求日志、使用代理等功能。

函数与执行器

开发者可以使用 ChatFunction 类定义自定义函数,以及使用 FunctionExecutor 类执行这些函数。例如:

ChatFunction.builder()
        .name("get_weather")
        .description("Get the current weather of a location")
        .executor(Weather.class, w -> new WeatherResponse(w.location, w.unit, new Random().nextInt(50), "sunny"))
        .build();

运行示例项目

用户可运行示例项目来测试库的功能。只需设置 OpenAI API 令牌并使用 Gradle 工具进行运行:

export OPENAI_TOKEN="sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
./gradlew runExampleOne

常见问题解答

  • 是否支持 GPT-4?是的,库已经支持 GPT-4。
  • 如何处理连接超时?请确保所在国家可以访问 OpenAI 服务。
  • 为什么 OpenAiService 不支持某些配置选项?用户可以使用 OpenAiApi 实例自定义配置。

结束语

尽管 OpenAI-Java 项目已不再维护,但其现有功能仍然为使用 OpenAI 技术提供了良好的起点。用户可以根据需要对其进行修改,以适应特定的项目需求。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号