自然语言数据库交互工具

SQL Pilot是一款基于LangGraph的AI代理,通过与自定义MCP服务器连接,提供自然语言的数据库交互功能,支持查询、操作和管理SQLite数据库。

  • by chandraprvkvsh
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 chandraprvkvsh/SQL-Pilot

使用说明

SQL 指南(或 SQL 向导)

一个基于LangGraph的AI代理,它与自定义的MCP服务器相连,提供自然语言的数据库交互功能。SQL Pilot使用户能够通过对话式AI查询、操作和管理SQLite数据库。

特点/特性

  • 自然语言查询用最通俗易懂的语言询问有关数据库的问题
  • 数据库操作读取、插入、更新、删除和创建表
  • 模式管理查看表结构及关系
  • 认证与安全内置用户认证与同意管理功能
  • 网页界面基于Gradio的简洁用户界面,便于交互
  • 会话内存保持对话上下文和数据库模式的意识

能力

数据库操作

  • 列出数据库中的所有表
  • 读取数据时应用过滤、限制和排序
  • 插入经过验证的新记录
  • 使用 WHERE 子句更新现有记录
  • 删除受安全限制的记录
  • 使用自定义模式创建新表
  • (经同意后)删除表

AI驱动的功能

  • 智能查询解析与操作规划
  • 情境感知的后续问题
  • 自动参数映射和验证
  • 错误处理和回退机制
  • 基于会话的内存与学习

快速入门

先决条件

  • Python 3.8及以上版本
  • OpenAI API密钥(在环境变量中设置)

安装

  1. 克隆仓库

    git clone https://github.com/chandraprvkvsh/SQL-Pilot.git
    cd SQL-Pilot
    
  2. 安装依赖项

    pip install -r requirements.txt
    cd Query-MCP
    pip install -r requirements.txt
    
  3. 设置环境变量

    export OPENAI_API_KEY="your-openai-api-key"
    

运行系统

  1. 启动MCP服务器

    cd Query-MCP (github.com/chandraprvkvsh/Query-MCP)
    python server.py
    
  2. 启动网页界面 (在新的终端中)

    python ui.py
    
  3. 访问界面

    • 开放 http://localhost:7860 在您的浏览器中
    • 上传一个SQLite数据库或创建一个示例数据库
    • 开始与您的数据库聊天吧!

使用示例

"Show me all tables in the database"
"List all users with their email addresses"
"Add a new user named 'Alice' with email 'alice@example.com'"
"Update the user with id 1 to have name 'Bob'"
"Create a new table called 'products' with columns id, name, and price"
"Show me the schema of the users table"
"What was the last operation I performed?"

建筑学

  • LangGraph 代理协调对话流程和决策过程
  • 查询-MCP服务器自定义MCP服务器处理数据库操作
  • FastMCP框架启用工具调用和资源管理
  • Gradio 用户界面提供网页界面以供用户交互
  • SQLite 数据库存储和管理您的数据
  • 持久化代理记忆存储用户上下文、会话历史以及模式意识,以支持智能多轮对话

安全特性

  • 基于同意的破坏性操作
  • 参数化查询以防止SQL注入
  • 输入验证和清理
  • 会话超时及清理