# text2sql **Repository Path**: yexi-ovo/text2sql ## Basic Information - **Project Name**: text2sql - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-02-28 - **Last Updated**: 2025-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Text2SQL ## 项目介绍 Text2SQL是一个基于自然语言处理技术的工具,能够将自然语言问题转换为SQL查询语句。该项目利用大型语言模型和向量数据库技术,实现了对数据库的自然语言交互查询功能,使非技术用户也能轻松查询数据库。 ## 软件架构 项目采用前后端分离架构: ### 后端架构 - **FastAPI框架**:提供高性能的API服务 - **向量数据库**:使用Milvus进行向量存储和检索 - **嵌入模型**:使用大型语言模型生成文本嵌入 - **RAG技术**:基于检索增强生成技术实现自然语言到SQL的转换 - **缓存系统**:使用Redis进行查询结果缓存 - **数据库支持**:目前支持SQLite和MySQL数据库 ### 前端架构 - **Vue.js 3**:构建响应式用户界面 - **TailwindCSS**:实现现代化UI设计 - **Plotly.js**:提供强大的数据可视化能力 - **科技感设计**:暗色主题,深蓝色和科技蓝为主色调,点缀青色高光 ## 安装教程 ### 方法一:使用Docker(推荐) 1. 确保已安装Docker 2. 克隆项目到本地 ```bash git clone https://gitee.com/your-username/text2sql.git cd text2sql ``` 3. 构建并启动Docker容器 ```bash docker build -t text2sql . docker run -p 8000:8000 text2sql ``` ### 方法二:本地安装 1. 确保已安装Python 3.11或更高版本和Node.js 16+ 2. 克隆项目到本地 ```bash git clone https://gitee.com/your-username/text2sql.git cd text2sql ``` 3. 安装后端依赖 ```bash pip install -r requirements.txt ``` 4. 构建前端(Windows) ```bash build_frontend.bat ``` 或构建前端(Linux/Mac) ```bash chmod +x build_frontend.sh ./build_frontend.sh ``` 5. 启动应用 ```bash uvicorn backend.app:app --host 0.0.0.0 --port 8000 ``` ## 使用说明 1. 启动应用后,在浏览器中访问 `http://localhost:8000` 2. 在自然语言输入框中输入您的查询需求,例如"显示所有客户的名字和邮箱" 3. 系统会自动将您的问题转换为SQL查询语句并执行 4. 查询结果将以表格形式展示,同时生成相应的数据可视化图表 5. 您可以通过侧边栏访问查询历史和示例问题 6. 支持查看和复制生成的SQL代码,以及下载图表 ## 界面特点 1. **科技感设计**:采用暗色主题,以深蓝色和科技蓝为主色调,点缀青色高光 2. **可折叠侧边栏**:使用手风琴式导航,方便访问历史记录和示例查询 3. **自然语言输入区**:支持快捷键(Ctrl+Enter)提交查询 4. **数据可视化**:自动生成适合数据特点的Plotly图表,支持全屏查看和下载 5. **响应式布局**:适应不同屏幕尺寸,提供良好的移动端体验 ## 环境配置 项目支持通过环境变量或.env文件进行配置: ``` # 数据库配置 DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=password DB_NAME=database_name # Milvus配置 MILVUS_URI=http://localhost:19530 # API密钥配置 OPENAI_API_KEY=your_api_key ``` ## 技术特点 1. **RAG技术**:使用检索增强生成技术,提高SQL生成的准确性 2. **多数据库支持**:支持SQLite、MySQL等多种数据库系统 3. **现代前端框架**:使用Vue.js 3和TailwindCSS构建科技感UI 4. **高级数据可视化**:集成Plotly.js提供丰富的图表类型和交互功能 5. **容器化部署**:支持Docker容器化部署,简化安装和配置过程 6. **响应式设计**:适应桌面和移动设备的不同屏幕尺寸 ## 参与贡献 1. Fork 本仓库 2. 新建 Feature_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目采用 [LICENSE](./LICENSE) 许可证