RAG 流水线 (Retrieval-Augmented Generation)
RAG 流水线 (Retrieval-Augmented Generation)
来源: wiki/sources/local-faiss-sqlite-bge-guide, wiki/sources/rag-optimization-guide, wiki/sources/knowledge-base-from-markdown, wiki/sources/wechat-articles-to-knowledge-base
相关概念: wiki/concepts/local-first, wiki/concepts/workspace-memory, wiki/concepts/openclaw
OpenClaw 中的 RAG 流水线是将本地原始素材(Markdown/PDF/网页)通过"向量化 → 索引 → 检索 → 生成"四步转化为可问答的知识库的核心架构模式。
要点
核心流程
原始素材 → 切块(RecursiveCharacterSplitter) → bge-large-zh向量化 → FAISS索引 + SQLite元数据 → 用户查询向量化 → FAISS检索 → SQLite元数据过滤 → LLM摘要/回答
关键组件
- bge-large-zh:中文句向量模型,768维,CPU推理10-30ms/句
- FAISS:高效向量检索引擎,支持Flat/IVF/HNSW等索引类型
- SQLite:元数据存储,支持SQL过滤、排序、FTS5全文检索扩展
进阶优化技术
- 混合检索(Hybrid Search):向量语义检索 + BM25关键字检索 + RRF融合排序
- 重排序(Reranking):Cross-Encoder对候选结果二次排序
- 查询改写(Query Rewriting):LLM将查询扩展为多个变体后分别检索再融合
- 分层检索:先文档级向量检索,再块级细粒度检索
- 元数据过滤:按时间范围、标签等维度过滤后搜索子集
推荐工具链
| 功能 | 工具 |
|---|---|
| 嵌入模型 | bge-large-zh-v1.5 |
| 重排序 | bge-reranker-large |
| 关键字检索 | SQLite FTS5 |
| 查询改写 | Qwen2.5-7B / ChatGLM3-6B |
| 前端 | Streamlit / Obsidian |
与 OpenClaw 的关系
RAG 流水线是 OpenClaw 实现"可搜索、可聚合、可持续更新的知识库"的基础架构。OpenClaw 的 Workspace Memory 系统本身也使用了向量化检索(RAG),用户可以通过配置和技能扩展,将任意本地文档转化为可语义搜索的知识库,仅需在最终摘要阶段调用 LLM,核心检索完全不消耗 Token。