【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

代码等忙完再整理

相关推荐
AI-好学者17 小时前
阶段一-图数据库基础与PropertyGraph模型
数据库·rag·knowledge graph·graphrag
荣--21 小时前
业务智能体实战笔记(二)|前置拦截:别让 LLM 做不该做的决策
rag·工程实践·业务智能体·llm准确率·前置拦截·工具选择·消息预处理
AI-好学者1 天前
阶段二-Cypher查询语言详解
数据库·rag·graphrag
小饕1 天前
RAG 进阶|响应生成(Generation)4 大痛点深度剖析:从问题定位到工程解法
人工智能·rag
张彦峰ZYF2 天前
大模型LLM ACA - ACP认证考试真题冲刺演练二答案参考
人工智能·lora·llm·embedding·rag·few-shot
uncle_ll2 天前
LangChain 实战指南:回调系统、自定义组件与有状态对话全落地
langchain·llm·embedding·agent·大模型开发·rag
染指11102 天前
53.llama_index-向量存储、索引存储
数据库·redis·llama_index·llamaindex
不能只会打代码3 天前
RAG 数据源全景解析指南:从 .txt 到知识图谱的 7 大阵营 47 种格式
rag·数据解析·文档处理·多模态检索·知识库建设
林间码客3 天前
LLM Wiki:大语言模型世界的“百科全书”
llm·rag·wiki·llm wiki
chanalbert3 天前
Agent 工程化指南(二):记忆与规划 — 让 Agent “记得住“且“做得对“
agent·memory·rag·mcp