chatgpt_proxy
chatgpt 代理工具, 将 chatgpt 的能力拓展到钉钉机器人, 微信客服等平台。
编译 | Build
go build
参数 | Arguments
参数 | 说明 | 默认值 |
---|---|---|
-h | 帮助 | |
-p | 服务端口 | 9999 |
-ck | chatgpt 密钥 | |
-cm | chatgpt model 参数 | "text-davinci-003" |
-cmt | chatgpt max_tokens 参数 | 512 |
-cst | chatgpt 会话超时时间 | 360 |
-ct | chatgpt temperature 参数 | 0.9 |
-wa | 微信对话开放平台 开放 API APPID | |
-we | 微信对话开放平台 开放 API Encoding AESKey | |
-wt | 微信对话开放平台 开放 API Token |
依赖项 | Dependencies
- 公网 IP 服务器, 网络通畅 (openai & dingtalk & weixin)
- OpenAI API Key
- 钉钉开放平台
- 微信对话开放平台
sequenceDiagram
participant User as 用户
participant WeChat as 微信/钉钉
participant Proxy as chatgpt_proxy
participant OpenAI as OpenAI API
User->>WeChat: 发送消息
WeChat->>Proxy: 转发消息
Proxy->>OpenAI: 请求 ChatGPT 服务
OpenAI-->>Proxy: 返回响应
Proxy-->>WeChat: 转发响应
WeChat-->>User: 返回 ChatGPT 回复
用户设备
- 用户通过微信或钉钉发送消息。
微信/钉钉平台
- 微信对话开放平台和钉钉开放平台接收用户消息,并转发至
chatgpt_proxy
服务。
chatgpt_proxy 服务
- HTTP 服务器:接收来自微信/钉钉平台的消息。
- 路由器:将消息路由到相应的处理器。
- 处理器:处理消息,并向 OpenAI API 发送请求。
- 日志服务:记录系统运行日志和请求日志。
graph TD
subgraph 用户设备
A[用户]
end
subgraph 微信/钉钉平台
B[微信对话开放平台]
C[钉钉开放平台]
end
subgraph chatgpt_proxy 服务
D[HTTP 服务器]
E[路由器]
F[处理器]
G[日志服务]
end
subgraph OpenAI 平台
H[OpenAI API]
end
A -->|发送消息| B
A -->|发送消息| C
B -->|转发消息| D
C -->|转发消息| D
D --> E
E --> F
F -->|请求处理| H
H -->|返回响应| F
F -->|记录日志| G
F --> E
E --> D
D --> B
D --> C
B -->|返回消息| A
C -->|返回消息| A