![[Bug]: Image Recognition Regression in Chat Assistant after Authorization Fix](https://www.chat-gpts.plus/wp-content/uploads/2026/06/6822-f34e0198.jpg)
[Bug]: Image Recognition Regression in Chat Assistant after Authorization Fix
快速结论:在 RAGFlow v0.17.2 full 版本中,修复聊天助手图片识别(Commit cc8029a)与修复授权错误(PRs #6516 / #6756)存在冲突,导致修复一个问题就会破坏另一个问题。优先排查三个核心文件(rag/llm/__init__.py、rag/llm/cv_model.py、rag/nlp/search.py)中 PNG 图片处理逻辑是否完整。
问题场景
用户在 RAGFlow(Commit ID: d8752db, Image: v0.17.2 full)的聊天助手(Chat Assistant)窗口中上传图片(JPG/PNG)时触发,表现为图片识别失效、重复授权报错及模型 API 断连。用户先后应用了 Commit cc8029a(修复图片识别)和 PRs #6516 / #6756(修复授权错误),但两者互相冲突,无法同时正常工作。
报错原文
109 No authorization. (持续出现在聊天助手窗口,上传文件后立即触发)
以及图片识别失败(JPG 格式在 Commit cc8029a 后可识别,PNG 格式始终不识别)。
原因分析
可能原因:近期代码库的授权修复与图片识别模块之间存在系统级冲突。具体表现为:
- Commit cc8029a 修改了
rag/llm/__init__.py、rag/llm/cv_model.py、rag/nlp/search.py三个文件,成功恢复了 JPG 图片识别,但 PNG 格式处理逻辑可能不完整,且将所有上传图片无差别地推入知识库(KB)。 - PRs #6516 / #6756 修改了
web/src/hooks/document-hooks.ts,修复了 “109 No authorization.” 错误,但该修改可能删除了知识库中的上传文件,导致图片识别所需的文件路径或状态丢失,使图片识别功能再次退化。 - 模型 API 的随机断连问题可能与环境配置(如
.env、docker-compose.yml)或认证状态有关,并非由单一代码变更引起。
环境排查
- 确认 RAGFlow 镜像版本:v0.17.2 full,Commit ID:d8752db
- 检查
rag/llm/__init__.py、rag/llm/cv_model.py、rag/nlp/search.py是否已按 Commit cc8029a 更新 - 检查
web/src/hooks/document-hooks.ts是否已按 PRs #6516 / #6756 修改 - 确认
.env和docker-compose.yml中的模型 API 配置(如 OpenAI、自定义模型)是否正确,未因权限修复而被覆盖 - 测试时分别使用 JPG 和 PNG 格式图片,记录是否成功识别
解决步骤
- 备份当前修改:将已修改的
rag/llm/__init__.py、rag/llm/cv_model.py、rag/nlp/search.py和web/src/hooks/document-hooks.ts备份到独立目录。 - 回退至干净版本:从原始 Commit d8752db 开始,确保两个修复均未应用。
- 分别测试单个修复:
- 先仅应用 Commit cc8029a 的修改,测试 JPG 和 PNG 图片识别是否分别正常,并检查是否触发授权错误。
- 再仅应用 PRs #6516 / #6756 的修改,测试授权错误是否消失,同时检查图片识别是否正常。
- 有序合并修复:尝试先应用 Commit cc8029a(图片识别),再在此基础上应用 PRs #6516 / #6756(授权修复) —— 看 Issue 描述,此顺序会导致图片识别失效。可优先尝试反向顺序:先应用 PRs #6516 / #6756,再应用 Commit cc8029a,观察是否同时生效。
- 检查 PNG 处理逻辑:在
rag/llm/cv_model.py中确认是否包含对 PNG 格式的显式处理(如 MIME 类型判断、图像解码逻辑)。如果只有 JPG 相关代码,需补充png对应的处理分支。 - 控制图片入库逻辑:在
rag/nlp/search.py或相关配置文件中查找图片是否默认自动入库的条件,根据需求调整代码,避免所有上传图片均被推入知识库。 - 修复模型 API 断连:如果模型 API 无法连接,检查 Settings → Model 页面中模型 API 密钥是否被意外清除,或环境变量中的认证信息是否与前端配置一致。必要时在
.env中重新设置并重启容器。
验证方法
在聊天助手窗口中分别上传 JPG 和 PNG 格式图片,观察:
- 图片是否被正确识别并显示(而非仅显示为文件或报错)。
- 上传后是否不再出现 “109 No authorization.” 提示。
- 图片是否按预期进入知识库(如果不需要自动入库,检查是否未推送)。
- Settings → Model 页面中的模型 API 是否能正常连接和添加。
如果三项均正常,说明冲突已解决。



