binary-husky / gpt_academic

为GPT/GLM等LLM大语言模型提供实用化交互接口,特别优化论文阅读/润色/写作体验,模块化设计,支持自定义快捷按钮&函数插件,支持Python和C++等项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。
https://github.com/binary-husky/gpt_academic/wiki/online
GNU General Public License v3.0
64.41k stars 7.97k forks source link

[Bug]: 最新Docker镜像无法使用edge-tts #1805

Closed Menghuan1918 closed 4 months ago

Menghuan1918 commented 4 months ago

Installation Method | 安装方法与平台

Docker-Compose(Linux)

Version | 版本

Latest | 最新版

OS | 操作系统

Docker

Describe the bug | 简述

最新Docker镜像无法使用edge-tts,应该是镜像里没装ffmpeg的原因

gpt_academic_full_capability-1  | /usr/local/lib/python3.11/site-packages/pydub/utils.py:198: RuntimeWarning: Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work
gpt_academic_full_capability-1  |   warn("Couldn't find ffprobe or avprobe - defaulting to ffprobe, but may not work", RuntimeWarning)
gpt_academic_full_capability-1  | ERROR:    Exception in ASGI application
gpt_academic_full_capability-1  | Traceback (most recent call last):
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
gpt_academic_full_capability-1  |     result = await app(  # type: ignore[func-returns-value]
gpt_academic_full_capability-1  |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 69, in __call__
gpt_academic_full_capability-1  |     return await self.app(scope, receive, send)
gpt_academic_full_capability-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
gpt_academic_full_capability-1  |     await super().__call__(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
gpt_academic_full_capability-1  |     await self.middleware_stack(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
gpt_academic_full_capability-1  |     raise exc
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
gpt_academic_full_capability-1  |     await self.app(scope, receive, _send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
gpt_academic_full_capability-1  |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
gpt_academic_full_capability-1  |     raise exc
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
gpt_academic_full_capability-1  |     await app(scope, receive, sender)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 758, in __call__
gpt_academic_full_capability-1  |     await self.middleware_stack(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 778, in app
gpt_academic_full_capability-1  |     await route.handle(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 487, in handle
gpt_academic_full_capability-1  |     await self.app(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
gpt_academic_full_capability-1  |     await super().__call__(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
gpt_academic_full_capability-1  |     await self.middleware_stack(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
gpt_academic_full_capability-1  |     raise exc
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
gpt_academic_full_capability-1  |     await self.app(scope, receive, _send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 91, in __call__
gpt_academic_full_capability-1  |     await self.simple_response(scope, receive, send, request_headers=headers)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 146, in simple_response
gpt_academic_full_capability-1  |     await self.app(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
gpt_academic_full_capability-1  |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
gpt_academic_full_capability-1  |     raise exc
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
gpt_academic_full_capability-1  |     await app(scope, receive, sender)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 758, in __call__
gpt_academic_full_capability-1  |     await self.middleware_stack(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 778, in app
gpt_academic_full_capability-1  |     await route.handle(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 299, in handle
gpt_academic_full_capability-1  |     await self.app(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 79, in app
gpt_academic_full_capability-1  |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
gpt_academic_full_capability-1  |     raise exc
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
gpt_academic_full_capability-1  |     await app(scope, receive, sender)
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 74, in app
gpt_academic_full_capability-1  |     response = await func(request)
gpt_academic_full_capability-1  |                ^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 278, in app
gpt_academic_full_capability-1  |     raw_response = await run_endpoint_function(
gpt_academic_full_capability-1  |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 191, in run_endpoint_function
gpt_academic_full_capability-1  |     return await dependant.call(**values)
gpt_academic_full_capability-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/gpt/shared_utils/fastapi_server.py", line 179, in forward_post_request
gpt_academic_full_capability-1  |     return await forward_request(request, "POST")
gpt_academic_full_capability-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/gpt/shared_utils/fastapi_server.py", line 163, in forward_request
gpt_academic_full_capability-1  |     mp3_audio = AudioSegment.from_file(temp_file, format="mp3")
gpt_academic_full_capability-1  |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/pydub/audio_segment.py", line 728, in from_file
gpt_academic_full_capability-1  |     info = mediainfo_json(orig_file, read_ahead_limit=read_ahead_limit)
gpt_academic_full_capability-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/site-packages/pydub/utils.py", line 274, in mediainfo_json
gpt_academic_full_capability-1  |     res = Popen(command, stdin=stdin_parameter, stdout=PIPE, stderr=PIPE)
gpt_academic_full_capability-1  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/subprocess.py", line 1024, in __init__
gpt_academic_full_capability-1  |     self._execute_child(args, executable, preexec_fn, close_fds,
gpt_academic_full_capability-1  |   File "/usr/local/lib/python3.11/subprocess.py", line 1901, in _execute_child
gpt_academic_full_capability-1  |     raise child_exception_type(errno_num, err_msg, err_filename)
gpt_academic_full_capability-1  | FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe'

Screen Shot | 有帮助的截图

图片 图片

Terminal Traceback & Material to Help Reproduce Bugs | 终端traceback(如有) + 帮助我们复现的测试材料样本(如有)

No response

binary-husky commented 4 months ago

可以帮我看看怎么修改dockerfile吗

binary-husky commented 4 months ago

我暂时把默认项改回去了,但我觉得这个功能挺好的,最好还是能默认开启