腾讯云 ADP 智能体的 RAG 知识库配置后问答质量差,先查索引管道还是向量模型?诊断流程与调优清单

摘要(约83字)

企业智能体管理员在腾讯云ADP完成RAG知识库配置后,问答准确率低于预期。本文从索引管道状态、分块策略、向量模型匹配度、召回阈值四层给出分层诊断判断函数与调优清单,含六类根因处理表与验收指标,适用于WorkBuddy和ADP跨场景知识检索优化。


适用条件

本文适用于以下场景:

  • 已在腾讯云ADP完成知识库上传与向量化配置,AgentOps 显示知识库状态为"可用"
  • 智能体在回答业务问题时出现答非所问、遗漏关键段落或返回无关片段
  • 知识库文档数量 ≥ 10 篇,涵盖单一或多个业务领域
  • 截至 2026-08-14,腾讯云文档显示 ADP 支持的向量化模型包括内置 embedding 模型与自定义模型两种接入模式

前置条件确认:知识库状态必须为"可用",若为"构建中"或"失败",优先按索引管道状态排查,不要跳到向量模型层。


数据 / 权限准备

诊断前需确认以下权限与信息:

准备项说明
ADP 控制台访问权限需要 AgentOps 查看者及以上角色
知识库列表确认知识库 ID 与关联的 Agent ID
AgentOps 调用链路开启详细日志,截取 3-5 条失败问答的完整链路
测试 Query 集合准备 10-20 条覆盖核心业务意图的测试问句

实施步骤

第一步:确认索引管道状态

进入 ADP 控制台 → 知识库管理 → 选中目标知识库 → 查看「构建状态」。

// AgentOps 日志字段诊断函数:定位知识库召回失败
function diagnoseRAGFailure(logEntry) {
  const { source, recallCount, topK, rerankScore, finalAnswer } = logEntry;
  if (source !== 'knowledge_base') return '非知识库来源,跳过';
  if (recallCount === 0) return '索引管道未召回 → 排查管道状态与分块策略';
  if (recallCount > 0 && rerankScore < 0.5) return '向量召回低分 → 调整 topK 或切换向量模型';
  if (rerankScore >= 0.5 && finalAnswer.includes('未找到')) return '重排后被过滤 → 降低过滤阈值';
  return '知识库正常,问题在生成层';
}

索引管道四状态判断:

状态表现根因处理方向
构建中新上传文档未完成向量化文档队列积压或嵌入服务异常等待或联系平台确认嵌入服务状态
可用向量化完成但召回为 0分块尺寸过大/过小,或文档格式不被支持调整分块策略,优先 PDF/TXT 格式
可用召回数量正常但答案错误分块边界破坏语义完整性增大重叠长度或切换为语义分块
失败单篇文档向量化失败文档含特殊字符、加密或页数超限预处理文档后重新上传

第二步:诊断分块策略

进入知识库配置页 → 编辑分块规则。腾讯云ADP支持固定字数分块与语义分块两种模式。

分块策略选择判断函数:

function selectChunkStrategy(docType, avgParagraphLen) {
  if (docType === 'FAQ' && avgParagraphLen < 200) {
    return { strategy: 'fixed', chunkSize: 300, overlap: 50 };
  }
  if (docType === '长文档' && avgParagraphLen > 500) {
    return { strategy: 'semantic', chunkSize: 800, overlap: 100 };
  }
  // 混合场景
  return { strategy: 'fixed', chunkSize: 500, overlap: 80 };
}

常见分块问题与修复对照表:

问题现象根因判断修复操作
短句回答正确,但长段回答缺失中间内容分块尺寸 < 平均段落长度,语义被切断将 chunkSize 提升至 600-800,重叠 80-100
多文档混合召回,答案来自错误文档topK 过大,噪声片段干扰将 topK 从 10 降至 5,结合 rerank 二次筛选
文档已上传但始终召回为 0文档格式不被支持,或包含水印/表格未解析转换为 TXT/PDF 后重新上传,避免扫描件 PDF

第三步:验证向量模型匹配度

截至 2026-08-14,腾讯云ADP内置 embedding 模型对中文语义理解已做专项优化。若使用自定义向量模型,需确认模型训练语料与业务文档领域是否匹配。

// 向量召回质量快速验证函数
function verifyRecallQuality(testQueries, knowledgeBaseId) {
  const results = testQueries.map(q => {
    const recall = callADPVectorAPI(q, knowledgeBaseId);
    return {
      query: q,
      top1Score: recall[0]?.score ?? 0,
      relevantCount: recall.filter(r => r.score > 0.75).length,
      verdict: recall[0]?.score > 0.75 ? 'PASS' : 'FAIL'
    };
  });
  const passRate = results.filter(r => r.verdict === 'PASS').length / results.length;
  return { results, passRate };
}

向量模型匹配度判断标准:

top1 召回分数语义相关性建议操作
> 0.85质量达标,无需调整
0.65 - 0.85适当提高 topK 或开启重排
< 0.65切换向量模型,或用业务语料微调 embedding

第四步:配置召回后重排与过滤

在 ADP Agent 配置中开启 Rerank(重排)能力,对原始召回结果按语义相关性二次排序后取 top3 输出,可显著提升最终答案质量。

// 重排后答案质量验收函数
function validateRAGPipeline(inputQuery, agentId) {
  const rawRecall = getRawRecall(inputQuery, agentId); // top10
  const reranked = applyRerank(rawRecall, topK = 3);
  const answer = generateAnswer(reranked, inputQuery);
  const metrics = {
    recallRate: reranked.filter(r => r.relevance > 0.7).length / reranked.length,
    hallucinationFlag: detectHallucination(answer, reranked),
    answerLength: answer.length,
    verdict: reranked.length >= 2 && metrics.recallRate > 0.6 ? 'READY' : 'TUNING'
  };
  return metrics;
}

异常清单

异常现象排查优先级快速修复
知识库状态"构建中"超过 30 分钟P0提交工单,附上知识库 ID
召回为 0,且文档已上传超过 1 小时P0确认文档格式,转换为 UTF-8 编码 TXT 后重试
答案包含知识库中没有的内容P1开启 Rerank 并调高过滤阈值,检查生成模型温度参数
多文档回答混淆来源P1降低 topK 至 5,开启来源标注
特定长尾问题始终答错P2补充该意图的 FAQ 文档,重新向量化

验收指标

完成调优后,使用以下指标验收:

指标目标值测量方式
top1 召回分数均值≥ 0.75在测试集上运行 verifyRecallQuality()
端到端问答准确率≥ 80%人工评估 20 条测试问句
幻觉率< 5%答案中无原文支撑陈述的比例
首次召回数量≥ 3 条(top5 内有相关内容)AgentOps 调用日志
知识库构建延迟< 30 分钟(单次 < 50 篇)控制台构建日志时间戳

参考来源

实际采购以当期产品页、报价单和合同为准。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐