本教程仅为个人学习总结,如有错误以实际为准。
1 知识准备
核心文件:RAG向量知识库搭建教程.md (人与AI皆可读)
文章内容在:https://blog.csdn.net/qq_37662088/article/details/159051550?spm=1011.2124.3001.6209
把这个文章中的东西复制出来即可。
2 知识库准备
把要用的原始文档(有什么放什么)和给AI看的教程知识库搭建教程-RAG向量检索.md 一起放进去。

3 知识库构建
指令:请阅读 知识库搭建教程-RAG向量检索.md 帮我搭建一个RAG知识库代码片

最终会生成build_rag.py(生成知识库索引) 和 query_rag.py(查询)
备注:运行这个build_rag.py是可以自己在终端运行的。claude code 后台运行看不到进度,构建比较耗时,要等好久。
4 知识库查询
4.1 直接咨询claude code
c
帮我查询一下UDS22服务的协议内容

4.3 自己执行脚本
c
python query_rag.py "什么是UDS22服务"

5 接入openclaw 和飞书机器人
5.1 让AI知道
c
我创建了一个ISO14229的知识库,请阅读C:\Users\13208\Desktop\知识库搭建-RAG\知识库搭建教程-RAG向量检索.md。在我以后问你关键词为ISO14229的时候,进行相关检索

5.2 让AI记住
c
请将这部分知识写入到长期记忆中
这个就不演示了,正常情况会在C:\Users{你的名字}.openclaw\workspace\MEMORY.md 中记住这个知识库
PS: 如果要问《你的名字》是什么,它是一部2016年日本动画爱情奇幻片,由新海诚编剧兼执导)

5.3 让AI查询
使用AI查询的好处是,它还能顺带帮你翻译一下英文内容
c
使用ISO14229知识库帮我查询UDS2E服务协议内容

6 其他
6.1 rag_index.pkl 是什么东西
rag_index.pkl 是你的RAG知识库索引文件,包含了所有文档的向量化数据。
里面存储了什么:
- embeddings(向量): 7426个文本块,每个转换成384维的数字向量
- chunks(文本内容): 7426个原始文本片段(每个约500字符)
- sources(来源): 每个文本块来自哪个文档
作用:
- 查询时,你的问题也会转成向量
- 通过计算向量相似度,快速找到最相关的文档片段
- 不需要每次都重新处理原始PDF文档
大小: 14.9 MB(比原始文档小很多)
可以理解为:把16个文档"压缩"成了一个可快速搜索的数据库文件。
6.2 构建太慢了怎么办
教程中只使用了CPU进行构建,使用GPU会更快(让AI给你改脚本)

如何使用GPU:
修改构建脚本,把 device='cpu' 改成 device='cuda':
前提条件:
- 有NVIDIA显卡
- 安装了CUDA
- 安装了GPU版本的PyTorch
6.3 查询太慢了怎么办
当前使用的方案是 Pickle + NumPy ,除了这个也可以使用Chroma数据库,会快一些,需要改脚本直接和AI说
Pickle + NumPy 方案:
- 用pickle直接保存向量数组
- 用numpy计算余弦相似度
- 简单、稳定、可靠
Chroma的主要优势:
- 增量更新
- 当前方案:添加新文档需要重建整个索引
- Chroma:可以直接添加/删除文档,无需重建
- 持久化存储
- 当前方案:每次查询都要加载整个pkl到内存
- Chroma:数据存在磁盘,按需加载
两种方案对比:

6.4 视频、扫描pdf怎么办
视频可以放置一个同名txt文件,里面放置识别的文字,然后和AI说使用txt构建就好。扫描pdf 可以先使用工具(如福昕编辑器)识别文字,这样AI也是能使用的。
图片
6.5 知识库搭建完之后可以移动吗
如果RAG知识库索引使用的是绝对路径,那就改不了。如果使用的是相对路径的话,可以移动。但是都需要保持文件夹层级名字层次结构一致。
