税务警报聊天机器人

一个基于Streamlit的交互式聊天机器人,连接自定义MCP服务器,支持对SQLite数据库中的税务警报进行查询、插入、更新和删除操作,使用LangGraph的REACT代理框架和Google Gemini模型。

  • by Soham-bakshi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 soham-bakshi/mcp-server

使用说明

📊 税务警报聊天机器人(MCP供电)

互动 基于Streamlit的聊天机器人 连接到自定义 MCP(模型上下文协议) 服务器。它允许用户 怎么翻译, 插入, 更新,以及 删除 存储在本地SQLite数据库中的税务警报。该应用程序使用 LangGraph的REACT代理框架 随着 谷歌双子座模型 并支持两者 SSE 和 标准输入输出 运输方式。


📁 项目结构

.
├── client.py  # Frontend Streamlit Chat UI
├── server.py # MCP tool & Backend FastMCP SQLite server
├── dummy_tax_alerts.db # SQLite database (if present)
├── .env # Environment variables
├──.venv # virtual environment
└── README.md # Documentation


🚀 特性

  • 🤖 与Google Gemini 1.5型号的对话界面
  • 🧠 基于LangGraph的REACT风格推理代理
  • 🛠️ 通过MCP服务器执行工具
  • 📄 税务预警数据的查询、插入、更新和删除操作
  • 🔄 使用SSE或STDIO进行实时响应

🛠️ 技术栈

图层 工具/框架
前端 Streamlit、LangGraph、LangChain
后端 FastMCP,SQLite
法学硕士提供者 谷歌双子座1.5 Flash/Pro(通过LangChain)
传输 SSE(服务器发送事件)或STDIO
运行时 Python 3.10+、venv、Python dotenv

⚙️ 安装说明

1.克隆存储库

git clone https://github.com/your-repo/tax-alert-chatbot.git
cd tax-alert-chatbot

2.创建和激活虚拟环境

python -m venv venv
source venv/bin/activate         # On Windows: venv\Scripts\activate

3.安装依赖项

pip install -r requirements.txt
(Optional: Split into client/requirements.txt and server/requirements.txt if needed.)

4.配置环境变量

在根文件夹中创建.env文件:

GOOGLE_API_KEY=your_google_api_key
ALERTS_DB=dummy_tax_alerts.db

🗃️ SQLite架构

CREATE TABLE tax_alerts (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT,
    date TEXT,
    jurisdiction TEXT,
    topics TEXT,
    summary TEXT,
    full_text TEXT,
    source_url TEXT,
    tags TEXT,
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

🔧 MCP服务器工具

工具名称 描述
query(sql) 快跑 SELECT 查询 tax_alerts 桌子
insert(...) 在数据库中插入新的税务警报
update(...) 根据条件更新现有税务警报
delete(...) 使用删除税务警报 WHERE 条件
schema_info() 返回表的架构和列信息

▶️ 运行服务器

python server.py

或

python server.py --transport stdio

确保.env包含指向dummy_tax_alerts.db的有效路径。

💬 运行客户端(聊天UI)

streamlit run client.py

它将在您的浏览器中自动打开streamlit localhost:8501。

⚙️ 配置(通过侧边栏) 双子座模型:在双子座-1.5-flash或双子座-1.5-pro之间进行选择

服务器模式:仅支持单台服务器

服务器类型:SSE或STDIO

服务器URL:仅SSE模式需要

清除聊天/显示工具执行:调试和重置工具

🧪 示例交互

用户输入:

"Show me tax alerts from 2024 in California"

代理响应(工具调用):

SELECT * FROM tax_alerts WHERE jurisdiction='California' AND date LIKE '2024%'

🧼 调试与注意事项 启动客户端之前,MCP服务器必须正在运行。

如果发生错误,客户端将显示完整的回溯。

确保.env中的数据库路径正确。