# text2sql **Repository Path**: yuepeiwen/text2sql ## Basic Information - **Project Name**: text2sql - **Description**: 一个通过langchain实现自然语言查询数据库数据的例子 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-11 - **Last Updated**: 2025-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 环境要求 - Python 3.13.9 本人版本 - MySQL 8.0 或更高版本 - 阿里云 DashScope API Key ## 目录结构 ``` . ├── tools/ # 自定义工具集 │ └── text2sql_tools.py # SQL 相关工具实现 ├── utils/ # 工具类模块 │ ├── db_utils.py # 数据库操作工具 │ └── log_utils.py # 日志工具 ├── text2sql_agent.py # 智能代理主程序 ├── test.sql # 示例数据库脚本 ├── .env # 环境变量配置文件 ├── langgraph.json # LangGraph 配置文件 └── requirements.txt # 依赖包列表 ``` ## 安装指南 1. 克隆项目代码: ```bash git clone https://gitee.com/yuepeiwen/text2sql.git ``` 2. 安装依赖包: ```bash pip install -r .\requirements.txt ``` 3. 配置环境变量: 在 `.env` 文件中配置以下参数: ```env OPENAI_API_KEY="你的阿里云百炼_api_key" ``` 4. 导入示例数据库: 使用 `test.sql` 文件创建示例数据库和表结构。 5. 修改数据库连接配置: 在 [test_to_sql_agent.py] 文件中修改数据库连接参数: ```python tools = get_tools(host='your_host', port=your_port, username='your_username', password='your_password', database='your_database') ``` ## 使用方法 运行主程序: ```bash python text2sql_agent.py -->直接执行测试代码 python text2sql_tools.py -->直接执行测试代码 python db_utils.py -->直接执行测试代码 在终端直接执行:langgraph dev --allow-blocking -->使用LangGraph自带的ui界面进行测试 ``` ------------------------------------- 以下不重要 ------------------------------------- # SQL 查询智能代理系统 一个基于 LangChain 和大语言模型的智能 SQL 查询代理系统,能够自然语言与数据库交互,自动执行 SQL 查询并返回结果。 ## 项目概述 本项目实现了一个智能化的数据库查询代理,用户可以通过自然语言向系统提问,系统会自动分析问题、生成对应的 SQL 查询语句、验证语法正确性并执行查询,最后将结果以易于理解的方式返回给用户。 系统采用模块化设计,主要包括: - 数据库连接与管理模块 - SQL 工具集(表查询、模式查询、SQL 执行、SQL 验证) - 智能代理核心(集成大语言模型) - 日志记录模块 ## 功能特性 - 🗣️ 自然语言转 SQL 查询:用户可以用自然语言提问,系统自动转换为 SQL 语句 - 📋 表结构浏览:支持查看数据库中所有表及其描述信息 - 🔍 表模式查询:可以获取指定表的详细结构信息,包括字段、主键、外键、索引等 - ✅ SQL 语法验证:在执行前自动验证 SQL 语法正确性 - 🛡️ 安全防护:只允许 SELECT 查询,防止数据被意外修改 - 📊 结果展示:以 JSON 格式清晰展示查询结果 - 🧠 智能推理:基于阿里云 Qwen3 大语言模型,具有强大的自然语言理解和 SQL 生成能力 ## 技术栈 - Python 3.12+ - LangChain 框架 - SQLAlchemy ORM - PyMySQL 数据库驱动 - 阿里云 DashScope API (Qwen3 大语言模型) - Loguru 日志系统 - python-dotenv 环境变量管理