【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

代码等忙完再整理

相关推荐
nju_spy3 天前
大模型面经(一) Prompt + RAG + 微调
人工智能·面试·lora·大模型·rag·提示词工程·peft微调
whltaoin5 天前
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
人工智能·spring·阿里云·向量数据库·rag
XiaoLeisj6 天前
【SpringAI】第四弹:深入解析 Rag 检索增强工作流程、最佳实践和调优
阿里云·原型模式·rag·spring ai·灵积大模型
精致先生8 天前
多模态PDF解析
pdf·大模型·rag
spader-ai9 天前
RAG is really dead? 大模型和知识之间的桥梁没了?
人工智能·大模型·rag·上下文工程
有点不太正常12 天前
FlippedRAG——论文阅读
论文阅读·安全·大模型·rag
A尘埃12 天前
Cherry Studio+Ollama+大模型+向量模型,实现RAG私有知识库。智能体实现EXCEL转化为一个报表图表
rag·ollama·cherry studio
OliverYeung14 天前
【AskAI系列课程】:P3.Agno从阿里云百炼知识库中检索知识库片段并回答用户问题
人工智能·ai·llm·rag·agentic·deepseek·agno
zbk.gyl14 天前
LazyLLM端到端实战:用RAG+Agent实现自动出题与学习计划的个性化学习助手智能体
人工智能·ai·大模型·agent·rag·智能体·lazyllm
minhuan1 个月前
构建AI智能体:二十八、大语言模型BERT:原理、应用结合日常场景实践全面解析
人工智能·语言模型·自然语言处理·bert·ai大模型·rag