CaoYunzhou / poe-openai-proxy

A reverse engineered Python API wrapper for Quora's Poe, which provides free access to ChatGPT, GPT-4, and Claude.
https://poe.aivvm.com
GNU General Public License v3.0
173 stars 47 forks source link

poe-openai-proxy

GitHub repo size Docker Image Size (tag) GitHub go.mod Go version (branch & subdirectory of monorepo) Docker Pulls GitHub Repo stars

声明:

安装

  1. 将这个仓库克隆到你的本地机器:
git clone https://github.com/caoyunzhou/poe-openai-proxy.git
cd poe-openai-proxy/
  1. 在项目的根目录创建配置文件。说明写在注释里:
cp .env.example .env
vim .env
source .env
  1. 构建并启动Go后端:
go build
chmod +x poe-openai-proxy
./poe-openai-proxy
  1. POE token 获取方式
    - 在浏览器上登录`Poe.com`,然后打开浏览器的开发工具,在以下菜单中查找p-b cookie的值:
    - Chromium:开发工具>应用程序>Cookie>poe.com
    - Firefox:开发工具>存储>Cookie
    - Safari:开发工具>存储>Cookie
    - 类似于这样的值[ p-b : 12zNTxAdieuXXszMWYt93g%3D%3D]

Docker一键部署

使用 Railway 部署

Deploy on Railway

Railway 环境变量

环境变量名称 必填 备注
PORT 必填 默认 8080
AuthKey 必填 默认:sk-123456 , 适配openai的请求,用户自定义的秘钥,放在Authorization header里面做认证
TOKENS 必填[list] poe-Token密钥[token1,token2,token3]
SIMULATE_ROLES 0 角色
RATE_LIMIT 10 速率[默认为1分钟内每个令牌调用10个api]
COOL_DOWN 10 冷却令牌[#冷却几秒钟。同一个令牌在n秒内不能多次使用]
TIMEOUT 60 超时
PROXY 选填 poe的代理 http://127.0.0.1:8989,默认为空,不走代理

注意: Railway 修改环境变量会重新 Deploy

使用

参见OpenAI文档了解更多关于如何使用ChatGPT API的细节。

只需要把你的代码里的https://api.openai.com替换成http://localhost:8080或者替换成你的域名https://api.example.com就可以了。

IP参考访问方式[127.0.0.1替换成你的IP]

curl --location 'http://127.0.0.1:8080/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-123456' \
--data '{
  "model": "gpt-4",
  "messages": [{"role": "user", "content": "你好"}]
}'

配置域名参考访问方式

curl --location 'https://poe.aivvm.com/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer sk-123456' \
--data '{
  "model": "gpt-4",
  "messages": [{"role": "user", "content": "你好"}]
}'

支持的路由:

支持的models对应列表:

模型名称 poe模型名称
assistant capybara
gpt-3.5-turbo chinchilla
gpt-3.5-turbo-0301 chinchilla
gpt-3.5-turbo-0613 chinchilla
gpt-3.5-turbo-16k agouti
gpt-3.5-turbo-16k-0613 agouti
gpt-4 beaver
gpt-4-0314 beaver
gpt-4-0613 beaver
gpt-4-32k vizcacha
gpt-4-32k-0314 vizcacha
gpt-4-32k-0613 vizcacha
claude-instant a2
claude-2-100k a2_2
claude-instant-100k a2_100k
google-palm acouchy
llama_2_70b_chat llama_2_70b_chat

支持的参数:

参数 说明
model 参见支持的模型对应列表部分。模型名字对应着POE机器人昵称。
messages 你可以像在官方API里一样使用这个参数,除了name
stream 你可以像在官方API里一样使用这个参数。

其他参数会被忽略。

License

致谢

参与贡献

感谢所有做过贡献的人!

Star History

Star History Chart