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条
,最好别多发,小心被封。