ChatGPT_reverse_proxy 是一种高性能、云原生的反向代理服务。
默认支持 ChatGPT API 反向代理,请求 api 时,直接把接口地址 ( https://api.openai.com ) 替换为反向代理服务的地址。
可以在自建服务器、腾讯云函数上使用。
- OXY_TARGET: 反向代理目标,默认=https://api.openai.com
- OXY_PORT: 代理服务端口,默认=9000
使用腾讯云函数来搭建 chatGPT 反向代理服务。
- 进入腾讯云函数控制台: https://console.cloud.tencent.com/scf/list?rid=15&ns=default
- “云产品” --> “Serverless” --> “云函数”
- “函数服务” --> “新建”
- 点击 “从头开始”
- 基础配置
- 函数类型: Web函数
- 名称: 随便填;例如:chatGPT
- 地域: 选择境外的美国、加拿大等,推荐“硅谷”
- 运行环境: Go 1
- 时区: Asia/Shanghai(北京时间)
- 函数代码
-
提交方法: 本地上传zip包
下载地址: https://github.com/lenye/chatgpt_reverse_proxy/releases
文件名: tencentcloud_scf_chatgpt_reverse_proxy_v0.x.x_linux_amd64.zip
-
- 高级配置
- 启动命令: 自定义模板
- 环境配置
- 内存: 128MB
- 执行超时时间: 180 秒
- 点击 “完成”
- 进入腾讯云函数控制台: https://console.cloud.tencent.com/scf/list?rid=15&ns=default
- “函数服务” --> 在函数列表中选择刚刚新建函数“chatGPT”
- “函数管理” --> “函数代码”
访问路径去除 "/release/",得到 chatGPT 反向代理服务,腾讯云函数的地址:
https://service-xxx-xxx.xxx.apigw.tencentcs.com
请求 chatGPT api 时,直接把接口地址 ( https://api.openai.com ) 替换为腾讯云函数的地址。
package main
import (
"context"
"fmt"
"os"
"github.com/sashabaranov/go-openai"
)
func main() {
cfg := openai.DefaultConfig(os.Getenv("OPENAI_API_KEY"))
// 修改 BaseURL 为反向代理服务的地址,当前示例为腾讯云函数的地址,不要忘记"/v1"
cfg.BaseURL = "https://service-xxx-xxx.xxx.apigw.tencentcs.com/v1"
client := openai.NewClientWithConfig(cfg)
ctx := context.Background()
// list models
models, err := client.ListModels(ctx)
if err != nil {
fmt.Printf("ListModels error: %v\n", err)
os.Exit(1)
}
// print the first model's id
fmt.Println(models.Models[0].ID)
}
python
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
# 修改 api_base 为反向代理服务的地址,当前示例为腾讯云函数的地址,不要忘记"/v1"
openai.api_base = "https://service-xxx-xxx.xxx.apigw.tencentcs.com/v1"
# list models
models = openai.Model.list()
# print the first model's id
print(models.data[0].id)