这是一个,ChatGPT3.5 API 服务(即在OpenAI网页使用的模型),它允许连接多个ChatGPT账户协同工作,并构建一个对外的API接口服务。
-
运行web服务
git clone -b master https://github.com/xx025/browser-chatgptapi.git cd browser-chatgptapi pip install virtualenv virtualenv venv venv\Scripts\activate.bat pip install -r requirements.txt python run.py
此时web服务正在允许,他有两个重要的接口
ws://localhost:8010/user
供用户连接ws://localhost:8010/server
供chatgpt服务连接
数据格式示例:
{ "msg": "hello, i am user1" }
{ "msg": "hello user1, i am server1" }
-
连接chatgpt服务
- 下面是工作在revChatGPT
import json from revChatGPT.V1 import Chatbot import asyncio import websockets async def hello(): async with websockets.connect('ws://localhost:8010/server?token=r64XoPjdpVWPpSTrnin1') as websocket: while True: message = await websocket.recv() prompt = json.loads(message).get('msg', 'hello') access_token = "you_accesstoken" chatbot = Chatbot(config={"access_token": access_token}) response = "" for data in chatbot.ask(prompt): response = data["message"] data = {'msg': response} await websocket.send(json.dumps(data, indent=2)) asyncio.get_event_loop().run_until_complete(hello())
-
你也可以通过向网页注入js脚本完成连接
将脚本ChatGptPagesScripts.js,导入如脚本管理器如
Tampermonkey
打开OpenAI ChatGPT官网 登录账号
正常登陆后通过注入的脚本,将会连接到web服务,当然你有的话,可以在浏览器中创建多个窗口登录多个账号
考虑到web服务与登录chatgpt账号的浏览器不在一个机器上,会出现
MixedContent
错误,请查看StackFlow对此问题的解决方案
-
进行测试
我写了一个简单的测速页面你可以打开一个或多个
http://localhost:8010/
进行测试,你可以用postman打开一个WebSocket API测速页面进行测式
演示视频:YouTube
代码比较简陋,可完善之处多多,欢迎参与一起开发