别让 RAG 只剩“三件套”

内容纲要

标签:RAG,Data Cleaning,Chunking,Embedding Models,Generation Models,Vector Search,Re‑ranking,Multimodal RAG,Game Assets,AI Workflow,LLM,Knowledge Graph


“兄弟,做个 RAG 不就清洗‑切片‑向量库嘛!”
先来一句灵魂拷问:如果连文档都没洗干净,切片没切对,向量歪到火星,你指望检索结果能靠谱?


1. 文档清洗——第一道地雷阵

常见顽疾 Why so hard 必杀技
编码杂糅(PDF 字体嵌入、特殊符) 相同字符多编码,向量稀烂 ftfy、正则统一编码
结构错乱(表格、脚注、分栏) 视觉上连贯,文本流炸裂 版面分析(PDFMiner + LayoutParser)、分区域 OCR
噪声/重复 多模版拷来拷去 SimHash/MinHash 去重,正则清噪
语义碎片 标题与正文混排,层次丢失 Markdown 化(heading 等级)、树状编号恢复

Tips:清洗脚本要“可回滚”,别把原件炸没了;管道化 + 单元测试 = 清洗可持续。


2. 切片(Chunking)——别再一刀 512 Token

策略 场景 & Pros Cons / Risk
固定窗口 + 滑动 快,适合统一格式手册 语义被硬拆;长标题被截断
递归分割(Recursive Text Splitter) 先按段落→句子→词,尽量保持语义完整 实现稍复杂,嵌套循环耗时
主题聚类 (e.g., LDA, K‑Means) 问答型知识库,能按 topic 聚段 初次训练要调参;主题漂移
结构感知(MarkDown 标题/HTML tag) 多层级技术文档 依赖文档结构完整性

🎮 游戏资产特别版

  • 3D 模型:按 节点层级(骨骼/子网格)切;
  • 纹理贴图:分辨率、语义区域(UV 切片);
  • 音频:静音段切、句子级 VAD;
  • 脚本/配置:函数/类为粒度。

3. Embedding 模型怎么选?

模型 维度 长度 优势 盲点
OpenAI text-embedding-3-small/large 1536/3072 8192 tok 通用、质量高 \$ 费 \$\$,商用合规要注意
bge‑base / bge‑large‑zh 768/1024 512 中文检索一把梭 英文 & 多模态弱
E5‑mistral / gte‑large 1024 8192 欧语、指令式嵌入 中文需微调
CLIP / SigLIP 512 图文对齐 多模态首选,纹理图完美适配 长文本无力
Lantern‑3D (mesh2vec) 256 N/A 3D 网格拓扑专用 生态尚小,需自训

📝 决策口诀
通用问答 → bge/GTE
多语言 → E5/GTE + LoRA
图文 → CLIP
3D → Lantern‑3D
音频 → AudioCLIP / Speech2Vec


4. 生成模型选谁?

LLM 上下文 性价比 特点
GPT‑4o 128k \$\$\$ 准确,推理强,多模态
Claude‑3 Sonnet/Haiku 200k \$\$ 长文审校,防幻觉佳
Gemma‑7b + QLoRA 8k \$ 本地,易私有化
DeepSeek‑MoE 16B 32k \$ 速度快,少显存
Yi‑34B‑Chat 32k \$ 中文生成流畅

🎛 调参小抄

  • temperature 0.2‑0.7 保真度 vs 创新;
  • top_p 0.8 常用;
  • 条款敏感内容(游戏剧情泄漏)要 system prompt 限制。

5. 召回 (Retrieval) —— Top‑K & Score

  1. 向量检索:HNSW (FAISS) 默认 ef_search ≈ 2*K
  2. Top‑K
    FAQ/短问答: 3‑5
    长背景: 10‑20
    避免一次吐 50 条,全埋 Prompt。
  3. Score 阈值
    Cosine 距离 → 相似度分数;经验:

    • 文本 bge:0.35‑0.45
    • CLIP 图文:0.25‑0.3
      动态阈 → P(Score|Label) ROC 拿 Youden J 最大处。

6. 重排 (Re‑ranking) —— 别把垃圾端给 LLM

方法 典型模型 耗时 适用
Cross‑Encoder bge‑reranker‑base 高精短列表 (K≤50)
ColBERT v2 Learned MaxSim 长列表 & GPU
TEI (E5‑Rerank‑Large) LoRA 可私有 多语言
RankLLM Llama‑2 13B + RankHead 需要复杂规则融合

🚀 Pipeline
向量 Top‑K → CrossEncoder 得分 → “Top‑N to LLM”,N ≈ 3‑7 通常够用。


7. 多模态 RAG 玩法

                +-------------+
   Asset Repo → |  Feature    |→ Vector DB (Hybrid) → Top‑K → Re‑rnk → LLM
(model/tex/audio| Extraction  |
                +-------------+
资产类型 Feature Extractor Embedding Dim
3D FBX/GLTF MeshCNN / Point‑BERT 256‑512
纹理贴图 CLIP‑ViT/L14 768
音频 (WAV) AudioCLIP 512
脚本/说明 bge‑large‑zh 1024

统一检索 = MultiVector(Index ID, Modality Tag) + 混合搜索 (λ·TextScore + (1‑λ)·VisionScore)。
重排阶段再用 Cross‑Modal Ranker(例如 BLIP‑2 ReRank)。


8. 游戏行业落地示例

  1. 素材 QA:输入关卡关键词 → RAG 返回模型、贴图、音效清单 + LLM 生成人类可读说明。
  2. 资产相似搜索:设计师上传草图,系统用 CLIP 搜最像的现有纹理;若无→提示生成。
  3. 剧情脚本连贯性检查:文本切片 + Embedding → 发现设定冲突自动标红。
  4. Bug 复现辅助:上传崩溃日志 + 场景截图 → 多模态检索历史工单、提交补丁 diff。

9. 小结 & 行动清单

  1. 先打地基:清洗‑结构化脚本流水线。
  2. 选粒度:结合业务“问什么”来调 Chunking;别迷信 512 Token。
  3. Embedding 多模态协同:文本 bge/GTE,图像 CLIP,3D Lantern,一库多索引。
  4. 检索‑重排“两段式”:Top‑K→CrossEncoder;阈值用 ROC 说话。
  5. 生成模型评估:Latency、Cost、License,三角形永远只选两边。
  6. 迭代监控:Hit\@K、LLM Answer Correctness、用户反馈,闭环打磨。

🐯 别被“RAG 很简单”洗脑——真正落地要把数据工程、信息检索、生成模型**三条线编到一起,才算一条龙!

Leave a Comment

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

close
arrow_upward