最近看到了一个很不错的开源项目ayaka14732/ChatGPTAPIFree z,该项目提供了一个简单、开放源代码的ChatGPT代理 API,本人本来比较懒不想做代理,所以一直没有尝试去跑过ChatGPT的API,但是感谢大佬提供了一个免费的无需代理的API,因此笔者也尝试简单跑了一个ChatGPT的API并做了一个简单的聊天机器人。用Python开发,直接在终端上运行,十分方便,欢迎大家体验。
中间开发的过程,当然是我负责搭建框架,然后ChatGPT负责运行了,具体过程如下所示。
现在我要开发一个基于Python的简易ChatGPT聊天机器人,你需要给出代码实现,并遵守以下规范:
- 直接在终端运行
- 调用
https://chatgpt-api.shn.hk/v1/
进行POST数据 - 使用
cushy-storage
库保存长对话数据 - request 和response格式如下
curl https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}
是的,然后我就开始和它对线了,事实上,你的框架搭建的越详细,chatgpt才会给出越详细的代码实现。
最后经过一翻对线debug对线debug之后,我花了下午的时间弄了一个简易的ChatGPT聊天机器人,还算可以用,主要是为了自己玩一玩API,以下是我开发的 ChatGPT 聊天机器人在终端上进行交互时的截图:
其实还不错的,主要的工作就是要解析一下OpenAI的API,构建一个长对话的功能,具体可以查看API Reference - OpenAI API。最终,在进行了许多次调试和迭代之后,我成功开发了一个简单的 ChatGPT 聊天机器人。虽然这只是一个玩具项目,但它为我提供了一个好的 API,让我能够更好地理解 OpenAI API 的工作原理。
如果你想体验本项目,你也可以通过fork Undertone0809/cushy-chat: 一个简易的ChatGPT聊天机器人 (github.com) 的代码来进行体验,欢迎star和pr!