智能笔记助手

一款结合检索增强生成(RAG)与模型上下文协议(MCP)工具的智能学习伴侣,帮助用户通过聊天界面与课程文档(PDF)互动并执行本地文件系统操作。

  • by OmarHammami123
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 OmarHammami123/RAG-MCP-PROJECT

使用说明

🎓 智能笔记助手(RAG+MCP)

智能学习伴侣,结合 检索增强生成(RAG) 和 模型上下文协议(MCP) 工具。此助手可帮助您与课程文档(PDF)交互,并直接从聊天界面执行本地文件系统操作。

🚀 特性

  • RAG系统:用途 谷歌双子座2.0 Flash 和 色度数据库 根据您当地的PDF文档回答问题。
  • MCP工具:与计算机交互的集成工具:
    • list files / ls:浏览目录。
    • read [file] / cat:读取文件内容。
    • search [term]:按名称查找文件。
    • file info:获取文件元数据。
  • 智能意图检测:自动检测您是否需要本地工具或AI答案来保存API配额。

🛠️ 安装

此项目使用 uv 用于快速Python包管理。

  1. 克隆存储库:

    git clone <your-repo-url>
    cd RAG_MCP_PROJECT
    
  2. 安装依赖项:

    uv sync
    
  3. 配置环境: 创建一个 .env 文件,并添加您的Google API密钥:

    GOOGLE_API_KEY=your_api_key_here
    

📖 用法

  1. 放置您的文档:将您的PDF或DOCX课程文件放在 documents/ 文件夹。

  2. 运行助手:

    uv run simple_rag.py
    
  3. 互动:

    • 提问: “什么是质量控制?”
    • 使用工具: “列出文档中的文件”, “读取config.py”

🏗️ 项目结构

  • simple_rag.py:主要应用程序入口点和RAG逻辑。
  • mcp_server.py:运行时使用的真实MCP服务器(stdio, list_tools/call_tool).
  • mcp_tools.py:旧助手模块(不在活动MCP运行时路径中)。
  • vector_store.py:管理ChromaDB矢量数据库。
  • document_processor.py:处理PDF/DOCX加载和分块。
  • config.py:配置设置。

MCP运行时说明

活动MCP流为:

  1. simple_rag.py 开始 mcp_server.py 通过stdio。
  2. simple_rag.py 通过调用MCP工具 mcp_session.call_tool(...).
  3. mcp_server.py 执行已注册的工具处理程序。

mcp_tools.py 运行时MCP服务器不使用。

🤖 技术

  • Python 3.12+
  • LangChain
  • 谷歌生成人工智能(Gemini)
  • 色度数据库
  • UV(包装管理器)