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

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

# 复制代码
https://www.51cto.com/article/786796.html

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

a 复制代码
https://github.com/chatanywhere/GPT_API_free?tab=readme-ov-file

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

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

a 复制代码
https://chatanywhere.apifox.cn/doc-2664688

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

请求报文:

a 复制代码
 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
 }'

响应报文:

a 复制代码
 {
    "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条,最好别多发,小心被封。

相关推荐
白帽攻防录4 小时前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全
聚美智数5 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
十年Java程序媛5 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
我是人✓5 小时前
SpringBoot静态资源映射揭秘
java·spring boot·后端
2603_965148115 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
土豆.exe5 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
xixiaoyunya6 小时前
Python 异步编程入门:用 asyncio 轻松实现并发任务
开发语言·python·php
学逆向的6 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
小坏讲微服务7 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4
kunicoding7 小时前
多线程编程核心概念详解:从线程基础到并发安全
java·jvm·安全