如何让 ChatGPT 帮我写一个 ChatGPT
最近看到了一个很不错的开源项目 ayaka14732/ChatGPTAPIFree z,该项目提供了一个简单、开放源代码的 ChatGPT 代理 API,本人本来比较懒不想做代理,所以一直没有尝试去跑过 ChatGPT 的 API,但是感谢大佬提供了一个免费的无需代理的 API,因此笔者也尝试简单跑了一个 ChatGPT 的 API 并做了一个简单的聊天机器人。用 Python 开发,直接在终端上运行,十分方便,欢迎大家体验。
项目地址: Undertone0809/cushy-chat: 一个简易的 ChatGPT 聊天机器人 (github.com)
中间开发的过程,当然是我负责搭建框架,然后 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 } }
<img src="https://zeeland-bucket.oss-cn-beijing.aliyuncs.com/images/20230318214216.png"/> <img src="https://zeeland-bucket.oss-cn-beijing.aliyuncs.com/images/20230318214242.png"/>
是的,然后我就开始和它对线了,事实上,你的框架搭建的越详细,chatgpt 才会给出越详细的代码实现。
<img src="https://zeeland-bucket.oss-cn-beijing.aliyuncs.com/images/20230318212852.png"/>
最后经过一翻对线 debug 对线 debug 之后,我花了下午的时间弄了一个简易的 ChatGPT 聊天机器人,还算可以用,主要是为了自己玩一玩 API,以下是我开发的 ChatGPT 聊天机器人在终端上进行交互时的截图:
<img src="https://zeeland-bucket.oss-cn-beijing.aliyuncs.com/images/20230318214621.png"/>
其实还不错的,主要的工作就是要解析一下 OpenAI 的 API,构建一个长对话的功能,具体可以查看 API Reference - OpenAI API。最终,在进行了许多次调试和迭代之后,我成功开发了一个简单的 ChatGPT 聊天机器人。虽然这只是一个玩具项目,但它为我提供了一个好的 API,让我能够更好地理解 OpenAI API 的工作原理。
如果你想体验本项目,你也可以通过 fork Undertone0809/cushy-chat: 一个简易的 ChatGPT 聊天机器人 (github.com) 的代码来进行体验,欢迎 star 和 pr!