Springboot集成OpenAi chatgpt3.5官方开源项目opanAI-Java

前言

本文主要介绍Springboot集成openai-java完成openai官方接口的调用,官方有多种语言的demo示例

OPENAI开源openai-java项目地址:https://github.com/TheoKanning/openai-java

准备工作

必要的前提,要使用chatgpt必须要魔法

  • 魔法
  • openai帐号(需要apiKey)
  • springboot+maven的项目

开始

1、maven中引入openai-java

目前用的版本是0.12.0

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

2、配置

测试我把配置信息放在了yml中

openai:proxyHost: 127.0.0.1proxyPort: 7890keys:- sk-xxxxxxxxxxxxxxxxxxxxxxxx

配置类

@Configuration
@ConfigurationProperties(prefix = "openai")
public class OpenAiModel {/*** 代理地址*/private static String proxyHost;/*** 代理端口*/private static Integer proxyPort;/*** openai apikey*/private static List<String> keys;// 省略 get set	
}

3、使用

调用api的核心类是OpenAiService,不清楚是不是魔法的问题,我直接调用会ping不通,请求超时,必须设置代理。

/*** openAiService 工厂* @author WuHao* @since 2023/5/24 10:00*/
public class AiServiceFactory {private static final Duration DEFAULT_TIMEOUT = Duration.ofSeconds(10L);public static OpenAiService createService() {String token = Optional.ofNullable(OpenAiModel.getKeys()).orElseThrow(() -> new RuntimeException("ApiKey不能为空,请检查参数配置")).stream().findFirst().orElse(null);Assert.notEmpty(token,() -> new RuntimeException("ApiKey不能为空,请检查参数配置"));ObjectMapper mapper = OpenAiService.defaultObjectMapper();// 设置代理Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(OpenAiModel.getProxyHost(), OpenAiModel.getProxyPort()));OkHttpClient client = OpenAiService.defaultClient(token, DEFAULT_TIMEOUT).newBuilder().proxy(proxy).build();Retrofit retrofit = OpenAiService.defaultRetrofit(client, mapper);return new OpenAiService(retrofit.create(OpenAiApi.class), client.dispatcher().executorService());}}

测试类

@GetMapping("/testChat")public String testChat() throws UnsupportedEncodingException {OpenAiService service = AiServiceFactory.createService();final List<ChatMessage> messages = new ArrayList<>();final ChatMessage systemMessage = new ChatMessage(ChatMessageRole.SYSTEM.value(), URLDecoder.decode("取一个3个字的中文名字,要求姓氏为吴", "UTF-8"));messages.add(systemMessage);ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest.builder().model("gpt-3.5-turbo").messages(messages).n(1).maxTokens(50).logitBias(new HashMap<>()).build();service.streamChatCompletion(chatCompletionRequest).doOnError(Throwable::printStackTrace).blockingForEach(System.err::println);service.shutdownExecutor();return null;	

输出结果

图片.png

流式输出的api可以与sse推送消息,后来写了一个测试页面,实现了打字机的效果,页面十分潦草,将就着看看…………

图片.png

接口的其他使用方式可下载openai-java源码自行理解,目前我也在学习当中

关于代理

上述配置中代理指的是魔法的代理地址,先开启魔法

1、网络 -》 右键 属性

图片.png

2、找到Internet选项

图片.png

3、连接 -》 局域网设置

地址 对应的配置 proxyHost
端口 对应的配置 proxyPort

图片.png

demo源码地址

gitee
github

ps

没事可以来我的破站逛逛~~欢迎大家

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

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

相关文章

ChatGPT 学习 ES lucene 底层写入原理,源码

一直有个疑问“学习最新版lucene 数据写入相关的源码&#xff0c;应该看哪些源码&#xff0c;以什么顺序看&#xff08;先看什么&#xff0c;后看什么&#xff09;&#xff1f;” 对于Lucene的数据写入过程&#xff0c;可以分为以下几个阶段 在学习Lucene的数据写入相关的源码…

ChatGPT 深度解读人工智能大模型在产业中的趋势

最早人工智能的模型是从 2012 年&#xff08;AlexNet&#xff09;问世&#xff0c;模型的深度和广度一直在逐级扩升&#xff0c;龙蜥社区理事单位浪潮信息于 2021 年 9 月也发布了大规模预训练模型——源 1.0。日前&#xff0c;浪潮信息 AI 算法研究员李峰带大家了解大模型发展…

数据看板--日报、周报、月报

一、数据预览 二、效果图预览 三、新增字段 1、周数 WEEKNUM(B2,2)2、月份 MONTH(B2)备注&#xff1a;B2为日期列 四、看板制作过程 1、控件 控件范围从1到364&#xff0c;用于控制每天的日期 2、通过控件确定当前日期 当天日期基准数字表单控件当前值 星期几TEXT(当天…

研报精选230209

目录 【行业230209财通证券】中国版IFRS17准则深度解析&#xff1a;25号保险合同准则实施在即&#xff0c;构建保险财务分析新逻辑 【行业230209英大证券】电力能源行业周报&#xff1a;比亚迪1月销量依旧亮眼&#xff0c;充换电设施有望纳入市政设施范畴 【行业230209华西证券…

职场上除了「躺」与「卷」,是否有第三种选择存在?

大家好&#xff0c;我是校长。 昨天在知乎上看到一个问题&#xff1a;职场上除了「躺」与「卷」&#xff0c;是否有第三种选择存在&#xff1f; 当我看到这个问题的时候&#xff0c;我想到了两本书&#xff0c;以及我看到的一些最新的观点&#xff0c;我试图结合我看到的书以及…

改名了!

阅读本文大概需要 1.27 分钟。 先说下&#xff0c;我们的 AI 星球已经从「ChatGPT&AI赋能商业」改名为「AIGC 赋能商业」。 改名这件事&#xff0c;从一开始创建的时候就想改了。原先名字里带有 GPT 相关字眼的&#xff0c;我得承认&#xff0c;当时我们这名字起的时候&…

三分钟免费将 Claude API 接入个人服务

首先我们介绍一下今天的主角 Claude Claude 是最近新开放的一款 AI 聊天机器人&#xff0c;是世界上最大的语言模型之一&#xff0c;比之前的一些模型如 GPT-3 要强大得多&#xff0c;因此 Claude 被认为是 ChatGPT 最有力的竞争对手。Claude 的研发公司是专注人工智能安全和研…

一个非常是个程序员表白的浪漫网站(嫦娥奔月)

❤ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套) 】 &#x1…

程序员的 100款代码表白特效,一个比一个浪漫

❤ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套) 】 &#x1…

程序员表白代码

说到深情的表白&#xff0c;大家在脑海里浮现的是什么&#xff1f; 是莎士比亚追求爱情时的思索&#xff1a; 是爱你&#xff0c;还是更爱你&#xff0c;这是一个值得思考的问题。 还是爱因斯坦相对论之外的浪漫&#xff1a; 万物都是相对的&#xff0c;而我对你的心&#…

程序员-这有一份520表白秘笈送给你

转眼又到了520表白节了&#xff0c;咱们程序员应该如何表白呢&#xff0c;接下来笔者就以亲自动笔给你们一份独家的表白秘笈。 一、比心 这个我之前介绍过母亲节的祝福方式https://blog.csdn.net/BEYONDMA/article/details/90137479&#xff0c;就是利用python的print函数去输…

最浪漫的程序员表白代码打动美人心

多少次的转身&#xff0c;曾经没有提起的勇气&#xff0c;在这一刻向你爱的她倾诉了。 和她的第一次相遇是在一次下班后的回家路上。那时&#xff0c;天正好在下雨&#xff0c;我在路旁的小店的屋檐躲着雨。她拿着雨伞&#xff0c;从我身旁撑着雨伞接着她的闺蜜路过。也行是天注…

程序员表白代码大全,快来向你的ta表白吧~~~

❤ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套) 】 &#x1…

PiaolinPlatformV2.1.0 - 给你爱的人一个惊喜吧~(表白模块上线)

前言 飘零定位平台于 2019/02/07 正式上线第一代&#xff08;地址&#xff1a;https://blog.csdn.net/piaolin_ying/article/details/86772610&#xff09;&#xff0c;上线后反响良好&#xff0c;每日都有新增用户&#xff0c;但由当时技术水平限制&#xff0c;后续运营难以接…

HTML实现表白biu爱心特效 (程序员专属情人节表白网站)

❤ 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f482; 作者主页: 【进入主页—&#x1f680;获取更多源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;HTML5网页期末作业 (1000套) 】 &#x1…

“听说,哈佛 最火课程 CS50 的新老师,是一位……AI 聊天机器人?!”

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 去年年底 ChatGPT 毫无征兆地出现&#xff0c;给各行各业都带来了不同程度的冲击&#xff0c;由此掀起的 AIGC 热潮更是改变了许多领域的游戏规则。 但与此同时&#xff0c;诸多大厂和学校也对 ChatG…

武大版 ChatGPT 大模型 CheeseChat 问世:提供日常咨询、学业帮助

ChatGPT在短期内迅速爆红&#xff0c;可以提供课程教学大纲、做作业、编程序、写论文等&#xff0c;深刻影响教育界&#xff0c;引发不少高校纷纷禁用之。 而今天&#xff0c;武汉大学宣布武大版ChatGPT大模型开启内测招募&#xff0c;内测账号仅限武汉大学在校师生&#xff0…

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 链式提示

ChatGPT 使用 拓展资料:吴恩达大咖 Building Systems with the ChatGPT API 链式提示 在本视频中,我们将学习如何通过将多个提示链接在一起,将复杂的任务拆分为一系列更简单的子任务。你可能会想,为什么要将一个任务拆分为多个提示,而你可以像我们在上一个视频中学到的那样…