chatgpt_proxy

chatgpt 代理工具, 将 chatgpt 的能力拓展到钉钉机器人, 微信客服等平台。

编译 | Build

go build

参数 | Arguments

参数说明默认值
-h帮助
-p服务端口9999
-ckchatgpt 密钥
-cmchatgpt model 参数"text-davinci-003"
-cmtchatgpt max_tokens 参数512
-cstchatgpt 会话超时时间360
-ctchatgpt temperature 参数0.9
-wa微信对话开放平台 开放 API APPID
-we微信对话开放平台 开放 API Encoding AESKey
-wt微信对话开放平台 开放 API Token

依赖项 | Dependencies

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