ardha27 / AI-Waifu-Vtuber

AI Vtuber for Streaming on Youtube/Twitch
758 stars 125 forks source link

Doesn't reconnect after connection error #45

Open megaprinny opened 1 year ago

megaprinny commented 1 year ago

Exception in thread Thread-1 (preparation): Traceback (most recent call last): File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 449, in _make_request six.raise_from(e, None) File "", line 3, in raise_from File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 444, in _make_request httplib_response = conn.getresponse() File "C:\Users\pikat\miniconda3\lib\http\client.py", line 1374, in getresponse response.begin() File "C:\Users\pikat\miniconda3\lib\http\client.py", line 318, in begin version, status, reason = self._read_status() File "C:\Users\pikat\miniconda3\lib\http\client.py", line 287, in _read_status raise RemoteDisconnected("Remote end closed connection without" http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\pikat\AppData\Roaming\Python\Python310\site-packages\requests\adapters.py", line 489, in send resp = conn.urlopen( File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen retries = retries.increment( File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\util\retry.py", line 550, in increment raise six.reraise(type(error), error, _stacktrace) File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\packages\six.py", line 769, in reraise raise value.with_traceback(tb) File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen httplib_response = self._make_request( File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 449, in _make_request six.raise_from(e, None) File "", line 3, in raise_from File "C:\Users\pikat\miniconda3\lib\site-packages\urllib3\connectionpool.py", line 444, in _make_request httplib_response = conn.getresponse() File "C:\Users\pikat\miniconda3\lib\http\client.py", line 1374, in getresponse response.begin() File "C:\Users\pikat\miniconda3\lib\http\client.py", line 318, in begin version, status, reason = self._read_status() File "C:\Users\pikat\miniconda3\lib\http\client.py", line 287, in _read_status raise RemoteDisconnected("Remote end closed connection without" urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\pikat\miniconda3\lib\site-packages\openai\api_requestor.py", line 516, in request_raw result = _thread_context.session.request( File "C:\Users\pikat\AppData\Roaming\Python\Python310\site-packages\requests\sessions.py", line 587, in request resp = self.send(prep, send_kwargs) File "C:\Users\pikat\AppData\Roaming\Python\Python310\site-packages\requests\sessions.py", line 701, in send r = adapter.send(request, kwargs) File "C:\Users\pikat\AppData\Roaming\Python\Python310\site-packages\requests\adapters.py", line 547, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\Users\pikat\miniconda3\lib\threading.py", line 1016, in _bootstrap_inner self.run() File "C:\Users\pikat\miniconda3\lib\threading.py", line 953, in run self._target(*self._args, *self._kwargs) File "C:\Users\pikat\Downloads\AI-Waifu-Vtuber-master\run.py", line 242, in preparation openai_answer() File "C:\Users\pikat\Downloads\AI-Waifu-Vtuber-master\run.py", line 111, in openai_answer response = openai.ChatCompletion.create( File "C:\Users\pikat\miniconda3\lib\site-packages\openai\api_resources\chat_completion.py", line 25, in create return super().create(args, **kwargs) File "C:\Users\pikat\miniconda3\lib\site-packages\openai\api_resources\abstract\engine_apiresource.py", line 153, in create response, , api_key = requestor.request( File "C:\Users\pikat\miniconda3\lib\site-packages\openai\api_requestor.py", line 216, in request result = self.request_raw( File "C:\Users\pikat\miniconda3\lib\site-packages\openai\api_requestor.py", line 528, in request_raw raise error.APIConnectionError( openai.error.APIConnectionError: Error communicating with OpenAI: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) Error receiving chat: 'NoneType' object has no attribute 'group' Error receiving chat: 'NoneType' object has no attribute 'group' fenrircrow said BocchiPossessed fenrircrow said BocchiPossessed 󠀀 fenrircrow said BocchiPossessed fenrircrow said BocchiPossessed 󠀀 fenrircrow said BocchiPossessed Error receiving chat: 'NoneType' object has no attribute 'group'

megaprinny commented 1 year ago

i fixed it by adding this:

max_retries = 3
retry_delay = 60

for i in range(max_retries):
    try:
        response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=prompt,
        max_tokens=128,
        temperature=1,
        top_p=0.9
        )
        message = response['choices'][0]['message']['content']
        conversation.append({'role': 'assistant', 'content': message})

        break
    except openai.error.RateLimitError:
        time.sleep(retry_delay)
        print(f'Retrying ({i+1}/{max_retries})...')