【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

代码等忙完再整理

相关推荐
狐狐生风6 小时前
LangChain RAG 基础
人工智能·python·学习·langchain·rag·agentai
Joseph Cooper18 小时前
AI Agent 框架选型:LangChain、LlamaIndex、Anthropic SDK 和 Codex/Claude Code 怎么选
人工智能·langchain·llamaindex·claudecode·anthropic sdk·codex sdk
qq_2837200519 小时前
Python+LangChain 调用大模型全方案深度实战:原生调用、统一接口、流式输出、异步、自定义模型全解析
人工智能·langchain·agent·rag
Flying pigs~~1 天前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
无籽西瓜a2 天前
RAG 中的幻觉是什么?原因分析与防范措施
人工智能·ai·rag
handsomestWei2 天前
RAGFlow0.25版本更新与记忆工作流简介
ai·知识库·工作流·rag·智能体·ragflow·记忆
梦想画家2 天前
RAG应用基石:从六种文档切分算法看语义完整性
人工智能·算法·rag
Cc不爱吃洋葱2 天前
RAG最佳实践:用 ElasticSearch 打造AI搜索系统与RAG 应用全流程详解!
人工智能·elasticsearch·大模型·大语言模型·rag·ai工具·大模型应用
AI_小站2 天前
6个GitHub爆火的免费大模型教程,助你快速进阶AI编程
人工智能·langchain·github·知识图谱·agent·llama·rag
RAG专家2 天前
【KG²RAG】结合知识图谱解决RAG 文本块孤立问题
人工智能·知识图谱·rag·检索增强生成