Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.01 代码 bug 专用 #50

Closed
SnapdragonLee opened this issue Mar 21, 2023 · 48 comments
Closed

v1.01 代码 bug 专用 #50

SnapdragonLee opened this issue Mar 21, 2023 · 48 comments
Labels
bug Something isn't working documentation Improvements or additions to documentation

Comments

@SnapdragonLee
Copy link
Owner

由于新加入了个别包,请更新代码之后,运行一次 pip install -r requirements.txt

@SnapdragonLee SnapdragonLee added bug Something isn't working documentation Improvements or additions to documentation labels Mar 21, 2023
@SnapdragonLee SnapdragonLee pinned this issue Mar 21, 2023
@TobyCheng2012
Copy link

报错这个,这是帐户没钱了吗?


ask:今天吃什么??
Exception in thread Thread-5:
Traceback (most recent call last):
File "C:\Users\admin-toby\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "C:\Users\admin-toby\Desktop\ChatGPT-weBot-1.00\multithread\threads.py", line 23, in run
item.play()
File "C:\Users\admin-toby\Desktop\ChatGPT-weBot-1.00\basic\task.py", line 70, in play
self.reply += self.bot.ask(prompt=self.prompt, access_internet=self.access,
File "C:\Users\admin-toby\Desktop\ChatGPT-weBot-1.00\apibase\ChatGPTAPI.py", line 200, in ask
response_text = content["choices"][0]["message"]
KeyError: 'choices'

@SnapdragonLee
Copy link
Owner Author

SnapdragonLee commented Mar 21, 2023

@TobyCheng2012 你需要确保你的 api token还有余额,且账户访问正常

@joe12801
Copy link

怎么还没有支持多账号

@SnapdragonLee
Copy link
Owner Author

@joe12801 因为一个账号的 API 调用支持多线程

@angwz
Copy link

angwz commented Mar 21, 2023

`PS C:\Users\Weii\ChatGPT-weBot-1.00> python main.py
{'content': '{"wx_code":"wangbbeii","wx_id":"wxid_3311mtzl5xhb22","wx_name":"ChatGPT"}', 'id': '20230321213230', 'receiver': 'CLIENT', 'sender': 'SERVER', 'srvid': 1, 'status': 'SUCCSESSED', 'time': '2023-03-21 21:32:30', 'type': 6500}
{'content': '在吗', 'id': '20230321213403', 'id1': '', 'id2': '', 'id3': '', 'srvid': 1, 'time': '2023-03-21 21:34:03', 'type': 1, 'wxid': 'wxid_lj3li0hay9r522'}
ask:在吗
Exception in thread Thread-5:
Traceback (most recent call last):
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\connectionpool.py", line 386, in _make_request
self._validate_conn(conn)
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\connectionpool.py", line 1042, in validate_conn
conn.connect()
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\connection.py", line 414, in connect
self.sock = ssl_wrap_socket(
^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\util\ssl
.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\util\ssl
.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\ssl.py", line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python311\Lib\ssl.py", line 1075, in _create
self.do_handshake()
File "C:\Program Files\Python311\Lib\ssl.py", line 1346, in do_handshake
self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:992)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\requests\adapters.py", line 489, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\connectionpool.py", line 787, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\urllib3\util\retry.py", line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: 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:992)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Program Files\Python311\Lib\threading.py", line 1038, in _bootstrap_inner
self.run()
File "C:\Users\Weii\ChatGPT-weBot-1.00\multithread\threads.py", line 23, in run
item.play()
File "C:\Users\Weii\ChatGPT-weBot-1.00\basic\task.py", line 70, in play
self.reply += self.bot.ask(prompt=self.prompt, access_internet=self.access,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\ChatGPT-weBot-1.00\apibase\ChatGPTAPI.py", line 177, in ask
response = self.session.post(
^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\requests\sessions.py", line 635, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\requests\sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\requests\sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Weii\AppData\Roaming\Python\Python311\site-packages\requests\adapters.py", line 563, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: 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:992)')))`

这个是什么地方的错误呢,懵逼了

@SnapdragonLee
Copy link
Owner Author

SnapdragonLee commented Mar 21, 2023

@angwz 这是代理错误的问题,说明没有走代理通道
例如用的clash的yaml格式文件,你应该加入openai.com的代理规则:
- DOMAIN-SUFFIX,openai.com, 你的规则

@angwz
Copy link

angwz commented Mar 21, 2023

好的,谢谢大佬

@nulshell
Copy link

新版本我也碰到连接问题,我是放了一台闲置电脑在工作的网络环境,那里的互联网连接需要走单位的代理服务器和端口,已经在 api_config.json 里的 "proxy" 那里填了,前几个版本的时候都没问题,新版本出现与上面的朋友类似的错误:

ask:How are you, chatgpt?
Exception in thread Thread-6:
Traceback (most recent call last):
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request
self._validate_conn(conn)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 1042, in validate_conn
conn.connect()
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connection.py", line 414, in connect
self.sock = ssl_wrap_socket(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl
.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl
.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1071, in _create
self.do_handshake()
File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\adapters.py", line 489, in send
resp = conn.urlopen(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen
retries = retries.increment(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\retry.py", line 550, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\packages\six.py", line 769, in reraise
raise value.with_traceback(tb)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request
self._validate_conn(conn)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 1042, in validate_conn
conn.connect()
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connection.py", line 414, in connect
self.sock = ssl_wrap_socket(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl
.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl
.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1071, in _create
self.do_handshake()
File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\vmware\miniconda3\envs\bot\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "C:\Users\vmware\Downloads\ChatGPT-weBot-master-v4\multithread\threads.py", line 23, in run
item.play()
File "C:\Users\vmware\Downloads\ChatGPT-weBot-master-v4\basic\task.py", line 70, in play
self.reply += self.bot.ask(prompt=self.prompt, access_internet=self.access,
File "C:\Users\vmware\Downloads\ChatGPT-weBot-master-v4\apibase\ChatGPTAPI.py", line 147, in ask
response = requests.get('https://ddg-webapp-aagd.vercel.app/search', headers=headers, params=params,
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\adapters.py", line 547, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

请问还有哪里需要什么修改吗?

@nulshell
Copy link

还有 config.json 里面的 "internetKey": "-o" 设置的目的是什么呢?

@shuyaoyao
Copy link

我有一些长文回复变成了很多段,输入继续也只会输出接下来的十几个字,这是什么原因呢?

@ymeimei
Copy link

ymeimei commented Mar 22, 2023

不小心发送为空时报错,另外和上面一样有时候一段文字就截取两个字发出来,要说很多次继续才会完整。
03

@SnapdragonLee
Copy link
Owner Author

新版本我也碰到连接问题,我是放了一台闲置电脑在工作的网络环境,那里的互联网连接需要走单位的代理服务器和端口,已经在 api_config.json 里的 "proxy" 那里填了,前几个版本的时候都没问题,新版本出现与上面的朋友类似的错误:

ask:How are you, chatgpt? Exception in thread Thread-6: Traceback (most recent call last): File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 1042, in validate_conn conn.connect() File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connection.py", line 414, in connect self.sock = ssl_wrap_socket( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl.py", line 449, in ssl_wrap_socket ssl_sock = ssl_wrap_socket_impl( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 513, in wrap_socket return self.sslsocket_class._create( File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1071, in _create self.do_handshake() File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1342, in do_handshake self._sslobj.do_handshake() ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\adapters.py", line 489, in send resp = conn.urlopen( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen retries = retries.increment( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\retry.py", line 550, in increment raise six.reraise(type(error), error, _stacktrace) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\packages\six.py", line 769, in reraise raise value.with_traceback(tb) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request self._validate_conn(conn) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connectionpool.py", line 1042, in validate_conn conn.connect() File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\connection.py", line 414, in connect self.sock = ssl_wrap_socket( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl.py", line 449, in ssl_wrap_socket ssl_sock = ssl_wrap_socket_impl( File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\urllib3\util\ssl.py", line 493, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 513, in wrap_socket return self.sslsocket_class._create( File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1071, in _create self.do_handshake() File "C:\Users\vmware\miniconda3\envs\bot\lib\ssl.py", line 1342, in do_handshake self._sslobj.do_handshake() urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\vmware\miniconda3\envs\bot\lib\threading.py", line 1016, in _bootstrap_inner self.run() File "C:\Users\vmware\Downloads\ChatGPT-weBot-master-v4\multithread\threads.py", line 23, in run item.play() File "C:\Users\vmware\Downloads\ChatGPT-weBot-master-v4\basic\task.py", line 70, in play self.reply += self.bot.ask(prompt=self.prompt, access_internet=self.access, File "C:\Users\vmware\Downloads\ChatGPT-weBot-master-v4\apibase\ChatGPTAPI.py", line 147, in ask response = requests.get('https://ddg-webapp-aagd.vercel.app/search', headers=headers, params=params, File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\api.py", line 73, in get return request("get", url, params=params, **kwargs) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\api.py", line 59, in request return session.request(method=method, url=url, **kwargs) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\sessions.py", line 587, in request resp = self.send(prep, **send_kwargs) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\sessions.py", line 701, in send r = adapter.send(request, **kwargs) File "C:\Users\vmware\miniconda3\envs\bot\lib\site-packages\requests\adapters.py", line 547, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

请问还有哪里需要什么修改吗?

还是代理的问题,这个说明程序本身没有走上代理,因为前几个版本连接的服务器是acheong的反代服务器,国内没有封

@SnapdragonLee
Copy link
Owner Author

还有 config.json 里面的 "internetKey": "-o" 设置的目的是什么呢?

注意看readme中默认配置指引,里面有详细介绍和用法

@SnapdragonLee
Copy link
Owner Author

SnapdragonLee commented Mar 22, 2023

我有一些长文回复变成了很多段,输入继续也只会输出接下来的十几个字,这是什么原因呢?

API版本最多支持4096 token的提问,并且为了上下文回复,在获得回答的时候也需要当成问题放进去,为了不超过4096字符导致报错,完成方式是一个FIFO队列,每次发送的问题超过字数限制时,会挤掉开始的对话,这样可以根据剩余的会话token来制定回复字数。

另外,建议用英语提问,中文提问价格基本是英语的2倍以上,中文每个字算2个token,英语一个词大约1.25个token

@SnapdragonLee
Copy link
Owner Author

@ymeimei 这个可能是Token用光了

@SnapdragonLee
Copy link
Owner Author

建议大家为了省一省token,可以在完成一个主题的对话的时候,及时总结或重置对话

@ymeimei
Copy link

ymeimei commented Mar 22, 2023

@ymeimei 这个可能是Token用光了

看来要省着用了

@BarryAllen-Arrow
Copy link

-p指令,虽然提示说设置成功了,但是并没有用诶!它还是按照api-config里面的system prompt来扮演,就算我删掉api-config里面的system prompt,它也只是扮演普通的ai,没有根据比如说:-p魅魔 的指令来角色扮演

@BarryAllen-Arrow
Copy link

-p指令,虽然提示说设置成功了,但是并没有用诶!它还是按照api-config里面的system prompt来扮演,就算我删掉api-config里面的system prompt,它也只是扮演普通的ai,没有根据比如说:-p魅魔 的指令来角色扮演

问题解决了,是因为没更新requirements。更新了以后就没问题了。但是我又有一个新的小疑问,能否让机器人回到原始默认的状态,也就是清除掉-p的效果?

@SnapdragonLee
Copy link
Owner Author

SnapdragonLee commented Mar 22, 2023

你说的对,这部分漏掉了 @BarryAllen-Arrow

@BarryAllen-Arrow
Copy link

你说的对,这部分漏掉了 @BarryAllen-Arrow

感谢大佬!新版的机器人,顺滑了很多也有趣了很多!我自己在json文件里面添加了一个"重置": ""的角色,然后我就可以使用-p重置来重置它了哈哈哈哈哈哈,小问题来的

@SnapdragonLee
Copy link
Owner Author

你说的对,这部分漏掉了 @BarryAllen-Arrow

感谢大佬!新版的机器人,顺滑了很多也有趣了很多!我自己在json文件里面添加了一个"重置": ""的角色,然后我就可以使用-p重置来重置它了哈哈哈哈哈哈,小问题来的

哈哈哈我的,我忘记加了,谢谢你的提醒,一会加一下

@moonairyo
Copy link

请教大佬,聊天功能可以正常使用,但是使用画图功能报错,没有图像
{'content': '-i The spirit of a tamagotchi wandering in the city of Paris', 'id'
: '20230322224150', 'id1': '', 'id2': '', 'id3': '', 'srvid': 1, 'time': '2023-0
3-22 22:41:50', 'type': 1, 'wxid': 'wxid_4iiepk03wy7822'}
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local
issuer certificate (_ssl.c:1123)
Stable Diffusion V2.1 arts are done!

@BarryAllen-Arrow
Copy link

请教大佬,聊天功能可以正常使用,但是使用画图功能报错,没有图像 {'content': '-i The spirit of a tamagotchi wandering in the city of Paris', 'id' : '20230322224150', 'id1': '', 'id2': '', 'id3': '', 'srvid': 1, 'time': '2023-0 3-22 22:41:50', 'type': 1, 'wxid': 'wxid_4iiepk03wy7822'} [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123) Stable Diffusion V2.1 arts are done!

是的,我也遇到同样的问题,不知道为什么。是不是因为要在服务器机器上部署了stablediffusion的webui才能用呀?

@SnapdragonLee
Copy link
Owner Author

SnapdragonLee commented Mar 22, 2023

请教大佬,聊天功能可以正常使用,但是使用画图功能报错,没有图像 {'content': '-i The spirit of a tamagotchi wandering in the city of Paris', 'id' : '20230322224150', 'id1': '', 'id2': '', 'id3': '', 'srvid': 1, 'time': '2023-0 3-22 22:41:50', 'type': 1, 'wxid': 'wxid_4iiepk03wy7822'} [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123) Stable Diffusion V2.1 arts are done!

是的,我也遇到同样的问题,不知道为什么。是不是因为要在服务器机器上部署了stablediffusion的webui才能用呀?

不是的 我调用的是hugging face - stable diffusion的api,可能是被侦察到了,但是无所谓,不需要账号。所以我可能得明天查一下怎么回事

@BarryAllen-Arrow
Copy link

请教大佬,聊天功能可以正常使用,但是使用画图功能报错,没有图像 {'content': '-i The spirit of a tamagotchi wandering in the city of Paris', 'id' : '20230322224150', 'id1': '', 'id2': '', 'id3': '', 'srvid': 1, 'time': '2023-0 3-22 22:41:50', 'type': 1, 'wxid': 'wxid_4iiepk03wy7822'} [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123) Stable Diffusion V2.1 arts are done!

是的,我也遇到同样的问题,不知道为什么。是不是因为要在服务器机器上部署了stablediffusion的webui才能用呀?

不是的 我调用的是hugging face - stable diffusion的api,可能是被侦察到了,但是无所谓,不需要账号。所以我可能得明天查一下怎么回事

好喔!

@BarryAllen-Arrow
Copy link

发现一个很奇怪的bug。机器人偶尔会对某个问题不应答,而且没有特定的条件和原因...就是随机的偶尔卡住,也不报错,就是一直在ask的状态,停着不动了。会不会是网络原因,或者openai服务器的原因?

@BarryAllen-Arrow
Copy link

BarryAllen-Arrow commented Mar 22, 2023

发现一个很奇怪的bug。机器人偶尔会对某个问题不应答,而且没有特定的条件和原因...就是随机的偶尔卡住,也不报错,就是一直在ask的状态,停着不动了。会不会是网络原因,或者openai服务器的原因?

测试了一下,跟角色扮演有一定的关系,如果是正常无system prompt的情况下,是没有问题的。但是一旦-p设定了某个角色,然后我提醒他注意保持它的角色,它就有几率卡住卡死。

经过继续测试发现,如果设定了角色,大概率第二个问题就会直接卡死,第一个问题ai还是按照角色来说话的,第二个问题,就卡死了。后续问他问题会继续回复。
image

再次再次测试发现,之前卡住的问题,经过很长时间以后,回复了(第二个问题的答复在第三个问题的答复后面才发给我),这可能就是多线程的痛吧hhhhh


再次测试发现,第二个问题不是经过很长时间回复,而是在第三个问题问出去以后,第二个问题的回答和第三个问题的回答一起发回来了。
总结:角色扮演会产生"卡死"bug,这个bug会让某些特定的问题(很有可能是第二个问题)卡住一直不回答,而这个卡住的问题的答案,会随着下一个问题的回答一起被发送回来。应该能根据这个特性来debug一下?

@BarryAllen-Arrow
Copy link

我发现有这些报错
image
image
不是很确定是什么问题引起的

@SnapdragonLee
Copy link
Owner Author

发现一个很奇怪的bug。机器人偶尔会对某个问题不应答,而且没有特定的条件和原因...就是随机的偶尔卡住,也不报错,就是一直在ask的状态,停着不动了。会不会是网络原因,或者openai服务器的原因?

这个是因为openai自己的API问题,我也遇到过了,他们自己的服务器经常不稳定

@SnapdragonLee
Copy link
Owner Author

我发现有这些报错 image image 不是很确定是什么问题引起的

按照常理来说,一个回答的时间限制应该为30秒以内,但是有测试过有的回答却长达6分钟才有可能回复。

截图里面就是超过了我预定设置的timeout时间,我给的时间是120s,下一个版本我会适当延长一些

@SnapdragonLee
Copy link
Owner Author

请教大佬,聊天功能可以正常使用,但是使用画图功能报错,没有图像 {'content': '-i The spirit of a tamagotchi wandering in the city of Paris', 'id' : '20230322224150', 'id1': '', 'id2': '', 'id3': '', 'srvid': 1, 'time': '2023-0 3-22 22:41:50', 'type': 1, 'wxid': 'wxid_4iiepk03wy7822'} [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123) Stable Diffusion V2.1 arts are done!

画图的API调用已经更新,按照道理来讲不会出现挤不进去队列的情况(原先服务器压力小的时候只需要1次就可以申请到100空间的等待队列,现在长时间服务器满载,因此更改成10次以内没有进入等待队列,就一直发送让API画图的请求,否则报错)

@SnapdragonLee
Copy link
Owner Author

更新了v1.01,修复了stable diffusion API 可能出现的报错问题,修改了重置会话时会一起把系统角色恢复为 api_config.json 中的 system_chracter

@SnapdragonLee SnapdragonLee changed the title v1.00 版代码 bug 专用 v1.01 代码 bug 专用 Mar 22, 2023
@moonairyo
Copy link

更新了v1.01,修复了stable diffusion API 可能出现的报错问题,修改了重置会话时会一起把系统角色恢复为 api_config.json 中的 system_chracter

更新了代码,我还是会报这个错,是哪里没有设置对么

@shuyaoyao
Copy link

我有一些长文回复变成了很多段,输入继续也只会输出接下来的十几个字,这是什么原因呢?

API版本最多支持4096 token的提问,并且为了上下文回复,在获得回答的时候也需要当成问题放进去,为了不超过4096字符导致报错,完成方式是一个FIFO队列,每次发送的问题超过字数限制时,会挤掉开始的对话,这样可以根据剩余的会话token来制定回复字数。

另外,建议用英语提问,中文提问价格基本是英语的2倍以上,中文每个字算2个token,英语一个词大约1.25个token

(API 模式 token 满后会清理一定的历史记录)我在别的项目看到有这样处理这个问题的,大佬也可以加一个试试

@SnapdragonLee
Copy link
Owner Author

@moonairyo 没有办法复现,我没有出现过这个错误呀,代理开了没?

@SnapdragonLee
Copy link
Owner Author

我有一些长文回复变成了很多段,输入继续也只会输出接下来的十几个字,这是什么原因呢?

API版本最多支持4096 token的提问,并且为了上下文回复,在获得回答的时候也需要当成问题放进去,为了不超过4096字符导致报错,完成方式是一个FIFO队列,每次发送的问题超过字数限制时,会挤掉开始的对话,这样可以根据剩余的会话token来制定回复字数。
另外,建议用英语提问,中文提问价格基本是英语的2倍以上,中文每个字算2个token,英语一个词大约1.25个token

(API 模式 token 满后会清理一定的历史记录)我在别的项目看到有这样处理这个问题的,大佬也可以加一个试试

目前就是用的这个方式,FIFO就是这个意思

@moonairyo
Copy link

@moonairyo 没有办法复现,我没有出现过这个错误呀,代理开了没?
我是用虚拟机跑的,通过Proxifier软件共享主机的代理,api_config里面并没有填写代理
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local
issuer certificate (_ssl.c:1123)
Stable Diffusion V2.1 arts are done!
-i 以后,这段报错提示非常迅速就出现了。

代理的日志:(发送了 三次 -i)
[03.23 15:32:50] python.exe - stabilityai-stable-diffusion.hf.space:443 open through proxy 192.168.1.7:10808 SOCKS5
[03.23 15:32:50] python.exe - stabilityai-stable-diffusion.hf.space:443 close, 524 bytes sent, 5389 bytes (5.26 KB) received, lifetime <1 sec
[03.23 15:33:38] python.exe - stabilityai-stable-diffusion.hf.space:443 open through proxy 192.168.1.7:10808 SOCKS5
[03.23 15:33:38] python.exe - stabilityai-stable-diffusion.hf.space:443 close, 524 bytes sent, 5389 bytes (5.26 KB) received, lifetime <1 sec
[03.23 15:34:17] python.exe - stabilityai-stable-diffusion.hf.space:443 (IPv6) open through proxy 192.168.1.7:10808 SOCKS5
[03.23 15:34:18] python.exe - stabilityai-stable-diffusion.hf.space:443 (IPv6) close, 524 bytes sent, 5389 bytes (5.26 KB) received, lifetime <1 sec

@SnapdragonLee
Copy link
Owner Author

@moonairyo 没有办法复现,我没有出现过这个错误呀,代理开了没?

我是用虚拟机跑的,通过Proxifier软件共享主机的代理,api_config里面并没有填写代理

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local

issuer certificate (_ssl.c:1123)

Stable Diffusion V2.1 arts are done!

-i 以后,这段报错提示非常迅速就出现了。

代理的日志:(发送了 三次 -i)

[03.23 15:32:50] python.exe - stabilityai-stable-diffusion.hf.space:443 open through proxy 192.168.1.7:10808 SOCKS5

[03.23 15:32:50] python.exe - stabilityai-stable-diffusion.hf.space:443 close, 524 bytes sent, 5389 bytes (5.26 KB) received, lifetime <1 sec

[03.23 15:33:38] python.exe - stabilityai-stable-diffusion.hf.space:443 open through proxy 192.168.1.7:10808 SOCKS5

[03.23 15:33:38] python.exe - stabilityai-stable-diffusion.hf.space:443 close, 524 bytes sent, 5389 bytes (5.26 KB) received, lifetime <1 sec

[03.23 15:34:17] python.exe - stabilityai-stable-diffusion.hf.space:443 (IPv6) open through proxy 192.168.1.7:10808 SOCKS5

[03.23 15:34:18] python.exe - stabilityai-stable-diffusion.hf.space:443 (IPv6) close, 524 bytes sent, 5389 bytes (5.26 KB) received, lifetime <1 sec

要不试试不用代理?反正是网络连接的问题

@SnapdragonLee
Copy link
Owner Author

emm我要说一下,目前这个 stable diffusion 在高压力的情况下还是会出现bug的情况,我会重新写一手这部分的代码,请大家不要急

@nulshell
Copy link

nulshell commented Apr 2, 2023

谢谢,那个代理的问题当时已解决,让那台电脑的系统设置里手动设置办公环境的代理后好了,就是发现信息从手机发到那台电脑上的微信收到会有明显的几秒延时,但也比在家里一直开着一台笔记本要好。另外画图功能还是发现链接会被断掉不走代理,不过也不要紧。

@happyclb
Copy link

happyclb commented Apr 9, 2023

使用-c -o 命令后出现的错误
ConnectionError: ChatGPT API error HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Cannot connect to proxy.', RemoteDisconnected('Remote end closed connection without response'))) (code: -3)

代理是正常的

@SnapdragonLee
Copy link
Owner Author

@happyclb 有可能出现这个情况,ChatGPT API 有时候也不会稳定,但这个情况不会一直出现

@efwds
Copy link

efwds commented Apr 19, 2023

使用-c可以正常输出,但是使用-c -o会报错: reply: ConnectionError: Cannot access internet info (code: 404)

@jonywison
Copy link

有时候会卡住,读取不到群里面的消息,按一下ctrl+c就瞬间把之前没读取到的消息全部读取了是为什么呢,有时候@不会响应

@SnapdragonLee
Copy link
Owner Author

使用-c可以正常输出,但是使用-c -o会报错: reply: ConnectionError: Cannot access internet info (code: 404)

这个是因为当时引用的API网站已经关闭导致的,抱歉一直没有时间进行修补和回复

@SnapdragonLee
Copy link
Owner Author

有时候会卡住,读取不到群里面的消息,按一下ctrl+c就瞬间把之前没读取到的消息全部读取了是为什么呢,有时候@不会响应

这个可能是wsclient包太老了导致的,新版本出来以后这种情况没有遇到过了

@SnapdragonLee
Copy link
Owner Author

新版本 V1.2 已经发布,请所有问题如果依然存在就移步到新的bug帖子
#96

@SnapdragonLee SnapdragonLee unpinned this issue Oct 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests