用于n8n,通过自动化工作流程生成SQL查询,集成LangChain和MySQL,快速提取数据库架构并响应用户请求,提升数据查询效率,简化数据库交互过程。
此工作流适合以下人群:
- 数据分析师:需要快速从数据库中提取信息并生成 SQL 查询。
- 软件开发人员:希望通过自然语言与数据库交互,简化查询过程。
- 业务分析师:需要从数据库中获取数据以支持业务决策。
- 学生和研究人员:希望使用数据库进行研究和分析,且具备一定的编程基础。
该工作流解决了以下问题:
- 复杂的 SQL 查询生成:用户可以通过自然语言提问,系统自动生成相应的 SQL 查询,而无需深入了解 SQL 语法。
- 快速访问数据库结构:通过提取数据库模式,用户可以快速了解表结构,避免了手动查询的繁琐。
- 提高工作效率:自动化的工作流减少了手动操作,提高了数据处理的效率。
工作流的详细流程如下:
1. 手动触发:用户点击 "测试工作流" 按钮开始流程。
2. 列出所有表:查询数据库以获取所有表的列表。
3. 提取数据库模式:对于每个表,提取其结构信息并添加表名。
4. 转换数据格式:将提取的数据库模式转换为二进制 JSON 格式,并保存到本地文件 ./chinook_mysql.json
。
5. 聊天触发器:用户通过聊天输入请求,并加载本地模式文件。
6. AI 代理处理:根据用户输入和数据库模式生成 SQL 查询。
7. 查询提取:检查生成的响应中是否包含 SQL 查询,并提取出来。
8. 条件检查:如果存在 SQL 查询,则执行该查询并格式化结果;否则,直接返回 AI 的回答。
9. 输出结果:将 AI 的回答和查询结果合并,准备最终输出。
用户可以通过以下方式自定义和调整此工作流:
- 修改数据库连接:根据需要更新 MySQL 数据库的连接凭据。
- 调整 AI 模型参数:可以根据具体需求调整 OpenAI 模型的参数,如温度、回复格式等。
- 自定义 SQL 查询:在 AI 代理节点中,可以修改生成 SQL 查询的提示内容,以适应不同的查询需求。
- 扩展节点功能:可以添加更多的节点以实现额外的功能,例如数据可视化或报告生成。
- 调整文件路径:根据本地环境调整保存和读取文件的路径。