【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

代码等忙完再整理

相关推荐
liferecords3 小时前
预算只够升级 10% 的查询,该升级谁?金融文档 QA 的Token分配课
llm·rag·金融科技·智能文档
一枕槐安4876 小时前
RAG 增量更新向量库实战:新增文档自动去重索引
向量数据库·rag·去重·内容哈希·知识库更新·增量索引
一枕槐安4877 小时前
应届生 RAG 项目包装:FastAPI 检索服务接口设计指南
fastapi·web服务·rag·pydantic·接口封装
一枕槐安4879 小时前
多租户 RAG 系统设计实战:如何隔离不同业务知识库数据?
向量数据库·rag·权限控制·多租户·数据隔离·saas架构
利威尔xu1 天前
RAG 检索面试十连问:召回率从 92% 掉到 61%,答案句被拦腰截断怎么排查
人工智能·后端·大模型·向量数据库·rag
李小白杂货铺1 天前
大模型 RAG 网页抓取能力对照实验:豆包、千问底层抓取引擎实测
ai·rag·网页抓取·千问·豆包·抓取引擎·对照实验
Nuanyt1 天前
Agent 学习笔记(下篇二):Claude Code 生态、RAG 与 Memory(Stage 5–6)
笔记·python·memory·rag·aiagent·claude code·agentskill
loulanyue_2 天前
给概率大模型套上确定性缰绳:GraphRAG、神经符号与知识超图重构可信AI底座——读陈华钧杨博等CNCC2026第十届知识图谱论坛实录
人工智能·rag
goehou2 天前
向量检索找不到那个型号,混合检索和重排怎么搭
llm·检索增强·向量检索·rag·混合检索
vailee2 天前
42 万字符的工具输出压进 6,945 token:Agent 长会话的上下文治理实践
java·大数据·人工智能·prompt工程·rag·上下文管理