zhayujie / chatgpt-on-wechat

基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择GPT3.5/GPT-4o/GPT-o1/ Claude/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Claude/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。

Home Page:https://docs.link-ai.tech/cow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Openai接口网络不通的解决方案 (已支持 Railway 一键部署)

zhayujie opened this issue · comments

目前的几种方案:

1.直接部署在外网的服务器: 比如 xx云的香港服务器

2.国内环境开代理: 需要 代理软件 及 代理账号

3.托管到容器平台: 如Railway等平台。

背景及讨论过程参考:#310

方案一:这个方案优点是比较简单,缺点是依赖能访问外网的服务器,成本较高。唯一需要注意的是,服务器最好选择openai支持的地区,且需要访问wechat的后台。

相关issue:#344

更新 03.11: 目前使用方案一被openai限制风险小

方案二

原理是通过本地安装的 代理客户端 把 请求转发到 代理服务器,再由能访问外网的代理服务器完成请求。 现在常用的代理协议有 Shadowsocks、V2Ray、Trojan等,这些协议一般会有自己特定的客户端。 而 clash 是一个能同时兼容这些协议的客户端, 所以下面以 clash 为例介绍下如何使用。

1.代理客户端启动

vpn账号的获取就不赘述了,因为获取openai的API_KEY时就是需要代理的。 在本地开发环境启动代理客户端比较简单,一般都有图形界面,打开后就会把所有流量都转发到代理客户端,此时注意要开启分流模式 (PAC, 即访问国内域名不转发),不然可能访问不了wx。

如果是在服务器命令行环境,需要找一个能在linux运行的代理客户端。以clash为例,下载 clash-linux-amd64-v1.13.0.gz, 在服务器上解压并运行 sudo ./clash-linux-amd64-v1.13.0 即可。 同时需要一个 ~/.config/clash/config.yml 配置文件,一般你获取账号的地方 (机场) 都会提供的。

启动后 clash 会监听本地的 7890 端口,所有往这个端口发送的请求都会按照一定规则 转发到 代理服务器 完成访问。

2.程序启动

启动前要在config.json 中加一个proxy配置:

{
  "open_ai_api_key": "YOUR API KEY",
  "proxy": "http://127.0.0.1:7890",
  "single_chat_prefix": ["bot", "@bot"],
  #... 省略 ...
}

这个配置的含义是,所有向openai发送的请求都会发送到 http://127.0.0.1:7890, 这正是clash监听的端口。 如果你用的是别的代理客户端,就改成对应的端口,比如使用 trojan-qt5 会配成 http://127.0.0.1:1080。 这样的好处是只有访问openai时会走到代理,不会影响和wx的交互。

配置添加完后,正常启动程序就可以访问 chatgpt 接口了。

方案三:RailWay 一键部署 (推荐)

Railway 每月提供5刀和最多500小时的免费额度。

  1. 进入 Railway
  2. 点击 Deploy Now 按钮
  3. 设置环境变量来重载程序运行的参数,例如open_ai_api_key, character_desc
  4. 等待运行,扫码登录即可享用

python3.9版本在开了代理的情况下会运行报错,请降低urllib3模块的版本即可,pip install urllib3==1.25.11

期待方案三

方案二

原理是通过本地安装的 代理客户端 把 请求转发到 代理服务器,再由能访问外网的代理服务器完成请求。 现在常用的代理协议有 Shadowsocks、V2Ray、Trojan等,这些协议一般会有自己特定的客户端。 而 clash 是一个能同时兼容这些协议的客户端, 所以下面以 clash 为例介绍下如何使用。

1.代理客户端启动

vpn账号的获取就不赘述了,因为获取openai的API_KEY时就是需要代理的。 在本地开发环境启动代理客户端比较简单,一般都有图形界面,打开后就会把所有流量都转发到代理客户端,此时注意要开启分流模式 (PAC, 即访问国内域名不转发),不然可能访问不了wx。

如果是在服务器命令行环境,需要找一个能在linux运行的代理客户端。以clash为例,下载 clash-linux-amd64-v1.13.0.gz, 在服务器上解压并运行 sudo ./clash-linux-amd64-v1.13.0 即可。 同时需要一个 ~/.config/clash/config.yml 配置文件,一般你获取账号的地方 (机场) 都会提供的。

启动后 clash 会监听本地的 7890 端口,所有往这个端口发送的请求都会按照一定规则 转发到 代理服务器 完成访问。

2.程序启动

启动前要在config.json 中加一个proxy配置:

{
  "open_ai_api_key": "YOUR API KEY",
  "proxy": "http://127.0.0.1:7890",
  "single_chat_prefix": ["bot", "@bot"],
  #... 省略 ...
}

这个配置的含义是,所有向openai发送的请求都会发送到 http://127.0.0.1:7890, 这正是clash监听的端口。 如果你用的是别的代理客户端,就改成对应的端口,比如使用 trojan-qt5 会配成 http://127.0.0.1:1080。 这样的好处是只有访问openai时会走到代理,不会影响和wx的交互。

配置添加完后,正常启动程序就可以访问 chatgpt 接口了。

[ERROR][2023-03-05 12:47:28][log.py:50] - Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))

方案二

原理是通过本地安装的 代理客户端 把 请求转发到 代理服务器,再由能访问外网的代理服务器完成请求。 现在常用的代理协议有 Shadowsocks、V2Ray、Trojan等,这些协议一般会有自己特定的客户端。 而 clash 是一个能同时兼容这些协议的客户端, 所以下面以 clash 为例介绍下如何使用。

1.代理客户端启动

vpn账号的获取就不赘述了,因为获取openai的API_KEY时就是需要代理的。 在本地开发环境启动代理客户端比较简单,一般都有图形界面,打开后就会把所有流量都转发到代理客户端,此时注意要开启分流模式 (PAC, 即访问国内域名不转发),不然可能访问不了wx。

如果是在服务器命令行环境,需要找一个能在linux运行的代理客户端。以clash为例,下载 clash-linux-amd64-v1.13.0.gz, 在服务器上解压并运行 sudo ./clash-linux-amd64-v1.13.0 即可。 同时需要一个 ~/.config/clash/config.yml 配置文件,一般你获取账号的地方 (机场) 都会提供的。

启动后 clash 会监听本地的 7890 端口,所有往这个端口发送的请求都会按照一定规则 转发到 代理服务器 完成访问。

2.程序启动

启动前要在config.json 中加一个proxy配置:

{
  "open_ai_api_key": "YOUR API KEY",
  "proxy": "http://127.0.0.1:7890",
  "single_chat_prefix": ["bot", "@bot"],
  #... 省略 ...
}

这个配置的含义是,所有向openai发送的请求都会发送到 http://127.0.0.1:7890, 这正是clash监听的端口。 如果你用的是别的代理客户端,就改成对应的端口,比如使用 trojan-qt5 会配成 http://127.0.0.1:1080。 这样的好处是只有访问openai时会走到代理,不会影响和wx的交互。

配置添加完后,正常启动程序就可以访问 chatgpt 接口了。

配置了,重启后没有走代理?但是微信那个都走了。
image

@xionghaizhi 日志显示对的吧,访问微信走直连 (不走代理)

javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake

Caused by: java.io.EOFException: SSL peer shut down incorrectly

使用代理后显示这两个问题, 是需要设置证书吗

javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake

Caused by: java.io.EOFException: SSL peer shut down incorrectly

使用代理后显示这两个问题, 是需要设置证书吗

这个应该是代理客户端报的错, 找下对应项目的解决吧

javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
Caused by: java.io.EOFException: SSL peer shut down incorrectly
使用代理后显示这两个问题, 是需要设置证书吗

这个应该是代理客户端报的错, 找下对应项目的解决吧

能再具体些吗,我就是下载代理后,正常从网页上访问Chatgpt没问题,但接口访问一直报上面的错误

@xionghaizhi 日志显示对的吧,访问微信走直连 (不走代理)

ok 谢谢

我这边用的是shellclash,支持订阅模式,SSR订阅节点也支持,傻瓜式操作,还可以配置可视化面板,代理不熟悉的可以参考这个方案

也可以使用Python的代理模块:
pip3 install Pysocks
//以下代码写在app.py文件中
import socket
import socks
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 10808)
socket.socket = socks.socksocket

使用方案二运行过程中开发机开启系统代理以后就会掉线,我该怎么设置

方案一:这个方案优点是比较简单,缺点是依赖能访问外网的服务器,成本较高。唯一需要注意的是,服务器最好选hk地区的,因为需要访问wechat的后台。

相关issue:#344

香港的服务器也不行哦

方案一怎么不行,求解:
image

有一个通过腾讯云函数解决的,我没试过,供参考: https://github.com/Ice-Hazymoon/openai-scf-proxy

python3.9版本在开了代理的情况下会运行报错,请降低urllib3模块的版本即可,pip install urllib3==1.25.11

有帮助

使用腾讯云函数,比较省事,推荐

image
走的是DIRECT却login.weixin.qq.com仍旧在报错,proxy配置项也已经配置好
login.weixin.qq.com也已经被rules分流
image

使用腾讯云函数,比较省事,推荐

是的。不过我的openai的账户被封了。。还有5美元,不知道是因为腾讯云函数的原因还是我让机器人骂人导致的。唉。。
兄弟们且用且珍惜。

这里补一个使用openai库更改官方地址的参数:

import openai

openai.api_base = "YOUR_API_BASE"

其中,YOUR_API_BASE 应该替换为你想要设置的默认地址,例如:

import openai

openai.api_base = "https://api.openai.cn/v1/engines/davinci-codex/"

注意:以上代码应该在调用 OpenAI API 之前执行,以确保修改已生效。此外,修改默认地址只对当前 Python 进程有效,如果需要在其他脚本中使用相同的地址,需要在每个脚本中都进行相同的设置

当前的几种方案:

**1.直接连接在外网的服务器:**比xx云的香港服务器

2.国内环境开代理: 需要代理软件及代理账号

3.托管到容器平台: 如Railway等平台。

背面及讨论过程参考:#310

方案四:使用腾讯云函数服务

使用方法见: https://github.com/Ice-Hazymoon/openai-scf-proxy

得到类似于 : https://service-aaaaa.hk.apigw.tencentcs.com/ 的地址后在 app.py中添加以下代码

openai.api_base = "https://service-aaaaa.hk.apigw.tencentcs.com/v1"

优势: 免费且快速

Zeabur / vercel 部署 (推荐,实测支持 SSE,部署也非常简单)
https://github.com/imyuanx/chatgpt-proxy

此时注意要开启分流模式 (PAC, 即访问国内域名不转发)
大佬你好,我的CLASH开了PAC,微能登陆,但是openai还是再dos界面显示443这怎么解决呢?

@Yan0789 config.json中的proxy有配置嘛

@Yan0789 config.json中的proxy有配置嘛
大佬,我配置了的,也是按你的方案二Clash打开PAC,不行,后面我自己换了种思路,也是用Clash解决了。
-----------------------分割线---------方法分享-----------------------
环境windows10
工具clash
操作步骤:
1.项目种的proxy一样按大佬写的配置IP端口
2.系统D理(HTTP/PAC)选择默认HTTP,这里跟楼主说的不同(注意)
3.在HTTP-绕过域/网增加一条“- *.qq.com”
4.切换到D理,选择【规Z】-手动切换-选-节点
5.按上面配置好,Clash开启系统代理。

@Yan0789 config.json中的proxy有配置嘛

@Yan0789 config.json中的proxy有配置嘛
大佬,我配置了的,也是按你的方案二Clash打开PAC,不行,后面我自己换了种思路,也是用Clash解决了。
-----------------------分割线---------方法分享-----------------------
环境windows10
工具clash
操作步骤:
1.项目种的proxy一样按大佬写的配置IP端口
2.系统D理(HTTP/PAC)选择默认HTTP,这里跟楼主说的不同(注意)
3.在HTTP-绕过域/网增加一条“- *.qq.com”
4.切换到D理,选择【规Z】-手动切换-选-节点
5.按上面配置好,Clash开启系统代理。
捕获

commented

搭载微信正常使用两天后,目前问它问题,它一直回复:“提问太快啦,请休息一下再问我吧。”

你好 这个问题解决了吗

requests.exceptions.ProxyError: HTTPSConnectionPool(host='login.weixin.qq.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', OSError(0, 'Error')))

You can't get access to internet or wechat domain, so exit.

不开启代理可以扫码登录,开启代理打开分流模式就会报上面的错,请问怎么解决

是否可以支持自定义openai的接口url,用腾讯的云函数,或者用cf的workers来调用

理(HTTP/PAC)选择默认HTTP,这里跟楼主说的不同(注意)
3.在HTTP-绕过域/网增加一条“- *.qq.com”
4.切换到D理,选择【规Z】-手动切换-选-节点
5.按上面配置好,Clash开启系统代理。
这里方法试试

[WARNING][2023-03-21 21:09:05][chat_gpt_bot.py:88] - Error communicating with OpenAI: Invalid URL 'None/chat/completions': No schema supplied. Perhaps you meant http://None/chat/completions?
[WARNING][2023-03-21 21:09:05][chat_gpt_bot.py:89] - [OPEN_AI] APIConnection failed
[INFO][2023-03-21 21:09:05][wechat_channel.py:137] - [WX] sendMsg=@了无益 我连接不到你的网络, receiver=@@a97a856d28738bd8786dff4646b422b96728436746df16f3b5103c8dcc7df503

配置端口后仍然无效

阿里云服务器如何配置clash,为啥一直没有成功

大佬我在aws debian实例用xui开了个服务器80,443端口,新加坡的,然后我用v2rayn代理,谷歌什么的都正常访问,但是chatgpt访问被拒绝,请问我需要配置些什么啊

唉,用V2ray肯定是可以的,但是服务器直接被封就麻了

唉,用V2ray肯定是可以的,但是服务器直接被封就麻了

大佬是回复的我嘛,服务器应该没被封,其他地址连接都正常,就算被封也没事aws随便换服务器,就是这个配置问题不知道怎么处理,应该是防火墙安全哪里有错误

唉,用V2ray肯定是可以的,但是服务器直接被封就麻了

大佬是回复的我嘛,服务器应该没被封,其他地址连接都正常,就算被封也没事aws随便换服务器,就是这个配置问题不知道怎么处理,应该是防火墙安全哪里有错误

哈哈我只是吐槽一下,我买的阿里云国内服务器,V2ray我都不敢装

本地开了clash,在设置"proxy": "http://127.0.0.1:7890",后提示我连接不到网络,请稍后重试
Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))
[WARNING][2023-03-28 14:40:06][log.py:39] - [CHATGPT] APIConnection failed
172.31.16.244 - - [28/Mar/2023 14:40:06] "POST /chat HTTP/1.1" 200

QQ图片20230328213029
用的clash,但是一直都是这个报错,为什么

QQ图片20230328213029 用的clash,但是一直都是这个报错,为什么

一样的问题,解决了吗?

截屏2023-03-29 00 02 11

这种情况是代理不稳定导致的吗?

大佬 部署在RailWay上log输出的二维码图形不规则 扫不上 怎么解决

方案一:这个方案优点是比较简单,缺点是依赖能访问外网的服务器,成本较高。唯一需要注意的是,服务器最好选择openai支持的地区,且需要访问wechat的后台。

相关issue:#344

更新 03.11: 目前使用方案一被openai限制风险小

你好, 我使用的英国服务器,报错”ERROR: 我连接不到你的网络“。 同时部署的网页版使用相同api没有问题。

详情:
网络能够访问openai接口
python 已安装:版本在 3.7 ~ 3.10 之间,依赖已安装
Python 3.9.2
pip 22.1.2 from /usr/local/lib/python3.9/dist-packages/pip (python 3.9)

配置:
{
"open_ai_api_key": ”此处省略",
"model": "gpt-3.5-turbo",
"proxy": "",

已经解决, 之前的配置proxy不正确, 但如果app.py运行了配置的更改是无效的, 需要kill掉进程重新启动.

openai.error.InvalidRequestError: Invalid URL (POST /v1/openai/deployments/gpt-3.5-turbo/chat/completions)
在railway上部署,提示无效URL,但是本地跑没有问题,railway的配置文件也没有啥问题呀,咋回事

python3.9版本在开了代理的情况下会运行报错,请降低urllib3模块的版本即可,pip install urllib3==1.25.11
太对了哥,一句话就解决了

commented

方案二

原理是通过本地安装的 代理客户端 把 请求转发到 代理服务器,再由能访问外网的代理服务器完成请求。 现在常用的代理协议有 Shadowsocks、V2Ray、Trojan等,这些协议一般会有自己特定的客户端。 而 clash 是一个能同时兼容这些协议的客户端, 所以下面以 clash 为例介绍下如何使用。

1.代理客户端启动

vpn账号的获取就不赘述了,因为获取openai的API_KEY时就是需要代理的。 在本地开发环境启动代理客户端比较简单,一般都有图形界面,打开后就会把所有流量都转发到代理客户端,此时注意要开启分流模式 (PAC, 即访问国内域名不转发),不然可能访问不了wx。

如果是在服务器命令行环境,需要找一个能在linux运行的代理客户端。以clash为例,下载 clash-linux-amd64-v1.13.0.gz, 在服务器上解压并运行 sudo ./clash-linux-amd64-v1.13.0 即可。 同时需要一个 ~/.config/clash/config.yml 配置文件,一般你获取账号的地方 (机场) 都会提供的。

启动后 clash 会监听本地的 7890 端口,所有往这个端口发送的请求都会按照一定规则 转发到 代理服务器 完成访问。

2.程序启动

启动前要在config.json 中加一个proxy配置:

{
  "open_ai_api_key": "YOUR API KEY",
  "proxy": "http://127.0.0.1:7890",
  "single_chat_prefix": ["bot", "@bot"],
  #... 省略 ...
}

这个配置的含义是,所有向openai发送的请求都会发送到 http://127.0.0.1:7890, 这正是clash监听的端口。 如果你用的是别的代理客户端,就改成对应的端口,比如使用 trojan-qt5 会配成 http://127.0.0.1:1080。 这样的好处是只有访问openai时会走到代理,不会影响和wx的交互。

配置添加完后,正常启动程序就可以访问 chatgpt 接口了。
image
请问这样无法连接互联网怎么解决呀,是什么原因导致的

方案三:RailWay 一键部署 (推荐)

Railway 每月提供5刀和最多500小时的免费额度。

  1. 进入 Railway
  2. 点击 Deploy Now 按钮
  3. 设置环境变量来重载程序运行的参数,例如open_ai_api_key, character_desc
  4. 等待运行,扫码登录即可享用

提示新账号无法验证账户:
Your GitHub Can't Be Verified

Your GitHub might be too new or there might be risky repos on your account that means you can't verify with your GitHub.

方案二

原理是通过本地安装的 代理客户端 把 请求转发到 代理服务器,再由能访问外网的代理服务器完成请求。 现在常用的代理协议有 Shadowsocks、V2Ray、Trojan等,这些协议一般会有自己特定的客户端。 而 clash 是一个能同时兼容这些协议的客户端, 所以下面以 clash 为例介绍下如何使用。

1.代理客户端启动

vpn账号的获取就不赘述了,因为获取openai的API_KEY时就是需要代理的。 在本地开发环境启动代理客户端比较简单,一般都有图形界面,打开后就会把所有流量都转发到代理客户端,此时注意要开启分流模式 (PAC, 即访问国内域名不转发),不然可能访问不了wx。
如果是在服务器命令行环境,需要找一个能在linux运行的代理客户端。以clash为例,下载 clash-linux-amd64-v1.13.0.gz, 在服务器上解压并运行 sudo ./clash-linux-amd64-v1.13.0 即可。 同时需要一个 ~/.config/clash/config.yml 配置文件,一般你获取账号的地方 (机场) 都会提供的。
启动后 clash 会监听本地的 7890 端口,所有往这个端口发送的请求都会按照一定规则 转发到 代理服务器 完成访问。

2.程序启动

启动前要在config.json 中加一个proxy配置:

{
  "open_ai_api_key": "YOUR API KEY",
  "proxy": "http://127.0.0.1:7890",
  "single_chat_prefix": ["bot", "@bot"],
  #... 省略 ...
}

这个配置的含义是,所有向openai发送的请求都会发送到 http://127.0.0.1:7890, 这正是clash监听的端口。 如果你用的是别的代理客户端,就改成对应的端口,比如使用 trojan-qt5 会配成 http://127.0.0.1:1080。 这样的好处是只有访问openai时会走到代理,不会影响和wx的交互。
配置添加完后,正常启动程序就可以访问 chatgpt 接口了。

[ERROR][2023-03-05 12:47:28][log.py:50] - Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))

请问解决了吗?

我来推荐一个我目前在用的解决方案:
在外网服务器搭建一个api.openai.com的反向代理,使用这个教程里面的链接去购买外网服务器
https://www.typemylife.com/how-to-register-openai-chatgpt-get-api-key-create-api-proxy-in-china/
推荐买这个https://my.racknerd.com/aff.php?aff=7407&pid=358,一年才几十块钱
在VPS上安装Docker服务后,使用此镜像服务,一键搭建反向代理

之后修改config.json文件

"proxy": "127.0.0.1:7890",
去掉,换成
"open_ai_api_base": "http://xxx.xxx.xxx.xxx:port/v1", # 其中xxx和port是上面你搭建的反向代理openapi的ip和端口

非常香!

大佬我在aws debian实例用xui开了个服务器80,443端口,新加坡的,然后我用v2rayn代理,谷歌什么的都正常访问,但是chatgpt访问被拒绝,请问我需要配置些什么啊

我也用的trojan协议的代理,这种好像是模拟https的流量来绕过防火墙,也就是你的ip在外网还是大陆的ip,有些限制性的网站都访问不了。比如chatgpt这种好像会检测你的ip,大陆的就访问不了,谷歌这种,他就不管是不是大陆的只要你连上了就行。但使用shadowsock ip就是外边的ip

给大家推荐个方法 (适用于linux-clash)
1.设置系统代理,添加配置文件 /etc/profile.d/proxy.sh

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export no_proxy="localhost, 127.0.0.1"

2.重载 /etc/profile 配置
source /etc/profile
3.重启clash

给大家推荐个方法 (适用于linux-clash)
1.设置系统代理,添加配置文件 /etc/profile.d/proxy.sh

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export no_proxy="localhost, 127.0.0.1"

2.重载 /etc/profile 配置
source /etc/profile
3.重启clash

方案三:RailWay 一键署 (推荐)

铁路每月提供5刀和最多500小时的免费额度。

  1. 进入铁路
  2. 点击立即部署按钮
  3. 设置环境变量来重新加载程序运行的参数,例如open_ai_api_key, character_desc
  4. 等候运行,扫描登录即可享用

完一键部署后开头显示[Warning] You need to set OPEN_AI_API_KEY before running!(变量已经设置了open_ai_api_key),登录微信后也显示开始自动回复Start auto replying. 但是就是触发不了@了没有反应,请问是什么问题?小白一枚!

求个大佬帮我解决下,我该怎么配置规则
规则:
- { name: Openai, type: select, proxies: ['🇯🇵 日本-深度访问 DP']}
default: Openai
rules:
- 'DOMAIN-SUFFIX,login.weixin.qq.com,Openai'
- 'DOMAIN-SUFFIX,webpush.wx2.qq.com,Openai'
- 'DOMAIN-SUFFIX,wx2.qq.com,Openai'
- 'DOMAIN,api.openai.com,Openai'
报错:
Apr 27 15:44:12 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:44:12+08:00" level=info msg="[TCP] 127.0.0.1:49996 --> webpush.wx2.qq.com:443 doesn't match any rule using DIRECT"
Apr 27 15:44:41 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:44:41+08:00" level=info msg="[TCP] 127.0.0.1:50000 --> login.weixin.qq.com:443 doesn't match any rule using DIRECT"
Apr 27 15:44:41 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:44:41+08:00" level=info msg="[TCP] 127.0.0.1:50004 --> login.weixin.qq.com:443 doesn't match any rule using DIRECT"
Apr 27 15:44:57 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:44:57+08:00" level=info msg="[TCP] 127.0.0.1:50008 --> wx2.qq.com:443 doesn't match any rule using DIRECT"
Apr 27 15:44:59 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:44:59+08:00" level=info msg="[TCP] 127.0.0.1:50012 --> webpush.wx2.qq.com:443 doesn't match any rule using DIRECT"
Apr 27 15:45:10 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:45:10+08:00" level=warning msg="[TCP] dial DIRECT 127.0.0.1:50016 --> api.openai.com:443 error: dial tcp4 74.86.228.110:443: i/o timeout"
Apr 27 15:45:15 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:45:15+08:00" level=warning msg="[TCP] dial DIRECT 127.0.0.1:50020 --> api.openai.com:443 error: dial tcp4 74.86.228.110:443: i/o timeout"
Apr 27 15:45:20 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:45:20+08:00" level=warning msg="[TCP] dial DIRECT 127.0.0.1:50026 --> api.openai.com:443 error: dial tcp4 202.182.98.125:443: i/o timeout"
Apr 27 15:45:20 iZ2ze8q02gzddy9ouukwodZ clash[12760]: time="2023-04-27T15:45:20+08:00" level=info msg="[TCP] 127.0.0.1:50030 --> wx2.qq.com:443 doesn't match any rule using DIRECT"

[INFO][2023-05-05 19:10:34][config.py:166] - 配置文件不存在,将使用config-template.json模板
[INFO][2023-05-05 19:10:34][config.py:195] - [INIT] load config: {'open_ai_api_key': 'sk-', 'model': 'gpt-3.5-turbo', 'open_ai_api_base': '', 'proxy': 'http://127.0.0.1:10086', 'request_timeout': 600, 'timeout': 300, 'single_chat_prefix': ['bot', '@bot'], 'single_chat_reply_prefix': '[bot] ', 'group_chat_prefix': ['@bot'], 'group_name_white_list': ['ChatGPT测试群', 'ChatGPT测试群2'], 'group_chat_in_one_session': ['ChatGPT测试群'], 'image_create_prefix': ['画', '看', '找'], 'speech_recognition': False, 'group_speech_recognition': False, 'voice_reply_voice': False, 'conversation_max_tokens': 1000, 'expires_in_seconds': 3600, 'character_desc': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。', 'subscribe_msg': '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'}
[INFO][2023-05-05 19:10:34][config.py:143] - [Config] User datas loaded.
C:\ProgramData\anaconda3\envs\chatgpt\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
[INFO][2023-05-05 19:10:34][plugin_manager.py:50] - Loading plugins config...
[INFO][2023-05-05 19:10:34][plugin_manager.py:66] - Scaning plugins ...
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Banwords_v1.0 registered, path=./plugins\banwords
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin BDunit_v0.1 registered, path=./plugins\bdunit
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Dungeon_v1.0 registered, path=./plugins\dungeon
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Finish_v1.0 registered, path=./plugins\finish
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Godcmd_v1.0 registered, path=./plugins\godcmd
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Hello_v0.1 registered, path=./plugins\hello
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Keyword_v0.1 registered, path=./plugins\keyword
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Role_v1.0 registered, path=./plugins\role
chatgpt-tool-hub version: 0.4.3
[INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin tool_v0.4 registered, path=./plugins\tool
[INFO][2023-05-05 19:10:34][godcmd.py:181] - [Godcmd] 因未设置口令,本次的临时口令为6512。
[INFO][2023-05-05 19:10:34][godcmd.py:196] - [Godcmd] inited
[INFO][2023-05-05 19:10:34][keyword.py:40] - [keyword] {}
[INFO][2023-05-05 19:10:34][keyword.py:42] - [keyword] inited.
[INFO][2023-05-05 19:10:34][init.py:29] - [visual_dl] init failed, error_info: ModuleNotFoundError("No module named 'torch'")
[INFO][2023-05-05 19:10:34][init.py:29] - [visual_dl] init failed, error_info: ModuleNotFoundError("No module named 'torch'")
[INFO][2023-05-05 19:10:35][chatgpt.py:169] - success use proxy: http://127.0.0.1:10086
[INFO][2023-05-05 19:10:35][victorinox.py:86] - use_tools=['terminal', 'python', 'url-get', 'meteo-weather'], params: {'debug': False, 'openai_api_key': 'sk-
', 'open_ai_api_base': '', 'proxy': 'http://127.0.0.1:10086', 'request_timeout': 600, 'model_name': 'gpt-3.5-turbo', 'no_default': False, 'top_k_results': 3, 'news_api_key': '', 'bing_subscription_key': '', 'google_api_key': '', 'google_cse_id': '', 'searx_search_host': '', 'wolfram_alpha_appid': '', 'morning_news_api_key': '', 'cuda_device': 'cpu', 'think_depth': 3, 'arxiv_summary': True, 'morning_news_use_llm': False}
[INFO][2023-05-05 19:10:35][tool.py:32] - [tool] inited
[INFO][2023-05-05 19:10:35][role.py:69] - [Role] inited
[INFO][2023-05-05 19:10:35][dungeon.py:56] - [Dungeon] inited
[INFO][2023-05-05 19:10:35][hello.py:23] - [Hello] inited
[INFO][2023-05-05 19:10:35][finish.py:23] - [Finish] inited
Please press confirm on your phone.
Loading the contact, this may take a little while.
[INFO][2023-05-05 19:10:54][wechat_channel.py:124] - Wechat login success, user_id: @618**, nickname: **
Login successfully as **
Start auto replying.
[INFO][2023-05-05 19:11:02][bridge.py:30] - create bot chatGPT for chat
[INFO][2023-05-05 19:11:02][chat_gpt_bot.py:49] - [CHATGPT] query=你好
[WARNING][2023-05-05 19:11:08][chat_gpt_bot.py:138] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000281917AB160>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
[INFO][2023-05-05 19:11:08][wechat_channel.py:187] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR]
我连接不到你的网络), receiver=@618d50ff176ab3e917c005aa9700...
一直报这个错,微信连上了,用的pandafan设置了PAC白名单,开始显示[chatgpt.py:169] - success use proxy: http://127.0.0.1:10086,但是后面就一直报错:由于目标计算机积极拒绝,无法连接
哪位大神帮忙指点一下

[INFO][2023-05-05 19:10:34][config.py:166] - 配置文件不存在,将使用config-template.json模板 [INFO][2023-05-05 19:10:34][config.py:195] - [INIT] load config: {'open_ai_api_key': 'sk-', 'model': 'gpt-3.5-turbo', 'open_ai_api_base': '', 'proxy': 'http://127.0.0.1:10086', 'request_timeout': 600, 'timeout': 300, 'single_chat_prefix': ['bot', '@bot'], 'single_chat_reply_prefix': '[bot] ', 'group_chat_prefix': ['@bot'], 'group_name_white_list': ['ChatGPT测试群', 'ChatGPT测试群2'], 'group_chat_in_one_session': ['ChatGPT测试群'], 'image_create_prefix': ['画', '看', '找'], 'speech_recognition': False, 'group_speech_recognition': False, 'voice_reply_voice': False, 'conversation_max_tokens': 1000, 'expires_in_seconds': 3600, 'character_desc': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。', 'subscribe_msg': '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'} [INFO][2023-05-05 19:10:34][config.py:143] - [Config] User datas loaded. C:\ProgramData\anaconda3\envs\chatgpt\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) [INFO][2023-05-05 19:10:34][plugin_manager.py:50] - Loading plugins config... [INFO][2023-05-05 19:10:34][plugin_manager.py:66] - Scaning plugins ... [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Banwords_v1.0 registered, path=./plugins\banwords [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin BDunit_v0.1 registered, path=./plugins\bdunit [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Dungeon_v1.0 registered, path=./plugins\dungeon [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Finish_v1.0 registered, path=./plugins\finish [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Godcmd_v1.0 registered, path=./plugins\godcmd [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Hello_v0.1 registered, path=./plugins\hello [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Keyword_v0.1 registered, path=./plugins\keyword [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Role_v1.0 registered, path=./plugins\role chatgpt-tool-hub version: 0.4.3 [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin tool_v0.4 registered, path=./plugins\tool [INFO][2023-05-05 19:10:34][godcmd.py:181] - [Godcmd] 因未设置口令,本次的临时口令为6512。 [INFO][2023-05-05 19:10:34][godcmd.py:196] - [Godcmd] inited [INFO][2023-05-05 19:10:34][keyword.py:40] - [keyword] {} [INFO][2023-05-05 19:10:34][keyword.py:42] - [keyword] inited. [INFO][2023-05-05 19:10:34][init.py:29] - [visual_dl] init failed, error_info: ModuleNotFoundError("No module named 'torch'") [INFO][2023-05-05 19:10:34][init.py:29] - [visual_dl] init failed, error_info: ModuleNotFoundError("No module named 'torch'") [INFO][2023-05-05 19:10:35][chatgpt.py:169] - success use proxy: http://127.0.0.1:10086 [INFO][2023-05-05 19:10:35][victorinox.py:86] - use_tools=['terminal', 'python', 'url-get', 'meteo-weather'], params: {'debug': False, 'openai_api_key': 'sk-', 'open_ai_api_base': '', 'proxy': 'http://127.0.0.1:10086', 'request_timeout': 600, 'model_name': 'gpt-3.5-turbo', 'no_default': False, 'top_k_results': 3, 'news_api_key': '', 'bing_subscription_key': '', 'google_api_key': '', 'google_cse_id': '', 'searx_search_host': '', 'wolfram_alpha_appid': '', 'morning_news_api_key': '', 'cuda_device': 'cpu', 'think_depth': 3, 'arxiv_summary': True, 'morning_news_use_llm': False} [INFO][2023-05-05 19:10:35][tool.py:32] - [tool] inited [INFO][2023-05-05 19:10:35][role.py:69] - [Role] inited [INFO][2023-05-05 19:10:35][dungeon.py:56] - [Dungeon] inited [INFO][2023-05-05 19:10:35][hello.py:23] - [Hello] inited [INFO][2023-05-05 19:10:35][finish.py:23] - [Finish] inited Please press confirm on your phone. Loading the contact, this may take a little while. [INFO][2023-05-05 19:10:54][wechat_channel.py:124] - Wechat login success, user_id: @618**, nickname: ** Login successfully as ** Start auto replying. [INFO][2023-05-05 19:11:02][bridge.py:30] - create bot chatGPT for chat [INFO][2023-05-05 19:11:02][chat_gpt_bot.py:49] - [CHATGPT] query=你好 [WARNING][2023-05-05 19:11:08][chat_gpt_bot.py:138] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000281917AB160>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))) [INFO][2023-05-05 19:11:08][wechat_channel.py:187] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR] 我连接不到你的网络), receiver=@618d50ff176ab3e917c005aa9700... 一直报这个错,微信连上了,用的pandafan设置了PAC白名单,开始显示[chatgpt.py:169] - success use proxy: http://127.0.0.1:10086,但是后面就一直报错:由于目标计算机积极拒绝,无法连接 哪位大神帮忙指点一下

自己解决了:
配置中把原来的
"proxy": "http://127.0.0.1:10080",
改成:
"proxy": {"http": "http://localhost:10080", "https": "http://localhost:10080"},
就OK了

[INFO][2023-05-05 19:10:34][config.py:166] - 配置文件不存在,将使用config-template.json模板 [INFO][2023-05-05 19:10:34][config.py:195] - [INIT] load config: {'open_ai_api_key': 'sk-', 'model': 'gpt-3.5-turbo', 'open_ai_api_base': '', 'proxy': 'http://127.0.0.1:10086', 'request_timeout': 600, 'timeout': 300, 'single_chat_prefix': ['bot', '@bot'], 'single_chat_reply_prefix': '[bot] ', 'group_chat_prefix': ['@bot'], 'group_name_white_list': ['ChatGPT测试群', 'ChatGPT测试群2'], 'group_chat_in_one_session': ['ChatGPT测试群'], 'image_create_prefix': ['画', '看', '找'], 'speech_recognition': False, 'group_speech_recognition': False, 'voice_reply_voice': False, 'conversation_max_tokens': 1000, 'expires_in_seconds': 3600, 'character_desc': '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。', 'subscribe_msg': '感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输入。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持tool、角色扮演和文字冒险等丰富的插件。\n输入{trigger_prefix}#help 查看详细指令。'} [INFO][2023-05-05 19:10:34][config.py:143] - [Config] User datas loaded. C:\ProgramData\anaconda3\envs\chatgpt\lib\site-packages\pydub\utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) [INFO][2023-05-05 19:10:34][plugin_manager.py:50] - Loading plugins config... [INFO][2023-05-05 19:10:34][plugin_manager.py:66] - Scaning plugins ... [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Banwords_v1.0 registered, path=./plugins\banwords [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin BDunit_v0.1 registered, path=./plugins\bdunit [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Dungeon_v1.0 registered, path=./plugins\dungeon [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Finish_v1.0 registered, path=./plugins\finish [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Godcmd_v1.0 registered, path=./plugins\godcmd [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Hello_v0.1 registered, path=./plugins\hello [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Keyword_v0.1 registered, path=./plugins\keyword [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin Role_v1.0 registered, path=./plugins\role chatgpt-tool-hub version: 0.4.3 [INFO][2023-05-05 19:10:34][plugin_manager.py:41] - Plugin tool_v0.4 registered, path=./plugins\tool [INFO][2023-05-05 19:10:34][godcmd.py:181] - [Godcmd] 因未设置口令,本次的临时口令为6512。 [INFO][2023-05-05 19:10:34][godcmd.py:196] - [Godcmd] inited [INFO][2023-05-05 19:10:34][keyword.py:40] - [keyword] {} [INFO][2023-05-05 19:10:34][keyword.py:42] - [keyword] inited. [INFO][2023-05-05 19:10:34][init.py:29] - [visual_dl] init failed, error_info: ModuleNotFoundError("No module named 'torch'") [INFO][2023-05-05 19:10:34][init.py:29] - [visual_dl] init failed, error_info: ModuleNotFoundError("No module named 'torch'") [INFO][2023-05-05 19:10:35][chatgpt.py:169] - success use proxy: http://127.0.0.1:10086 [INFO][2023-05-05 19:10:35][victorinox.py:86] - use_tools=['terminal', 'python', 'url-get', 'meteo-weather'], params: {'debug': False, 'openai_api_key': 'sk-', 'open_ai_api_base': '', 'proxy': 'http://127.0.0.1:10086', 'request_timeout': 600, 'model_name': 'gpt-3.5-turbo', 'no_default': False, 'top_k_results': 3, 'news_api_key': '', 'bing_subscription_key': '', 'google_api_key': '', 'google_cse_id': '', 'searx_search_host': '', 'wolfram_alpha_appid': '', 'morning_news_api_key': '', 'cuda_device': 'cpu', 'think_depth': 3, 'arxiv_summary': True, 'morning_news_use_llm': False} [INFO][2023-05-05 19:10:35][tool.py:32] - [tool] inited [INFO][2023-05-05 19:10:35][role.py:69] - [Role] inited [INFO][2023-05-05 19:10:35][dungeon.py:56] - [Dungeon] inited [INFO][2023-05-05 19:10:35][hello.py:23] - [Hello] inited [INFO][2023-05-05 19:10:35][finish.py:23] - [Finish] inited Please press confirm on your phone. Loading the contact, this may take a little while. [INFO][2023-05-05 19:10:54][wechat_channel.py:124] - Wechat login success, user_id: @618**, nickname: ** Login successfully as ** Start auto replying. [INFO][2023-05-05 19:11:02][bridge.py:30] - create bot chatGPT for chat [INFO][2023-05-05 19:11:02][chat_gpt_bot.py:49] - [CHATGPT] query=你好 [WARNING][2023-05-05 19:11:08][chat_gpt_bot.py:138] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000281917AB160>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))) [INFO][2023-05-05 19:11:08][wechat_channel.py:187] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR] 我连接不到你的网络), receiver=@618d50ff176ab3e917c005aa9700... 一直报这个错,微信连上了,用的pandafan设置了PAC白名单,开始显示[chatgpt.py:169] - success use proxy: http://127.0.0.1:10086,但是后面就一直报错:由于目标计算机积极拒绝,无法连接 哪位大神帮忙指点一下

自己解决了:
配置中把原来的
"proxy": "http://127.0.0.1:10080",
改成:
"proxy": {"http": "http://localhost:10080", "https": "http://localhost:10080"},
就OK了

方案三:RailWay 一键署 (推荐)
铁路每月提供5刀和最多500小时的免费额度。
进入铁路
点击立即部署按钮
设置环境变量来重新加载程序运行的参数,例如open_ai_api_key, character_desc
等候运行,扫描登录即可享用

微信截图_20230508134159
这个是什么原因?

commented

有没有好用的机场推荐

commented

Please press confirm on your phone.
[ERROR][2023-05-10 15:18:33][app.py:52] - App startup failed!
[ERROR][2023-05-10 15:18:33][app.py:53] - 'wxsid'
Traceback (most recent call last):
File "F:\jiqiren\chatgpt-on-wechat\app.py", line 50, in run
channel.startup()
File "F:\jiqiren\chatgpt-on-wechat\channel\wechat\wechat_channel.py", line 116, in startup
itchat.auto_login(
File "F:\jiqiren\chatgpt-on-wechat\lib\itchat\components\register.py", line 38, in auto_login
self.login(enableCmdQR=enableCmdQR, picDir=picDir, qrCallback=qrCallback,
File "F:\jiqiren\chatgpt-on-wechat\lib\itchat\components\login.py", line 61, in login
status = self.check_login()
File "F:\jiqiren\chatgpt-on-wechat\lib\itchat\components\login.py", line 154, in check_login
if process_login_info(self, r.text):
File "F:\jiqiren\chatgpt-on-wechat\lib\itchat\components\login.py", line 206, in process_login_info
core.loginInfo['wxsid'] = core.loginInfo['BaseRequest']['Sid'] = cookies["wxsid"]
KeyError: 'wxsid'这个错误怎么解决

我也这样...有处理方案叫我下

我来推荐一个我目前在用的解决方案: 在外网服务器搭建一个api.openai.com的反向代理,使用这个教程里面的链接去购买外网服务器 https://www.typemylife.com/how-to-register-openai-chatgpt-get-api-key-create-api-proxy-in-china/ 推荐买这个https://my.racknerd.com/aff.php?aff=7407&pid=358,一年才几十块钱 在VPS上安装Docker服务后,使用此镜像服务,一键搭建反向代理

之后修改config.json文件 把 "proxy": "127.0.0.1:7890", 去掉,换成 "open_ai_api_base": "http://xxx.xxx.xxx.xxx:port/v1", # 其中xxx和port是上面你搭建的反向代理openapi的ip和端口

非常香!

@wjfkook 请问port在哪? 是这里得https://hub.docker.com/r/mirrors2/chatgpt-api-proxy ports: - 80:80吗?是应该写80吗?比如是这样写吗
"open_ai_api_base": "http://192.200.207.88:80/v1"

目前的几种方案:

1.直接部署在外网的服务器: 比如 xx云的香港服务器

2.国内环境开代理: 需要 代理软件 及 代理账号

3.托管到容器平台: 如Railway等平台。

背景及讨论过程参考:#310

补充方案4:通过cloudfare works创建api代理,国内服务器直接调用自己的api网址!:https://mp.weixin.qq.com/s/SYGPuHKO7ShzfmBGsQ363w

方案三:RailWay 一键部署 (推荐)

Railway 每月提供5刀和最多500小时的免费额度。

  1. 进入 Railway
  2. 点击 Deploy Now 按钮
  3. 设置环境变量来重载程序运行的参数,例如open_ai_api_key, character_desc
  4. 等待运行,扫码登录即可享用

请问方案三用微信登录经常掉线是什么情况呢?

openai.error.InvalidRequestError: Invalid URL (POST /v1/openai/deployments/gpt-3.5-turbo/chat/completions) 在railway上部署,提示无效URL,但是本地跑没有问题,railway的配置文件也没有啥问题呀,咋回事

解决了吗?

python3.9版本在开了代理的情况下会运行报错,请降低urllib3模块的版本即可,pip install urllib3==1.25.11

真的解决了,谢谢大佬!

[CHATGPT] APIConnectionError: Error communicating with OpenAI: ('Connection aborted.', BadStatusLine('\x83\x00\x00\x01\x8f'))
[INFO][2023-06-12 15:52:04][wechat_channel.py:186] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR]
我连接不到你的网络), receiver=@fd7c3a0a45aa6ab0d4dee1a39229dfcf8639951840654b4fe9f6ce52af235fff

大佬,这个问题怎么解决

关于部署在国外服务器上的方案,我这边可以提供,比较稳定,有兴趣可以联系

日志:
Start auto replying.
[INFO][2023-08-24 14:16:20][bridge.py:34] - create bot chatGPT for chat
[INFO][2023-08-24 14:16:20][chat_gpt_bot.py:49] - [CHATGPT] query=你好
[WARNING][2023-08-24 14:17:23][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000013FE96F3100>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))
[INFO][2023-08-24 14:17:24][wechat_channel.py:189] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR]
我连接不到你的网络), receiver=@@8dba878239f5a01cc44f395674a62dd4ddb55ad04182e67f6b47bef4542865e5

运用了方案2,用的是clash代理,启动了pac代理模式,也改了proxy,虽然可以登录微信了,但还是说连接尝试失败,然后我通过加速器访问openai的时候,可以经行注册和登录,但每次登录会报无法验证的问题,大佬们请问该怎么解决

日志: Start auto replying. 开始自动回复。 [INFO][2023-08-24 14:16:20][bridge.py:34] - create bot chatGPT for chat[信息][2023-08-24 14:16:20][bridge.py:34] - 创建用于聊天的机器人聊天GPT [INFO][2023-08-24 14:16:20][chat_gpt_bot.py:49] - [CHATGPT] query=你好[信息][2023-08-24 14:16:20][chat_gpt_bot.py:49] - [聊天] 查询=你好 [WARNING][2023-08-24 14:17:23][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000013FE96F3100>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))[警告][2023-08-24 14:17:23][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: 与 OpenAI 通信时出错: HTTPSConnectionPool(host='api.openai.com', port=443): 超过 url 的最大重试次数: /v1/chat/completions (由 NewConnectionError(' 引起: 无法建立新连接: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')) [INFO][2023-08-24 14:17:24][wechat_channel.py:189] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR][信息][2023-08-24 14:17:24][wechat_channel.py:189] - [WX] 发送Msg=回复(类型=错误,内容=[错误] 我连接不到你的网络), receiver=@@8dba878239f5a01cc44f395674a62dd4ddb55ad04182e67f6b47bef4542865e5 我连接不到你的网络), receiver=@@8dba878239f5a01cc44f395674a62dd4ddb55ad04182e67f6b47bef4542865e5

运用了方案2,用的是clash代理,启动了pac代理模式,也改了proxy,虽然可以登录微信了,但还是说连接尝试失败,然后我通过加速器访问openai的时候,可以经行注册和登录,但每次登录会报无法验证的问题,大佬们请问该怎么解决

你在calsh中打开了允许局域网连接(Allow LAN)吗?

可以添加支持更改官方的请求地址吗,把 https://api.openai.com 更改为 https://123123.com 这种?

commented

目前的几种方案:

1.直接部署在外网的服务器: 比如 xx云的香港服务器

2.国内环境开代理: 需要 代理软件 及 代理账号

3.托管到容器平台: 如Railway等平台。

背景及讨论过程参考:#310

请教下方案一,香港地区不是也限制了OpenAI的访问吗?如果确认香港服务器可以的话,我就去申请一台。看到凡请答复下,谢谢

方案一:这个方案优点是比较简单,缺点是依赖能访问外网的服务器,成本较高。唯一需要注意的是,服务器最好选择openai支持的地区,且需要访问wechat的后台。

相关issue:#344

更新 03.11: 目前使用方案一被openai限制风险小

我自己搭建了一个国外的vpn服务器,国内服务器连接vpn还是不能使用openai的接口,大佬有解决方案吗?

ProxyError: ('Unable to connect to proxy', OSError(0, 'Error'))

ProxyError: ('无法连接到代理', OSError(0, '错误'))

求大佬解决

在新版的compose参数时(官网复制的),无法正常启动容器,使用旧版的compose参数(此前部署成功后的)可以正常启动并使用,发现新版的缺了OPEN_AI_API_BASE字段,我用ollama的挨批地址填在proxy就不能用了,这个OPEN_AI_API_BASE参数相关的内容可以在官网compose加回来吗


COW搭建环境:docker
对接API:fastgpt、ollama
问题:新旧compose参数有差异

新的compose文件:

version: '2.0'
services:
  chatgpt-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: chatgpt-on-wechat
    security_opt:
      - seccomp:unconfined
    environment:
      OPEN_AI_API_KEY: 'ollama'
      MODEL: 'openchat:7b-v3.5-1210-q6_K'
      PROXY: 'https://myserver.com/v1'
      SINGLE_CHAT_PREFIX: '["bot", "@bot"]'
      SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
      IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
      CONVERSATION_MAX_TOKENS: 1000
      SPEECH_RECOGNITION: 'False'
      CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      USE_LINKAI: 'False'
      LINKAI_API_KEY: ''
      LINKAI_APP_CODE: ''

旧的compose:

version: '2.0'
services:
  chatgpt-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: chatgpt-on-wechat
    security_opt:
      - seccomp:unconfined
    environment:
      OPEN_AI_API_KEY: 'ollama'
      MODEL: 'openchat:7b-v3.5-1210-q6_K'
      OPEN_AI_API_BASE: 'https://myserver.com/v1'
      PROXY: ''
      SINGLE_CHAT_PREFIX: '[""]'
      SINGLE_CHAT_REPLY_PREFIX: '""'
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
      IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
      CONVERSATION_MAX_TOKENS: 128000
      SPEECH_RECOGNITION: 'true'
      CHARACTER_DESC: '你是一个情场老手的知性大姐姐,可以使用多种语言与人交流。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      USE_LINKAI: 'False'
      LINKAI_API_KEY: ''
      LINKAI_APP_CODE: ''

在新版的compose参数时(官网复制的),无法正常启动容器,使用旧版的compose参数(此前部署成功后的)可以正常启动并使用,发现新版的缺了OPEN_AI_API_BASE字段,我用ollama的挨批地址填在proxy就不能用了,这个OPEN_AI_API_BASE参数相关的内容可以在官网compose加回来吗

COW搭建环境:docker

对接API:fastgpt、ollama
问题:新旧compose参数有差异
新的compose文件:

version: '2.0'
services:
  chatgpt-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: chatgpt-on-wechat
    security_opt:
      - seccomp:unconfined
    environment:
      OPEN_AI_API_KEY: 'ollama'
      MODEL: 'openchat:7b-v3.5-1210-q6_K'
      PROXY: 'https://myserver.com/v1'
      SINGLE_CHAT_PREFIX: '["bot", "@bot"]'
      SINGLE_CHAT_REPLY_PREFIX: '"[bot] "'
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
      IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
      CONVERSATION_MAX_TOKENS: 1000
      SPEECH_RECOGNITION: 'False'
      CHARACTER_DESC: '你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      USE_LINKAI: 'False'
      LINKAI_API_KEY: ''
      LINKAI_APP_CODE: ''

旧的compose:

version: '2.0'
services:
  chatgpt-on-wechat:
    image: zhayujie/chatgpt-on-wechat
    container_name: chatgpt-on-wechat
    security_opt:
      - seccomp:unconfined
    environment:
      OPEN_AI_API_KEY: 'ollama'
      MODEL: 'openchat:7b-v3.5-1210-q6_K'
      OPEN_AI_API_BASE: 'https://myserver.com/v1'
      PROXY: ''
      SINGLE_CHAT_PREFIX: '[""]'
      SINGLE_CHAT_REPLY_PREFIX: '""'
      GROUP_CHAT_PREFIX: '["@bot"]'
      GROUP_NAME_WHITE_LIST: '["ChatGPT测试群", "ChatGPT测试群2"]'
      IMAGE_CREATE_PREFIX: '["画", "看", "找"]'
      CONVERSATION_MAX_TOKENS: 128000
      SPEECH_RECOGNITION: 'true'
      CHARACTER_DESC: '你是一个情场老手的知性大姐姐,可以使用多种语言与人交流。'
      EXPIRES_IN_SECONDS: 3600
      USE_GLOBAL_PLUGIN_CONFIG: 'True'
      USE_LINKAI: 'False'
      LINKAI_API_KEY: ''
      LINKAI_APP_CODE: ''

不过时间久远...不排除OPEN_AI_API_BASE这参数是从某个大佬的配置里抄过来的...结果就是希望...可行的话官方大大在官方配置里加一下

python3.9版本在开了代理的情况下会运行报错,请降低urllib3模块的版本即可,pip install urllib3==1.25.11

image
为什么我找不到这个

image
这个问题有解决方案吗?

如果自己有openai的key,可以参考这个仓库部署openi的代理地址chatgptProxyAPI

我来推荐一个我目前在用的解决方案: 在外网服务器搭建一个api.openai.com的反向代理,使用这个教程里面的链接去购买外网服务器 https://www.typemylife.com/how-to-register-openai-chatgpt-get-api-key-create-api-proxy-in-china/ 推荐买这个https://my.racknerd.com/aff.php?aff=7407&pid=358,一年才几十块钱 在VPS上安装Docker服务后,使用此镜像服务,一键搭建反向代理
之后修改config.json文件 把 "proxy": "127.0.0.1:7890", 去掉,换成 "open_ai_api_base": "http://xxx.xxx.xxx.xxx:port/v1", # 其中xxx和port是上面你搭建的反向代理openapi的ip和端口
非常香!

@wjfkook 请问port在哪? 是这里得https://hub.docker.com/r/mirrors2/chatgpt-api-proxy ports: - 80:80吗?是应该写80吗?比如是这样写吗 "open_ai_api_base": "http://192.200.207.88:80/v1"

正在想难道不支持base_url,这下帮大忙了

我来推荐一个我目前在用的解决方案: 在外网服务器搭建一个api.openai.com的反向代理,使用这个教程里面的链接去购买外网服务器 https://www.typemylife.com/how-to-register-openai-chatgpt-get-api-key-create-api-proxy-in-china/ 推荐买这个https://my.racknerd.com/aff.php?aff=7407&pid=358,一年才几十块钱 在VPS上安装Docker服务后,使用此镜像服务,一键搭建反向代理
之后修改config.json文件 把 "proxy": "127.0.0.1:7890", 去掉,换成 "open_ai_api_base": "http://xxx.xxx.xxx.xxx:port/v1", # 其中xxx和port是上面你搭建的反向代理openapi的ip和端口
非常香!

@wjfkook 请问port在哪? 是这里得https://hub.docker.com/r/mirrors2/chatgpt-api-proxy ports: - 80:80吗?是应该写80吗?比如是这样写吗 "open_ai_api_base": "http://192.200.207.88:80/v1"

正在想难道不支持base_url,这下帮大忙了

请问这里面的外网服务器的教程和购买方式,似乎404了

我来推荐一个我目前在用的解决方案: 在外网服务器搭建一个api.openai.com的反向代理,使用这个教程里面的链接去购买外网服务器 https://www.typemylife.com/how-to-register-openai-chatgpt-get-api-key-create-api-proxy-in-china/ 推荐买这个https://my.racknerd.com/aff.php?aff=7407&pid=358,一年才几十块钱 在VPS上安装Docker服务后,使用此镜像服务,一键搭建反向代理
之后修改config.json文件 把 "proxy": "127.0.0.1:7890", 去掉,换成 "open_ai_api_base": "http://xxx.xxx.xxx.xxx:port/v1", # 其中xxx和port是上面你搭建的反向代理openapi的ip和端口
非常香!

@wjfkook 请问port在哪? 是这里得https://hub.docker.com/r/mirrors2/chatgpt-api-proxy ports: - 80:80吗?是应该写80吗?比如是这样写吗 "open_ai_api_base": "http://192.200.207.88:80/v1"

正在想难道不支持base_url,这下帮大忙了

请问这里面的外网服务器的教程和购买方式,似乎404了

方案二

原理是通过本地安装的 代理客户端 把 请求转发到 代理服务器,再由能访问外网的代理服务器完成请求。 现在常用的代理协议有 Shadowsocks、V2Ray、Trojan等,这些协议一般会有自己特定的客户端。 而 clash 是一个能同时兼容这些协议的客户端, 所以下面以 clash 为例介绍下如何使用。

1.代理客户端启动

vpn账号的获取就不赘述了,因为获取openai的API_KEY时就是需要代理的。 在本地开发环境启动代理客户端比较简单,一般都有图形界面,打开后就会把所有流量都转发到代理客户端,此时注意要开启分流模式 (PAC, 即访问国内域名不转发),不然可能访问不了wx。

如果是在服务器命令行环境,需要找一个能在linux运行的代理客户端。以clash为例,下载 clash-linux-amd64-v1.13.0.gz, 在服务器上解压并运行 sudo ./clash-linux-amd64-v1.13.0 即可。 同时需要一个 ~/.config/clash/config.yml 配置文件,一般你获取账号的地方 (机场) 都会提供的。

启动后 clash 会监听本地的 7890 端口,所有往这个端口发送的请求都会按照一定规则 转发到 代理服务器 完成访问。

2.程序启动

启动前要在config.json 中加一个proxy配置:

{
  "open_ai_api_key": "YOUR API KEY",
  "proxy": "http://127.0.0.1:7890",
  "single_chat_prefix": ["bot", "@bot"],
  #... 省略 ...
}

这个配置的含义是,所有向openai发送的请求都会发送到 http://127.0.0.1:7890, 这正是clash监听的端口。 如果你用的是别的代理客户端,就改成对应的端口,比如使用 trojan-qt5 会配成 http://127.0.0.1:1080。 这样的好处是只有访问openai时会走到代理,不会影响和wx的交互。

配置添加完后,正常启动程序就可以访问 chatgpt 接口了。

按照这个方法配置后,仍会报如下错,正常的网页是可以访问chatGpt网站的,Trojan-QT5 的入站设置中socks5端口、http端口、PAC端口、Haproxy端口、haproxy状态端口以及出站端口受改为了1086,在config.json中设置为: "proxy": {"http": "http://localhost:1086", "https": "http://localhost:1086"}, 大佬能帮忙看看什么原因吗?

[INFO][2024-06-16 22:47:57][chat_gpt_bot.py:49] - [CHATGPT] query=可可第
[WARNING][2024-06-16 22:48:09][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CD782088E0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
[WARNING][2024-06-16 22:48:14][chat_gpt_bot.py:160] - [CHATGPT] 第1次重试
[WARNING][2024-06-16 22:48:26][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CD78F68AF0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
[WARNING][2024-06-16 22:48:31][chat_gpt_bot.py:160] - [CHATGPT] 第2次重试
[WARNING][2024-06-16 22:48:44][chat_gpt_bot.py:150] - [CHATGPT] APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CD78F68C10>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
[INFO][2024-06-16 22:48:44][wechat_channel.py:217] - [WX] sendMsg=Reply(type=ERROR, content=[ERROR]
我连接不到你的网络), receiver=@05b254d24974fbd86c86d4ed32c8ef447ea1c7bfa495e73a2f218c50bfac72ef