[Bug]: An error occurred when deploying the reranker-bge-reranker-v2-m3 model using vllm.

用户使用 RAGFlow 0.19.1(commit ce140f1 ),基于 vLLM 部署 BAAI/bge-reranker-v2-m3 重排模型,在调用检索测试接口( /v1/chunk/retrieval_test )时触发授权错误。Docker 日志显示 LLMBundle 初始化失败。

[Bug]: An error occurred when deploying the reranker-bge-reranker-v2-m3 model using vllm.

[Bug]: An error occurred when deploying the reranker-bge-reranker-v2-m3 model using vllm.

快速结论:该错误通常发生在 RAGFlow 使用 vLLM 部署 BAAI/bge-reranker-v2-m3 重排模型时,由于模型未在租户或系统配置中正确注册导致。优先检查模型中英文名称是否与后端注册格式一致(如 bge-m3___VLLM),或要求管理员在 Admin 后台重新添加模型。

问题场景

用户使用 RAGFlow 0.19.1(commit ce140f1),基于 vLLM 部署 BAAI/bge-reranker-v2-m3 重排模型,在调用检索测试接口(/v1/chunk/retrieval_test)时触发授权错误。Docker 日志显示 LLMBundle 初始化失败。

报错原文

LookupError: Model(BAAI/bge-reranker-v2-m3) not authorized
Traceback (most recent call last):
  File "/ragflow/api/apps/chunk_app.py", line 310, in retrieval_test
    rerank_mdl = LLMBundle(kb.tenant_id, LLMType.RERANK.value, llm_name=req["rerank_id"])
  File "/ragflow/api/db/services/llm_service.py", line 211, in __init__
    self.mdl = TenantLLMService.model_instance(tenant_id, llm_type, llm_name, lang=lang)
  ...
  File "/ragflow/api/db/services/llm_service.py", line 123, in get_model_config
    raise LookupError("Model({}) not authorized".format(mdlnm))
LookupError: Model(BAAI/bge-reranker-v2-m3) not authorized

原因分析

后端 TenantLLMService.get_model_config()tenant_llm 表中找不到与传入 llm_name 精确匹配的记录。可能原因包括:

  • 重排模型未在租户的 Admin 后台或数据库中添加/注册。
  • 传递的 rerank_id 格式与后端注册的模型名不一致(例如 vLLM 后端期望格式为 bge-m3___VLLMbge-m3@VLLM,而非 BAAI/bge-reranker-v2-m3)。
  • 升级过程中旧模型记录被删除或未迁移(参考相关 Issue #7803、#7836)。
  • 自定义模型未在 conf/llm_factories.json 中手动注册。

环境排查

  • RAGFlow 版本:0.19.1(commit ce140f1)
  • Python 环境:3.10
  • 部署方式:Docker
  • 后端数据库:检查 tenant_llm 表中是否包含 vLLM 及重排模型记录
  • 配置文件:conf/llm_factories.json 是否已添加 vLLM 提供商及对应模型

解决步骤

  1. 检查模型注册状态:在 RAGFlow Admin UI 的知识库设置中,确认重排模型(Rerank Model)已添加且状态为“可用”。若缺失,由管理员手动添加。
  2. 确认 rerank_id 格式:发起请求时,确保 rerank_id 参数值与后端注册的模型名完全一致。对于 vLLM 部署,可能有如下格式之一(可优先尝试):bge-m3___VLLMbge-m3@VLLM
  3. 检查 tenant_llm 表:登录数据库(如 PostgreSQL),查看 tenant_llm 表是否存在 BAAI/bge-reranker-v2-m3 或 vLLM 相关记录。如果旧记录在升级时被删除,可尝试删除所有与 bge-reranker 相关的记录,并重新通过 Admin UI 添加。
  4. 注册自定义模型:如果 vLLM 或该模型未出现在 conf/llm_factories.json 中,需手动编辑该文件,添加对应的提供商和模型定义,然后重启 RAGFlow。
  5. 清除缓存/重启服务:执行以上操作后,建议重启 RAGFlow 容器以确保配置生效。

验证方法

在 Admin UI 中重新创建或选择重排模型后,发起一次检索测试请求(/v1/chunk/retrieval_test),观察是否仍返回 Model not authorized 错误。若成功返回结果或不再出现 LookupError,则问题解决。

参考来源

infiniflow/ragflow #8856

相关 Issue:#7803#7836#7985#6489#8233

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14576

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注