【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

代码等忙完再整理

相关推荐
沛沛老爹1 天前
Web开发者快速上手AI Agent:提示词应用优化实战
人工智能·ai·agent·提示词·rag·入门知识
SirLancelot11 天前
AI大模型-基本介绍(一)RAG、向量、向量数据库
数据库·人工智能·ai·向量·向量数据库·rag
找方案1 天前
我的 all-in-rag 学习笔记:初识 RAG—— 让 AI 从 “闭卷考试“ 变 “开卷考“
人工智能·笔记·学习·rag·all-in-rag
wxl7812272 天前
保险类文档 RAG 全流程实现方案
元数据·rag
赋范大模型技术社区2 天前
Llama-Index RAG 进阶:小索引大窗口 + 混合检索 + 智能路由实战指南
rag·混合检索·智能路由·llama index
洛阳泰山2 天前
快速上手 MaxKB4J:开源企业级智能知识库系统在 Sealos 上的完整部署指南
java·开源·llm·agent·rag
青衫客363 天前
浅谈 LightRAG —— 把“结构理解”前移到索引阶段的 RAG 新范式
大模型·llm·rag
AI大模型学徒3 天前
大模型应用开发(十七)_RAG架构概述
大模型·知识库·rag·deepseek
明阳~3 天前
Milvus向量数据库:AI时代的向量搜索利器
agent·milvus·向量数据库·rag
赋范大模型技术社区4 天前
用 RAG 撬开多模态检索:从文本问答到以图搜图与视频筛选
多模态·rag·以图搜图·混合检索·视频筛选