???
agent开发
- 之前有接触过rag么
有。
RAG 就是检索增强生成,核心思路是:
- 先从外部知识库(文档、数据库、向量库)检索相关信息
- 再把检索到的内容拼进 prompt 送给大模型生成回答
目的是减少幻觉、增强专业性、保证知识时效性。
我理解的完整流程:
文档清洗 → 分块(chunk)→ 向量化 → 存入向量库 → 用户 query 向量化 → 相似度检索 → 重排(rerank)→ 构造上下文 → 大模型生成回答。
- 出现幻觉怎么去排查原因和解决
排查思路
- 看检索结果有没有相关内容:没检索到 → 必幻觉
- 看分块是否合理:块太大 / 太小都会导致关键信息丢了
- 看 prompt 是否约束不足:没强制 “只根据资料回答,不知道就说不知道”
- 看模型本身能力:小模型天生更容易幻觉
解决方法
- 加强检索:优化 chunk、换更好 embedding、加 rerank、多召回几条
- 强 prompt 约束:明确禁止编造、要求引用原文、不知道就说暂无依据
- 加事实校验环节:用模型二次检查答案是否与资料冲突
- 用外部工具 / API 做事实核查(比如查数据库、查标准)
- 必要时换更大 / 更稳的模型
- 评估ai应用的指标
效果指标
- 准确率 / 事实正确率(有没有幻觉)
- 召回率、精确率(RAG 检索质量)
- 相关性、有用性
- 格式合规率(JSON 是否稳定)
- 上下文一致性(多轮对话不乱)
体验与工程指标 - 响应延迟、吞吐量
- 稳定性、崩溃率
- 用户满意度
- 成本(token 消耗)
- 安全合规(是否泄露隐私、违规内容)
- 如何让agent回复的格式比较稳定,比如json格式很长又比较复杂,存在截断或者回复格式不对的情况
- 强制格式约束
- 明确要求:只输出 JSON,不要任何解释、不要前言后语
- 给 JSON 结构示例(schema)
- 防止截断
- 把模型 max_tokens 开够
- 优化 prompt,减少冗余上下文
- 复杂结构拆成多次调用:先给结构,再填内容
- 对超长 JSON 分页 / 分块返回
- 有自己开发过ai应用么
- 向量相似度,匹配不准,语义上召回比较差,怎么处理
- 换更好的 embedding 模型:小模型语义理解弱,直接换大厂开源强向量模型。
- 优化分块策略 chunking:不要固定长度,按段落 / 章节 / 语义切分。
- 加重排序模型(Rerank):向量召回前 20~50 条,再用 rerank 精排,提升语义相关性非常明显。
- query 改写:把用户口语化问题转成更适合检索的标准问句。
- 多维度召回混合:向量检索 + 关键词检索(BM25)加权融合。
- 补充同义词、专业词典:尤其医疗、法律这类领域词很重要。
- 现在有一批体检的数据,让分析异常指标的话,可能要获取某些医学的文献,你怎么获取?既要异常指标又要分析的依据
1)结构化抽取
先把体检报告解析成结构化字段:指标名称、结果值、参考范围、是否异常
输出统一 JSON,方便后续处理
2)构建专业医学知识库
来源:
公开医学指南、教材、权威文献
行业标准、临床路径
卫健委 / 权威机构发布的资料
向量化存入向量库,按 “指标名称 + 异常类型” 建索引
3)检索依据
对每个异常指标:
检索:该指标异常 → 可能原因、临床意义、建议
要求检索结果必须带文献 / 指南来源
4)生成带依据的分析报告
prompt 要求模型:
列出异常指标
解释临床意义
给出可能原因
明确引用检索到的文献 / 指南作为依据
禁止编造医学结论
5)工程保证可靠
检索不到资料就明确说 “暂无权威依据”
加医学术语校验
最终输出结构化报告,方便展示和存档
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 薄荷巧克力!

