[//]: # (
SQL-GPT
<b>Tools for interacting with SQL and files are implemented through LLMs.</b>.
The most complete access interface is encapsulated
SQLGPT 是一款强大的工具,它能够通过简单的文字描述,自动生成符合要求的 SQL 查询语句。无论您是在快速生成复杂查询还是与数据库进行交互,SQL_GPT 都能够显著提升您的效率和工作流程。
API KEY 来访问 GPT,提升稳定性。Mybatis。要开始使用 SQL_GPT,只需按照以下简单步骤进行操作:
安装所需依赖: 确保您的环境中已安装 Python 3.x,并执行以下命令安装所需依赖包:
bash
pip install requirements.txt
2. 配置OPENAI数据: 在 config.json中配置您的OPENAI-KEY以及BASE_URL信息来方便同Chat交互,还可以通过OPENAI-KEYS列表来设置多个APP_KEY。
配置数据库连接: 在 config.json中配置您的数据库连接信息,包括主机名、用户名、密码等,以便进行数据库交互。
生成 SQL 查询: 在工具的用户界面中,用自然语言描述您的查询需求。SQL_GPT 将会智能地生成相应的 SQL 查询语句。例如:
```python from gpt.SQLGPT import SQL_GPT sql_GPT = SQL_GPT()
# 生成sql语句 sql_GPT.generateSQL("生成两个数据库表的关联查询操作。")
# 对错误的SQL进行修改 sql_GPT.SQL_ERROR_CHECK("SELECT * FROM tableA WHERE user_id IN (SELECT user_id FROM tableB LIMIT 1000);", "SQL执行失败: (1235, This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'") ```
SQl-GPT是基于LLM构造的本地问答系统。可以根据需求生成sql语句,并在这个基础上对sql进行优化和纠错以及生成mybatis的xml文件。此外,还可以直接执行sql语句,同时设置多个监控的数据库。 在和数据库交互的基础上,同时实现了同文件系统进行交互,通过引入向量数据库来增加交互的上下文,并通过采用redis结构体对查询进行缓存以此来提高查询速度,同时支持多种向量模型。
同本地数据库,文件系统进行交互以及问答

redis 安装redis数据库,建议通过docker进行安装。 docker run --restart=always -p 6379:6379 --name redis-docker -d redis:7.0.12 --requirepass admin
api_key 在与线上LLm进行交互时,需要实现申请好对应的api-key。MySql 在本地安装MySql数据库,同样推荐使用docker进行安装。该项目使用了以下项目。 - FastChat 提供 chat 服务 - vicuna-13b 作为基础模型 - langchain 工具链 - Auto-GPT 通用的插件模版 - Hugging Face 大模型管理 - Chroma 向量存储 - Milvus 分布式向量存储 - ChatGLM 基础模型 - llama-index 基于现有知识库进行In-Context Learning来对其进行数据库相关知识的增强。
$ claude mcp add SQL-GPT \
-- python -m otcore.mcp_server <graph>