AI 的局限

6 阅读3分钟

不足(当前常见限制):

  • 推理与记忆能力受限:难以稳定利用长期经验指导复杂决策

6. Prompt 基础:任务说明四要素

  • 任务说明:直接清晰描述期望模型完成的任务
  • 上下文:提供相关背景信息
  • 问题:描述具体问题/需要处理的信息
  • 输出格式:明确需要的展示形式(列表/表格/JSON/步骤等)

7. RAG:检索增强生成(Retrieval-Augmented Generation)

7.1 为什么需要 RAG?(模型缺陷)

  1. 知识过时:训练数据有时间边界,可能产生偏差
  2. 知识边界:模型内部知识不可能覆盖所有领域与细节

类比人类:遇到不确定问题时,我们会搜索/查资料;RAG 让模型也能“先检索再回答”。

7.2 LangChain 与 LlamaIndex

  • LangChain:更侧重“用 LLM 构建应用”的整体流程与组件组合
  • LlamaIndex:更侧重“数据索引与检索系统”,便于快速搭建检索链路

7.3 RAG 落地完整流程(建议版)

1) 资料接入(Ingestion)

  • 上传/采集:Word/Excel/PPT(或网盘/数据库/网页)
  • 解析抽取:转成纯文本,必要时保留结构(标题、表格、页码/页签、段落层级)
  • 清洗规范化:去空行/重复、统一编码与换行、脱敏、过滤噪声(页眉页脚、目录页等)
  • 打元数据:至少包含 sourcetypesectiontime,可选 page

2) 切分(Chunking)

  • 切分策略:优先按段落/标题/表格行,其次按字符长度补齐;中文可结合标点
  • Chunk 参数:常用 chunk_size 600–1200、overlap 80–200(按材料密度调)
  • 去重与合并:过短 chunk 合并;高度重复内容去重,避免检索噪声

3) 向量化与入库(Embedding + Indexing)

  • 选择 Embedding
    • 本地模型(sentence-transformers):稳定、可离线、避免网关不支持 /embeddings 的问题
    • 远程 Embedding(OpenAI 兼容):省资源但依赖接口可用性与成本
  • 写入向量库:Chroma/FAISS/PGVector 等,保存 chunk_text + metadata + embedding
  • 持久化与版本:按“知识库版本/上传批次”管理,支持重建与增量更新

4) 提问与检索(Query + Retrieve)

  • 问题规范化:去噪、必要时改写(Query Rewrite),把口语问题变成“可检索问题”
  • 检索策略:向量相似度(top-k);可选 BM25/关键词与向量混合检索(Hybrid)
  • 过滤与约束:按 metadata 过滤(仅检索本次上传/指定资料集)

5) 重排与证据选择(Rerank / Evidence)

  • 重排(可选但常有效):用 cross-encoder / reranker 对 top-k 再排序
  • 证据裁剪:挑选最相关 chunk,控制总 token;必要时做摘要压缩(Context Compression)

6) 组装提示词并生成(Prompt + Generate)

  • 系统指令:强调“必须基于检索证据回答;找不到要明确说资料未包含”
  • 上下文注入:证据按“来源 + 内容”拼接进 prompt
  • 回答策略:先结论再要点;必要时附引用(source/sheet/slide)

7) 结果输出与可解释性(Answer + Citations)

  • 答案 + 引用:列出命中的来源片段,便于核对
  • 失败可见:检索为空或相似度低,明确提示“资料中未找到”并建议补充资料

8) 评估与迭代(Evaluation)

  • 离线评估:构造 QA 集,关注命中率、引用正确率、回答一致性
  • 线上观测:记录 query、命中文档、点击/采纳反馈、失败原因
  • 迭代点:切分策略、embedding 模型、top-k、重排、提示词、去重与过滤规则