Java SpringBoot实现调用OpenAI ChatGPT的相关接口(详细教程)

news/2024/4/29 10:34:55/文章来源:https://blog.csdn.net/A_yonga/article/details/129398716

大纲

说明

Java调用OpenAI接口,Java调用实现ChatGPT聊天,OpenAIAPI是一个自己封装的OpenAI GPT-3聊天API的Java工具类,可用于通过Java代码调用GPT-3模型进行自然语言交互,实现智能聊天等功能。
通过调用GPT-3模型,输入一段文本,返回机器人对话回复的文本。
附项目代码:在本文最后面

OpenAI3.5模型版本使用

工具类

使用了Lombok以及hutool依赖

以下是自己封装的工具类,只需写一下自己的api就可以使用了哦


import cn.hutool.core.convert.ConvertException;
import cn.hutool.http.HttpException;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.experimental.UtilityClass;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** @author Astar* ClassName:OpenAIAPI.java* date:2023-03-03 16:49* Description:*/
@UtilityClass
public class OpenAIAPI {/*** 聊天端点*/String chatEndpoint = "https://api.openai.com/v1/chat/completions";/*** api密匙*/String apiKey = "Bearer 你自己的key";/*** 发送消息** @param txt 内容* @return {@link String}*/public String chat(String txt) {Map<String, Object> paramMap = new HashMap<>();paramMap.put("model", "gpt-3.5-turbo");List<Map<String, String>> dataList = new ArrayList<>();dataList.add(new HashMap<String, String>(){{put("role", "user");put("content", txt);}});paramMap.put("messages", dataList);JSONObject message = null;try {String body = HttpRequest.post(chatEndpoint).header("Authorization", apiKey).header("Content-Type", "application/json").body(JsonUtils.toJson(paramMap)).execute().body();JSONObject jsonObject = JSONUtil.parseObj(body);JSONArray choices = jsonObject.getJSONArray("choices");JSONObject result = choices.get(0, JSONObject.class, Boolean.TRUE);message = result.getJSONObject("message");} catch (HttpException e) {return "出现了异常";} catch (ConvertException e) {return "出现了异常";}return message.getStr("content");}public static void main(String[] args) {System.out.println(chat("Hello,一个小浪吴啊"));}
}

参数说明:
txt:要发送的文本内容。
返回值:机器人的回复文本。

测试

注意事项

  1. 在使用OpenAIAPI之前,需要先在OpenAI官网注册账号,并获取API密钥。
  2. 在使用chat方法之前,需要先修改OpenAIAPI中的chatEndpoint和apiKey变量,分别指定API的URL和密钥。
  3. 在使用chat方法之前,需要先确定使用的GPT-3模型和参数。
  4. 在使用chat方法时,需要注意文本内容的长度和格式,以及网络连接的稳定性和速度。

代码说明

这段代码是一个 Java 工具类,用于访问 OpenAI 的 API 接口来进行聊天。下面是一些重要的技术说明:

  1. 使用了 Java 的 Lombok 工具类,来提供 @UtilityClass 注解,使该类成为一个不可实例化的工具类。
  2. 定义了两个 String 类型的常量 chatEndpoint 和 apiKey,分别代表 OpenAI 的聊天 API 端点和 API 密钥。
  3. 定义了一个 chat 方法,用于发送聊天消息到 OpenAI 的 API 接口,输入参数为 txt,代表聊天内容。
  4. 使用了第三方 Java 工具类 Hutool 来进行 HTTP 请求和 JSON 数据解析。其中,HttpRequest.post() 方法用于发送 POST 请求,JsonUtils.toJson() 方法用于将参数 paramMap 转换为 JSON 格式的字符串,JSONUtil.parseObj() 方法用于将接口返回的 JSON 字符串解析为 JSONObject 对象。
  5. 在发送请求时,将请求参数封装为一个 Map 对象,其中 model 属性代表使用的 GPT 模型,messages 属性为一个 List 对象,其中包含一个 HashMap 对象,代表用户的聊天消息。
  6. 在发送请求后,从接口返回的 JSON 数据中获取到聊天机器人返回的消息,然后将消息的 content 属性作为方法的返回值。
  7. 在异常处理中,使用了 Hutool 提供的 HttpException 和 ConvertException 异常类来处理异常情况。

总体来说,这段代码使用了 Java 的 Hutool 工具类来发送 HTTP 请求和解析 JSON 数据,从而实现了通过 OpenAI API 进行聊天的功能。

后文

项目地址:https://gitee.com/wy521a/astar-weixin-mp

集成公众号使用:https://gitee.com/wy521a/astar-weixin-mp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_119.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT是如何一本正经地胡说八道的?

阅读本文大约需要5分钟 大家好&#xff0c;我是恩哥。 最近几天&#xff0c;刷屏朋友圈的只有两件事&#xff1a;ChatGPT横空出世&#xff0c;以及如何买药预防新冠。 恩哥第一时间体验了几天ChatGPT&#xff0c;总结下来就一句话&#xff1a;这个AI的聊天能力已经足以在很多…

全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门解析非结构化数据应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

从0到1快速入门解析非结构化数据应用场景Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人&#xff0c;它能够理解图片和文字…

《ChatGPT百科全书》你对ChatGPT的问题都可以在这里找到答案

我花了一周时间整理了份《ChatGPT百科全书》&#xff0c;里面涵盖了账号、ChatGPT小白科普、Prompt学习由浅入深、ChatGPT花式玩法、AI工具库、利用ChatGPT变现的90种方法以及最新研报等&#xff1b; 传送门&#xff1a;Docshttps://xum666e6ro.feishu.cn/docx/Sk11dgxhtoQFKd…

ChatGPT 菜鸟教程,赶快收藏~

这是个什么样教程 &#xff1f; 这是一个收集整理 chatGPT 相关周边产品的使用教程&#xff0c;包括注册教程、入门教程、高阶玩法教程等。 为什么出这样一个教程 &#xff1f; 现在 chatGPT 相关周边产品很丰富&#xff0c;虽然这些 AI 工具网上都有一大把教程&#xff0c;…

利用ChatGPT高效撰写论文???

大家好&#xff0c;我是研路科研人。今天我来和大家分享如何使用ChatGPT高效撰写学术论文。我想分享这篇文章的原因是因为前几天&#xff0c;我刚刚利用ChatGPT成功完成了我的硕士论文&#xff0c;这给我带来了很大的帮助和启示。我目前指导的大四、研三和博士毕业班的学生们也…

myChat - 第三方ChatGPT原生客户端,支持win和mac系统

前言 可能你没体验过 ChatGPT&#xff0c;但肯定听说过。苦于高高的围墙&#xff0c;无法便捷的使用 ChatGPT。那你就不能错过 myChat &#xff0c;一款第三方 ChatGPT 原生客户端。基于 OpenAI 提供的 ChatGPT 同款模型 GPT-3.5&#xff0c;可达到与 ChatGPT 类似的效果&…

ChatGPT使用实测:是不是真的像吹的那样神乎其神?

ChatGPT越来越火&#xff0c;网上早已经把它吹爆。那么今天我们就一起来验证一下&#xff0c;ChatGPT的能力到底如何。作为一名IT从业者&#xff0c;第一件事就是测试它的编程能力到底如何&#xff0c;是否真的在未来会砸掉程序猿们的饭碗&#xff01; 一、测试ChatGPT的编程能…

使用ChatGpt做考试卷: 助力拿高分的利器

ChatGPT做高考试卷前言开干选择题总结前言 在这篇博客中&#xff0c;我想向大家介绍一个叫做ChatGpt的工具&#xff0c;它能帮助我们在做考试卷时更加轻松。在学习和备考的过程中&#xff0c;我们经常会因为知识储备不足或者时间不足而感到困难。ChatGpt可以帮助我们快速提取知…

半小时用ChatGPT构建你的虚拟形象

大家好&#xff0c;欢迎来到我的频道&#xff0c;今天我来教大家如何用ChatGPT创建一个虚拟形象&#xff0c;如下图和视频所示。 视频地址&#xff1a;https://www.bilibili.com/video/BV1nD4y1u7Ti/?vd_source8b5cb1818bd1c0e0ac8b604d1a720e2d 生成图片 首先&#xff0c;我…

用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?

以下是我向GPT提问后的结果&#xff1a; 能提供一个森林生物量估算的GEE脚本吗&#xff1f; 我可以提供一个基本的森林生物量估算脚本&#xff0c;请使用Google Earth Engine (GEE) 平台。 这是一个简单的森林生物量估算脚本&#xff0c;请根据自己的需求进行修改。如果有其他…

微信小程序_把chatgpt聊天数据复制到剪切板

文章目录⭐ 前言⭐ 开始网格背景样式配置对话框样式配置复制到剪切板⭐ 结束⭐ 前言 大家好&#xff0c;我是yma16&#xff0c;不止前端&#xff0c;本文将介绍微信小程序中 chatgpt聊天页面设计和复制聊天数据。 往期微信小程序文章 小程序自定义微信昵称和头像 小程序制作ma…

【关于ChatGPT的30个问题】26、ChatGPT的开发团队是谁?/ By 禅与计算机程序设计艺术

26、ChatGPT的开发团队是谁? 目录 26、ChatGPT的开发团队是谁? ChatGPT的开发团队 1. 简介 2. 团队成员

ChatGPT+剪映·副业赚钱技巧实战教程·《制作阿凡达解说视频》- 第4篇

历史文章&#xff08;文章累计450&#xff09; 我也来玩一玩OpenAI ChatGPT&#xff0c;人工智能时代终究会来临 - 第459篇 SpringBoot使用ChatGPT Api开发一个聊天机器人 - 第460篇 66个ChatGPT副业赚钱技巧 - 第3篇 悟纤&#xff1a;师傅&#xff0c;你分享了66个赚钱之道…

【软件工具】Pycharm社区版安装ChatGPT!

文章目录0.前言1. 简介2. 安装2.1 Pycharm下载安装2.2 ChatGPT安装2.3 一些问答3 一些问题结束语0.前言 不需要科学上网也能用ChatGPT啦&#xff01;&#xff01;&#xff01; 1. 简介 ChatGPT是一种语言模型&#xff0c;它由OpenAI训练&#xff0c; 可以用于多种任务&#…

开源模型:小羊驼(Vicuna-13B),可达chatGPT九成效果。

参考链接&#xff1a;https://mp.weixin.qq.com/s/OK5NLLVSBLb-4QsnqGp45g 文章目录简要介绍模型介绍数据来源模型评估方法模型局限性模型总体评价简要介绍 以 Meta 开源 LLaMA&#xff08;直译为「大羊驼」&#xff09;系列模型为起点&#xff0c;研究人员逐渐研发出基于LLaM…

ChatGPT账号被封号了?不要急,这里有方法~

账号被封 上周关于ChatGPT最劲爆的新闻莫过于意大利那边传出“封杀”ChatGPT。紧接着4月2日&#xff0c;当国人还在周末休假的时候&#xff0c;openai又传出停止注册&#xff0c;并且开始大面积封号&#xff0c;并且禁止亚洲账号登录。 ChatGPT突然的封控行动&#xff0c;业内人…

IntelliJ IDEA 的chatGPT插件 Bito -ChatGPT to write code, explain code,create tests

1、chatGPT爆火 最近你是否听说过“ChatGPT”这个词&#xff1f;它指的是一种基于深度学习技术的人工智能语言生成模型。自从2018年由OpenAI发布以来&#xff0c;ChatGPT就备受关注&#xff0c;甚至在2022年成为了全球最强AI模型之一。 2、chatGPT介绍 ChatGPT&#xff08;G…

最新加装ChatGPT的New Bing申请流程(含出错解决办法)

两天获得New Bing测试资格流程记录前言一、Microsoft Edge Dev浏览器下载二、Microsoft账号注册与登陆三、浏览器插件下载与添加四、加入候补名单五、写封信给Bing团队前言 2023.03.08&#xff0c;下午收到了Microsoft Bing公司的邮件&#xff0c;提示测试资格申请成功&#x…

微软工程师带你解密大模型 ChatGPT

ChatGPT 是如何做到打破聊天机器人“人工智障”的刻板印象?在众多实测体验中&#xff0c;它已具备轻松通过图灵测试的能力&#xff08;即让人误以为是与真人对话&#xff09;&#xff0c;且其回答的详实程度、说服力与连续逻辑推理能力远超当前主流会话机器人。传统认知里&…

推荐国内免费使用chatGPT的工具

接下来推荐几个免费且集成chatGPT的软件吧 一、Cursor Cursor &#xff08;https://www.cursor.so/&#xff09;是 GPT-4 驱动的一款强大代码编辑器&#xff0c;可以辅助程序员进行日常的编码&#xff0c;简直是程序员的福音。 直接选择自己电脑合适的版本&#xff0c;博主这…