基于角色的检索增强生成系统

FinRAG-MCP是一个集成模型上下文协议(MCP)的基于角色的访问控制(RBAC)检索增强生成(RAG)系统,可安全查询公司文档并根据不同角色权限返回相应数据。

  • by Nithishkaranam2002
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Nithishkaranam2002/Finrag--mcp

使用说明

FinRAG MCP

FinRAG MCP 是一个 基于角色的访问控制(RBAC)检索增强生成(RAG) 系统,与 模型上下文协议(MCP).
它允许您安全地查询公司文档(工程、财务、人力资源、营销、总务)——每个角色只能看到它允许的内容。

✅ 适用于 克劳德桌面(MCP工具)
✅ 可选的 流线型UI + FastAPI网关
✅ 用途 Qdrant(当地) 用于矢量搜索
✅ 文件丰富 元数据+引用


🚀 为什么这个项目

  • 安全答案 → 员工、经理和C级人员看到不同的数据(RBAC)。
  • 可信输出 → 每个响应都包括源和文件块。
  • 灵活的 → Claude MCP集成+独立UI。
  • 实用 → 处理Markdown、CSV、报告、手册、财务摘要。

📂 项目结构

FinRAG MCP

FinRAG MCP 是一个 基于角色的访问控制(RBAC)检索增强生成(RAG) 系统,与 模型上下文协议(MCP).
它允许您安全地查询公司文档(工程、财务、人力资源、营销、总务)——每个角色只能看到它允许的内容。

✅ 适用于 克劳德桌面(MCP工具)
✅ 可选的 流线型UI + FastAPI网关
✅ 用途 Qdrant(当地) 用于矢量搜索
✅ 文件丰富 元数据+引用


🚀 为什么这个项目

  • 安全答案 → 员工、经理和C级人员看到不同的数据(RBAC)。
  • 可信输出 → 每个响应都包括源和文件块。
  • 灵活的 → Claude MCP集成+独立UI。
  • 实用 → 处理Markdown、CSV、报告、手册、财务摘要。

📂 项目结构


⚙️ 设置

``bash

克隆仓库

克隆https://github.com/YOUR_GITHUB/finrag-mcp.git cd finrag mcp

用uv创建venv

紫外线 source.ven/bin/activate 紫外同步

添加机密

cat>env/.env<<'EOF' OPENAI_API_KEY=sk-REPLACE_ME OPENAI_MODEL=gpt-4o-mini EMBED_MODEL=文本嵌入-3大 QDRANT_LOCAL_PATH=.QDRANT_LOCAL QDRANT_COLLECTION_PREFIX=finrag FINRAG_ROLE=员工 文件结束

摄入文件

uv运行python-m ingest.run_ingest--数据根。/数据

运行选项

  1. Claude MCP(推荐) 打开克劳德桌面→ 设置→ 开发者→ 本地MCP服务器 添加: 命令:。../finag mcp/.vev/bin/python 参数:-m mcp_server.server Env:来自.Env Claude现在可以调用工具: set_role(“财务”) 搜索(“2024年第四季度收入驱动因素”,top_k=5)

启动网关

uv运行uvicorn网关。应用程序:app--port 8000

启动UI

uv运行streamlit运行ui/app.py--server.port 8501

查询示例 员工:“手册对休假审批有什么规定?” 工程:“在架构文档中列出服务。” 财务:“总结第四季度的收入驱动因素。” 人力资源部:“病假超过2天的规定是什么?” 营销:“2024年哪些活动的投资回报率最高?”