【RAG】使用llamaindex进行RAG开发

RAG基本步骤

  1. parse:将pdf,doc,ppt等file解析成文本,如markdown。有基本的metadata。
  2. chunk:将markdown文本进行分块,比如按大小分,语义分等。可以为每个块添加更丰富的metadata。
  3. index:将每个分块使用embedding model转换为向量,存储到vector db中,方便后续检索。
  4. retrieve:将user query也用embedding model转换为向量,连接vector db进行相似度搜索,rerank等找到和query最相关的top k个块。
  5. generate:根据上一步返回的最相关块和user query结合,调用llm进行生成。一般会有些后处理。

123步会在user上传知识库文件后执行,45步会在user对知识库进行问答时执行。


我们使用llamaindex完成rag整个过程,此外还需要:

  • minio: object store,存储文件
  • pgvector: vector db,存储embedding向量
  • docker env(非必须)

llamaindex提供了high level的RAG实现,但是我们需要更好的灵活性,所以会用更低层的API来做

  1. 需要设计五个base类,覆盖5个步骤的基础功能
  2. 每个base类有具体实现,能够实现对应功能
  3. 实现类按顺序串联,即可形成pipeline执行QA。其中index和retrieve通过db config保持一致
  4. 每个步骤可作为一个service

代码等忙完再整理

相关推荐
互联网叫兽21 小时前
RAG 知识库-基于元数据的细粒度权限控制
ai·llm·rag
XLYcmy1 天前
PDF 论文处理器 — 改进方向与建议文档
python·pdf·llm·agent·dify·rag·harness
寻道码路2 天前
大模型工程化实战(十六):政企国产化避坑——合规/信创名录/私有化运维/国产硬件适配/原厂支持这五道关怎么过
大模型·agent·信创·rag·ai工程化·国产化替代·政企ai落地
OxYGC2 天前
玩转大模型(一):参数、token、FLOPs 怎么算,提示词/RAG/微调/续训/Agent 怎么选
大模型·模型微调·rag·智能体·提示词工程
XLYcmy2 天前
PDF 论文处理器 — 优势与功能文档
大数据·python·网络安全·pdf·dify·rag·漏洞检测
QuZhengRong2 天前
【Luck‑Report】 AI 智能报表助手 + RAG 知识库 + 报表引擎 V2.0.7 更新
人工智能·agent·报表·开源项目·rag
XLYcmy2 天前
PDF 论文处理器 — 技术报告文档
数据库·python·网络安全·pdf·embedding·dify·rag
ZealSinger3 天前
LangChain4j用AiServices拼Tool
java·rag·ai智能体·langchain4j
正经教主3 天前
【FDE系列】阶段3:Day 73:RAGAS 评测 — 用数据证明改动有效
人工智能·rag·fde
XLYcmy4 天前
Dify 本地部署、Ollama 与 Xinference 集成:踩坑与最佳实践指南
llm·agent·dify·rag·ollama·rerank·harness