SQL 指南(或 SQL 向导)
一个基于LangGraph的AI代理,它与自定义的MCP服务器相连,提供自然语言的数据库交互功能。SQL Pilot使用户能够通过对话式AI查询、操作和管理SQLite数据库。
特点/特性
- 自然语言查询用最通俗易懂的语言询问有关数据库的问题
- 数据库操作读取、插入、更新、删除和创建表
- 模式管理查看表结构及关系
- 认证与安全内置用户认证与同意管理功能
- 网页界面基于Gradio的简洁用户界面,便于交互
- 会话内存保持对话上下文和数据库模式的意识
能力
数据库操作
- 列出数据库中的所有表
- 读取数据时应用过滤、限制和排序
- 插入经过验证的新记录
- 使用 WHERE 子句更新现有记录
- 删除受安全限制的记录
- 使用自定义模式创建新表
- (经同意后)删除表
AI驱动的功能
- 智能查询解析与操作规划
- 情境感知的后续问题
- 自动参数映射和验证
- 错误处理和回退机制
- 基于会话的内存与学习
快速入门
先决条件
- Python 3.8及以上版本
- OpenAI API密钥(在环境变量中设置)
安装
- 克隆仓库
git clone https://github.com/chandraprvkvsh/SQL-Pilot.git
cd SQL-Pilot- 安装依赖项
pip install -r requirements.txt
cd Query-MCP
pip install -r requirements.txt- 设置环境变量
export OPENAI_API_KEY="your-openai-api-key"运行系统
- 启动MCP服务器
cd Query-MCP (github.com/chandraprvkvsh/Query-MCP)
python server.py- 启动网页界面 (在新的终端中)
python ui.py- 访问界面
- 开放 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注入
- 输入验证和清理
- 会话超时及清理
