如何让 ChatGPT 帮我写一个 ChatGPT

adminmycode2年前chatgpt910

最近看到了一个很不错的开源项目 ayaka14732/ChatGPTAPIFree z,该项目提供了一个简单、开放源代码的 ChatGPT 代理 API,本人本来比较懒不想做代理,所以一直没有尝试去跑过 ChatGPT 的 API,但是感谢大佬提供了一个免费的无需代理的 API,因此笔者也尝试简单跑了一个 ChatGPT 的 API 并做了一个简单的聊天机器人。用 Python 开发,直接在终端上运行,十分方便,欢迎大家体验。

项目地址: Undertone0809/cushy-chat: 一个简易的 ChatGPT 聊天机器人 (github.com)

中间开发的过程,当然是我负责搭建框架,然后 ChatGPT 负责运行了,具体过程如下所示。

现在我要开发一个基于 Python 的简易 ChatGPT 聊天机器人,你需要给出代码实现,并遵守以下规范:

  1. 直接在终端运行

  2. 调用 https://chatgpt-api.shn.hk/v1/ 进行 POST 数据

  3. 使用 cushy-storage 库保存长对话数据

  4. 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!


标签: chatgpt

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。