检索增强生成系统

一个基于Google Gemini和Autogen多代理框架的端到端检索增强生成(RAG)系统,使用ChromaDB作为向量存储并支持MCP工具调用。

  • by bhargavasairaj
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bhargavasairaj/PDF_RAG_WITH_MCP

使用说明

基于Gemini的代理增强检索增强生成(RAG)系统

这个项目实现了一个端到端的检索增强生成(RAG)流程,该流程由Google Gemini和Autogen的多智能体框架驱动。它使用ChromaDB作为向量存储,并支持基于MCP(可能是指某种特定的工具或协议,如“模型控制协议”或具体上下文中的其他含义)的工具调用,以实现动态查询的丰富化。

初始架构

      Database : Chroma
      Input Document type : PDF
      Embedding Model : Gemini (text-embedding-004)
      LLM API : Gemini (2.5-Flash)
      Framework : Autogen (Two Assistant Agents)
      Toolcalling : MCP sse based Tool calling 

向量数据库索引

一旦Pdf文档加载完毕,它将被递归地拆分成多个部分。 每个数据块都已通过Gemini转换为嵌入表示,并存储在ChromaDB中

RAG(Retrieval-Augmented Generation,检索增强生成)

参数: K:(从数据库检索到的块数量) 查询(输入查询)

向量数据库已接收到查询输入。 我们将从数据库中检索出前K个结果。

代理框架:

输入: 用户消息: 提示 + 查询 + 检索到的片段

特工1: 它将检查给定的检索结果是否与给定的查询相匹配

If Yes:
    We will be proceeding to generate summary by Validator agent at end
Else:
    Agent 1 will be calling the WebSearchTool linked to it .
    Agent 1 will retrieve the results from Serp API.
    Agent will analyze them and proceed to next agent Validator to generate summary accordingly.

建筑2.0更新链接:

这个链接的中文翻译可以是:“https://drive.google.com/文件/d/1T_Nrauc9yLpqTgdcZpYB0jaAD4VAV-Bs/查看?usp=共享”。不过,实际上这个链接是一个Google Drive上的文件链接,直接翻译网址本身并没有实际意义,这里的翻译更多是为了说明链接的内容和用途。在实际使用中,我们通常直接使用这个链接,无需翻译。但如果需要对链接的描述进行翻译,可以如上所述

初始启动

      RUN MCP - python mcp_serp_api.py #continous running till the main the application stops
      RUN MAIN APPLICATION  - python app_new.py