Java连接chatGPT步骤(免费key获取方法)

news/2024/12/19 23:38:29/

1.首先,找到了这个网站,介绍了五个免费使用ChatGPT API的开源项目

https://www.51cto.com/article/786796.html

2.然后本人选择使用GPT-API-free,如果选择gpt-3.5-turbo模型的话,每天可以请求100条;可以了,毕竟想找免费版的。

https://github.com/chatanywhere/GPT_API_free?tab=readme-ov-file

3.需要登录自己的github账号,访问这个项目地址,然后点击链接,获取一个免费的API key。在这里插入图片描述

4.然后可以看chatanywhere的API官网:

https://chatanywhere.apifox.cn/doc-2664688

其实也就是用java,发送个http请求,入参出参这些,发送问题、收到回答,就行了。报文样例如下:

请求报文:

curl https://api.chatanywhere.tech/v1/chat/completions \-H 'Content-Type: application/json' \-H 'Authorization: Bearer YOUR_API_KEY' \-d '{"model": "gpt-3.5-turbo","messages": [{"role": "user", "content": "Say this is a test!"}],"temperature": 0.7}'

响应报文:

{"id":"chatcmpl-abc123","object":"chat.completion","created":1677858242,"model":"gpt-3.5-turbo-0301","usage":{"prompt_tokens":13,"completion_tokens":7,"total_tokens":20},"choices":[{"message":{"role":"assistant","content":"\n\nThis is a test!"},"finish_reason":"stop","index":0}]}

5.总结一下请求报文,请求url是https://api.chatanywhere.tech/v1/chat/completions;如果服务器在国外,就用https://api.chatanywhere.org/v1/chat/completions

请求头有个Content-Type: application/json,还有个的key是Authorization,value是Bearer YOUR_API_KEY(第三步中获得的key,注意Bearer后面有空格);

请求体就把message数组里的content换成你要问的问题即可;temperature的意思是发散度,0比较准确,相同的问题得到同样的回答;2就会发散,相同的问题可以得到不同的回答;自己根据需要选。
(user是有规定的,支持的类型:‘system’, ‘assistant’, ‘user’, ‘function’, and ‘tool’,一般就写user就行)

6.总结一下响应报文,其实只需要把message里的content拿出来就行,就是问题的答案。

7.注意免费版key,一天就是100条,最好别多发,小心被封。


http://www.ppmy.cn/news/1556504.html

相关文章

基于python对网页进行爬虫简单教程

python对网页进行爬虫 基于BeautifulSoup的爬虫—源码 """ 基于BeautifulSoup的爬虫### 一、BeautifulSoup简介1. Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要…

AI监控赋能健身馆与游泳馆全方位守护,提升安全效率

一、AI视频监控技术的崛起 随着人工智能技术的不断发展,AI视频监控正成为各行业保障安全、提升效率的关键工具。相比传统监控系统,AI技术赋予监控系统实时分析、智能识别和精准预警的能力,让“被动监视”转变为“主动防控”。 二、AI监控应用…

《Hive 存储格式详解》

一、引言 在大数据处理中,Hive 是一个广泛使用的数据仓库工具,它提供了一种类似于 SQL 的查询语言,使得用户可以方便地对大规模数据集进行分析和处理。Hive 的存储格式对于数据的存储效率、查询性能和数据压缩等方面都有着重要的影响。本文将…

MyBatis常见面试题总结

#{} 和 ${} 的区别是什么? 注:这道题是面试官面试我同事的。 答: ${}是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于原样文本替换,可以替换任意内容,比如${driver}…

lvs介绍与应用

LVS介绍 LVS(Linux Virtual Server)是一种基于Linux操作系统的虚拟服务器技术,主要用于实现负载均衡和高可用性。它通过将客户端请求分发到多台后端服务器上,从而提高整体服务的处理能力和可靠性。lvs是基于集群的方式实现 集群…

Linux系统安装node.js

一、node官网下载想要的node版本 https://nodejs.org/en/download/package-manager 二、将tar.xz文件解压 tar -xvf node-vxxx.tar.xz 三、改文件夹的名字,改成nodejs mv node-xxx nodejs 四、复制nodejs文件,并上传到linux 服务器 /usr/local 目录下…

采用qL-MPC技术进行小型固定翼无人机的路径跟随控制

来自论文"Predictive Path-Following Control for Fixed-Wing UAVs Using the qLMPC Framework in the Presence of Wind Disturbances" 控制架构 采用的是 ULTRA-Extra无人机,相关参数如下: 这里用于guidance law的无人机运动学模型为&#…

三、传输层,《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》

文章目录 一、概述和传输层服务1.1 传输服务和协议1.2 传输层 vs 网络层1.3 Internet 传输层协议 二、多路复用与解复用2.1 多路复用2.2 多路复用解复用工作原理2.3 无连接(UDP)多路解复用2.3.1 无连接多路解复用例子 2.4 面向连接(TCP&#…