binary-husky / binary-husky/gpt_academic
[Bug]:
- Dominant language
- Python
- Stars
- 71.3k
- Forks
- 8.3k
- PR merge metrics
- No merged PRs in 30d
Description
### Installation Method | 安装方法与平台
Pip Install (I used latest requirements.txt)
### Version | 版本
Latest | 最新版
### OS | 操作系统
Windows
### Describe the bug | 简述
我填了中转api后运行提示:[Local Message] Request timeout. Network error. Please check proxy settings in config.py.网络错误,检查代理服务器是否可用,以及代理设置的格式是否正确,格式须是[协议]://[地址]:[端口],缺一不可。
### Screen Shot | 有帮助的截图

### Terminal Traceback & Material to Help Reproduce Bugs | 终端traceback(如有) + 帮助我们复现的测试材料样本(如有)
D:\Program Files\gpt_academic\myenv\Lib\site-packages\pydub\utils.py:198: RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work
warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning)
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\shared_utils\fastapi_server.py", line 222, in forward_request
mp3_audio = AudioSegment.from_file(temp_file, format="mp3")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\pydub\audio_segment.py", line 728, in from_file
info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\pydub\utils.py", line 274, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Python312\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 758, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 778, in app
await route.handle(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 487, in handle
await self.app(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\cors.py", line 91, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\cors.py", line 146, in simple_response
await self.app(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 758, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 778, in app
await route.handle(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 299, in handle
await self.app(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 79, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 74, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\routing.py", line 278, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\routing.py", line 191, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\shared_utils\fastapi_server.py", line 240, in forward_post_request
return await forward_request(request, "POST")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\shared_utils\fastapi_server.py", line 228, in forward_request
raise RuntimeError("ffmpeg未安装,无法处理EdgeTTS音频。安装方法见`https://github.com/jiaaro/pydub#getting-ffmpeg-set-up`")
RuntimeError: ffmpeg未安装,无法处理EdgeTTS音频。安装方法见`https://github.com/jiaaro/pydub#getting-ffmpeg-set-up`
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\shared_utils\fastapi_server.py", line 222, in forward_request
mp3_audio = AudioSegment.from_file(temp_file, format="mp3")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\pydub\audio_segment.py", line 728, in from_file
info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\pydub\utils.py", line 274, in mediainfo_json
res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\subprocess.py", line 1026, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Python312\Lib\subprocess.py", line 1538, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 403, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 60, in __call__
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 758, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 778, in app
await route.handle(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 487, in handle
await self.app(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\applications.py", line 123, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 186, in __call__
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\errors.py", line 164, in __call__
await self.app(scope, receive, _send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\cors.py", line 91, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\cors.py", line 146, in simple_response
await self.app(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\middleware\exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 758, in __call__
await self.middleware_stack(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 778, in app
await route.handle(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 299, in handle
await self.app(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 79, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 64, in wrapped_app
raise exc
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\_exception_handler.py", line 53, in wrapped_app
await app(scope, receive, sender)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\starlette\routing.py", line 74, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\routing.py", line 278, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\fastapi\routing.py", line 191, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\shared_utils\fastapi_server.py", line 240, in forward_post_request
return await forward_request(request, "POST")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\shared_utils\fastapi_server.py", line 228, in forward_request
raise RuntimeError("ffmpeg未安装,无法处理EdgeTTS音频。安装方法见`https://github.com/jiaaro/pydub#getting-ffmpeg-set-up`")
RuntimeError: ffmpeg未安装,无法处理EdgeTTS音频。安装方法见`https://github.com/jiaaro/pydub#getting-ffmpeg-set-up`
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connection.py", line 199, in _new_conn
sock = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\util\connection.py", line 85, in create_connection
raise err
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\util\connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connectionpool.py", line 789, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connectionpool.py", line 490, in _make_request
raise new_e
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connectionpool.py", line 466, in _make_request
self._validate_conn(conn)
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connectionpool.py", line 1095, in _validate_conn
conn.connect()
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connection.py", line 693, in connect
self.sock = sock = self._new_conn()
^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connection.py", line 208, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (, 'Connection to api.openai.com timed out. (connect timeout=30)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\requests\adapters.py", line 667, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\connectionpool.py", line 843, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\urllib3\util\retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ConnectTimeoutError(, 'Connection to api.openai.com timed out. (connect timeout=30)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\request_llms\bridge_chatgpt.py", line 291, in predict
response = requests.post(endpoint, headers=headers, proxies=proxies,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\requests\api.py", line 115, in post
return request("post", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\requests\adapters.py", line 688, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ConnectTimeoutError(, 'Connection to api.openai.com timed out. (connect timeout=30)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\gradio\routes.py", line 422, in run_predict
output = await app.get_blocks().process_api(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\gradio\blocks.py", line 1323, in process_api
result = await self.call_function(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\gradio\blocks.py", line 1067, in call_function
prediction = await utils.async_iteration(iterator)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\gradio\utils.py", line 336, in async_iteration
return await iterator.__anext__()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\gradio\utils.py", line 329, in __anext__
return await anyio.to_thread.run_sync(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\anyio\to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\anyio\_backends\_asyncio.py", line 2441, in run_sync_in_worker_thread
return await future
^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\anyio\_backends\_asyncio.py", line 943, in run
result = context.run(func, *args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\myenv\Lib\site-packages\gradio\utils.py", line 312, in run_sync_iterator_async
return next(iterator)
^^^^^^^^^^^^^^
File "D:\Program Files\gpt_academic\toolbox.py", line 134, in decorated
yield from f(txt_passon, llm_kwargs, plugin_kwargs, chatbot_with_cookie, history, system_prompt, *args)
File "D:\Program Files\gpt_academic\request_llms\bridge_all.py", line 1295, in predict
yield from method(inputs, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, stream, additional_fn)
File "D:\Program Files\gpt_academic\request_llms\bridge_chatgpt.py", line 298, in predict
if retry > MAX_RETRY: raise TimeoutError
^^^^^^^^^^^^^^^^^^
TimeoutError
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in shared_utils/fastapi_server.py around forward_request lines 222-228, then reproduce the Windows EdgeTTS request that triggers the traceback. Trace the missing executable reported by pydub and verify the request no longer ends with WinError 2 or the subsequent RuntimeError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fastapi, python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100