[Insight Engine Streamlit App] 研究过程中发生错误: Error code: 404 - {'code': 5, 'error':
错误信息
研究过程中发生错误: Error code: 404 - {'code': 5, 'error': 'url.not_found', 'message': '没找到对象', 'method': 'POST', 'scode': '0x5', 'status': False, 'ua': 'OpenAI/Python 2.7.1', 'url': '/chat/completions'}
错误详情
Traceback (most recent call last):
File "/app/SingleEngineApp/insight_engine_streamlit_app.py", line 149, in execute_research
agent._generate_report_structure(query)
File "/app/SingleEngineApp/../InsightEngine/agent.py", line 417, in _generate_report_structure
self.state = report_structure_node.mutate_state(state=self.state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/SingleEngineApp/../InsightEngine/nodes/report_structure_node.py", line 204, in mutate_state
raise e
File "/app/SingleEngineApp/../InsightEngine/nodes/report_structure_node.py", line 185, in mutate_state
report_structure = self.run(input_data, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/SingleEngineApp/../InsightEngine/nodes/report_structure_node.py", line 65, in run
raise e
File "/app/SingleEngineApp/../InsightEngine/nodes/report_structure_node.py", line 55, in run
response = self.llm_client.stream_invoke_to_string(SYSTEM_PROMPT_REPORT_STRUCTURE, self.query)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/SingleEngineApp/../InsightEngine/llms/base.py", line 148, in stream_invoke_to_string
for chunk in self.stream_invoke(system_prompt, user_prompt, **kwargs):
File "/app/SingleEngineApp/../InsightEngine/llms/base.py", line 132, in stream_invoke
raise e
File "/app/SingleEngineApp/../InsightEngine/llms/base.py", line 118, in stream_invoke
stream = self.client.chat.completions.create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/_utils/_utils.py", line 286, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/resources/chat/completions/completions.py", line 1156, in create
return self._post(
^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/_base_client.py", line 1259, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/openai/_base_client.py", line 1047, in request
raise self._make_status_error_from_response(err.response) from None
openai.NotFoundError: Error code: 404 - {'code': 5, 'error': 'url.not_found', 'message': '没找到对象', 'method': 'POST', 'scode': '0x5', 'status': False, 'ua': 'OpenAI/Python 2.7.1', 'url': '/chat/completions'}
环境信息
- 应用: Insight Engine Streamlit App
- 时间: 2025-11-10 09:39:09
Hi @lxs-w! I'm Dosu and I’m helping the BettaFish team.
这个 404 错误(url.not_found)通常是因为 OpenAI API 的 base URL 配置不正确导致的。根据维护者和其他用户的反馈,最常见的原因是 base URL 缺少了 /v1 路径,或者多了/少了子路由,导致 /chat/completions 路径在目标服务器上不存在。比如,https://aihubmix.com/v1 是正确格式,https://aihubmix.com 就会报 404 错误。请检查你的 INSIGHT_ENGINE_BASE_URL 配置,确保它包含正确的 /v1 路径段。如果你用的是自定义 API 服务商,也要参考其文档确认 base URL 的写法。参考1 参考2
修正方法:
- 检查
.env或环境变量中的INSIGHT_ENGINE_BASE_URL,确保它类似于https://api.openai.com/v1或https://你的服务商/v1。 - 修改后重启应用。
如果还有问题,可以贴出你的 base URL 配置内容(注意打码敏感信息),我可以帮你进一步排查。
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
前几个流程跑完后,最后一个提示框总是处于,提示需要等待前三个跑完,请问是什么情况?
你遇到的“需要等待前三个Agent任务完成”的提示一直不消失,常见原因有:
- 某个Agent流程实际没有跑完,或者中途报错(比如你之前遇到的404错误),导致后续总报告Agent一直在等待前置结果,UI就会卡在“等待”状态。只要有一个Agent没正常返回,汇总流程就不会继续。参考
- 如果你是服务器部署,前端监控的Agent地址没改成服务器实际IP,还是localhost,前端就无法正确获取各Agent的状态,也会导致UI一直显示“任务未完成”。有用户反馈把前端 index.html 里的 localhost 改成服务器IP后问题解决。参考
- 某些情况下,前端只是检测到Agent“已连接”,但并不代表任务已完成。只有每个Agent都生成了独立报告,汇总Agent才会继续。
建议排查:
- 检查各Agent的独立报告是否都能正常生成(可单独访问每个Agent的web界面测试)。
- 查看后台日志,确认是否有Agent报错或未返回(如404、超时等)。
- 部署在服务器时,确保前端监控地址指向实际IP和端口,而不是localhost。
如还有问题,可以贴下各Agent的运行日志或前端监控配置。
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other
@lxs-w 他的report服务是需要出现新文件的,你可以F12打开控制台,有一个接口是返回当前文件数。他是只要出现新文件就可以执行report。你也可以直接在对应的report的输出文件直接加个新文件就行。