核心要点

  • 主链路用 RAG:文档摄取→分块→Embedding→建索引→检索→重排→LLM 生成带引用,把企业私有知识接地(grounding)以压制幻觉

  • 加生产必备外围:鉴权与多租户隔离、多轮会话记忆、输入输出护栏、用户反馈回流、离线+在线评测,缺一不可

  • 定义可量化指标并据此调优:答案正确率/忠实度(Faithfulness)、检索召回、引用准确率、首字延迟、转人工率、兜底率

  • 设计降级与兜底:检索为空或低置信度时拒答/澄清/转人工,模型超时则切备用模型,绝不硬编输出无依据答案

标准回答

需求与指标

面向企业内/外部用户的问答客服,答案必须基于企业私有知识、可溯源、不可乱编。核心指标:答案忠实度与正确率、检索召回、引用准确率、首字延迟(TTFT)、转人工率与用户满意度。

整体架构

主链路是 RAG:离线侧把文档清洗、分块、Embedding 后写入向量库并建索引;在线侧对用户问题做查询改写→向量召回(可叠加 BM25 混合检索)→重排(rerank)取 Top-K→拼入 Prompt 由 LLM 生成带引用的回答。外围包裹鉴权与多租户、会话记忆、护栏、反馈与评测。

关键模块

会话记忆:保留多轮上下文并做指代消解;护栏:输入侧拦截注入与越权问题,输出侧做 PII 脱敏、敏感词与忠实度校验;引用溯源:每条结论回链到源文档片段,便于用户核实。

评估

离线用标注集跑 Context Recall、Faithfulness、Answer Relevance(可用 LLM-as-judge);在线埋点收集点赞/点踩、转人工与改写,形成数据飞轮持续优化检索与 Prompt。

上线与监控

灰度发布 + A/B 对比;监控延迟、兜底率、幻觉投诉;检索为空或低置信度时澄清或转人工,模型故障时切备用模型,保证可用性。

常见误区

⚠️ 常见踩坑

只接一个「向量检索 + 直接喂 LLM」就当成完整系统,忽略重排、引用溯源、护栏与兜底;以及把时效性知识塞进微调而非 RAG,导致更新困难且易幻觉。

追问

追问 1如何降低这类系统的幻觉?

多管齐下:强制基于检索片段作答并要求引用来源(grounding);低置信度或检索为空时拒答/澄清;输出侧做忠实度校验(答案是否被引用支持);Prompt 中明确「无依据则说不知道」;持续用 Faithfulness 指标监控并回流 badcase。

追问 2首字延迟(TTFT)高怎么优化?

检索侧用 ANN 索引(如 HNSW)并控制 Top-K、并行召回与重排;生成侧用流式输出先吐字、KV Cachecontinuous batching 提升吞吐;对高频问题加语义缓存直接命中;必要时检索与生成阶段拆分、用更小模型做重排与改写。

追问 3知识库频繁更新如何保证答案时效?

走增量摄取管道:文档变更触发重新分块与 Embedding,按文档版本号更新/删除向量,避免全量重建;为片段打时间戳并在检索时偏好最新版本;定期跑一致性校验,确保索引与源库不漂移。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。