DeepSeek+Dify打造数据库查询专家

1.准备数据

我这里准备的是一个聊天的基础sql做测试

表的信息为

  • 下面贴了个测试的基础表结构(两个表一个用户信息;一个聊天信息)注意表的信息内容最好包含注释

  • 我这里贴的是个表结构也可以也可以是其他形式的数据结构,需要自己描述清晰。(当然后面还需要不断的进行调试

  • 对于表结构的合理性我们这里暂且不进行讨论。(你可以人为这里只是个智能语义生成sql的一个测试样例

  • 目的是能能够测试实现单表和连表的智能查询,并且是生成的sql能够在数据库中跑

  • 当然实际应用中还需要考虑的一个关键问题是数据的权限问题应该怎么处理?

  • 对于大数据量的问题我们可以暂且使用分页处理

  • 有个sql的生成我们就可以考虑做些其他事情了,例如让一个不懂数据库SQL的用户也可以得到Sql自主进行数据查询;或者一个智能展示的报表

测试表结构(mysql)

-- -----------------------------------------
-- 用户信息表
-- -----------------------------------------
CREATETABLEIFNOTEXISTS CHAT_USER (
ID               VARCHAR(32) DEFAULT (replace(uuid(),'-','')) PRIMARY KEYcomment'主键',
    USER_CODE        VARCHAR(32)  UNIQUEcomment'用户代码',
    USER_NAME        VARCHAR(50) comment'用户昵称',
    USER_EMAIL       VARCHAR(100) comment'用户邮箱',
    USER_PHONE       VARCHAR(32) comment'用户电话',
    USER_IMAGE_PATH  VARCHAR(200) comment'用户图片地址',
    USER_PASSWORD    VARCHAR(50) comment'用户密码',
    USER_SEX      VARCHAR(1) comment'用户性别 0:男,1:女',
    USER_STATUS      VARCHAR(2) comment'用户状态-1:注销,0:离线,1:在线',
    USER_CREATE_DATE TIMESTAMPDEFAULT (SYSDATE()) comment'创建时间'
);
##GOGO;

insertinto CHAT_USER (ID, USER_CODE, USER_NAME, USER_EMAIL, USER_PHONE, USER_IMAGE_PATH, USER_PASSWORD, USER_SEX, USER_STATUS, USER_CREATE_DATE)
values ('AAB872D0612C44E5B33AC7BEA6C9D1BF', 'admin', '管理员', null, null, null, '6c5de1b510e8bdd0bc40eff99dcd03f8', null, '0',SYSDATE());
##GOGO;

-- -----------------------------------------
-- 用户信息发发送表
-- -----------------------------------------
CREATETABLEIFNOTEXISTS CHAT_MSG (
ID                VARCHAR(32) DEFAULT (replace(uuid(),'-','')) PRIMARY KEYcomment'主键',
    CHART_CMD         VARCHAR(2) comment'状态0未发送 1已发送 -1删除',
    -- 状态字段目前看有些用不了的
    CHART_STATUS      VARCHAR(2) comment'1.绑定上线 2.下线 3.单聊 4.群聊 5.获取用户信息 6获取群组用户信息',
    CHART_FROM_ID     VARCHAR(32) comment'发送用户ID',
    CHART_FROM_CODE   VARCHAR(32) comment'发送用户CODE',
    CHART_FROM_IP     VARCHAR(50) comment'发送用户IP',
    CHART_ACCEPT_ID   VARCHAR(32) comment'接收用户ID',
    CHART_ACCEPT_CODE VARCHAR(32) comment'接收用户CODE',
    CHART_ACCEPT_IP   VARCHAR(50) comment'接收用户IP',
    CHART_GROUP_ID    VARCHAR(32) comment'群组ID',
    CHART_GROUP_CODE  VARCHAR(32) comment'群组CODE',
    CHART_MSG         VARCHAR(500) comment'发送信息',
    CHART_DATE        TIMESTAMPDEFAULT (SYSDATE())  comment'创建时间'
);
##GOGO;

2.在dify中我们需要处理的

建立知识库

知识库分段看自己需求

  • 这里我直接用了##GOGO;进行标记;也可以用别的(我暂且想的是一段一段sql进行分割处理的

  • 建立好知识库后我们就可以在聊天或者agent中可以直接引用当前的知识库;让AI依据知识库内容进行回复

  • 知识库的分段内容我现在还不太确定要如何才能最合适的处理(因为第一次的调试总是不够准确

在这里插入图片描述

建立agent

  • 1.关联到自己的知识库

  • 2.输入sql限制的的提示词准确的指出相关的信息

  • 3.对内容进行调试(这里我试过oracle的和mysql的 第一次回答基本上字段名字都有点问题)

  • 4.调试的时候要对AI准确的给出它错误的地方,对字段名字进行修正

  • 5.这里测试了单表的查询和两个表的关联插叙修正后基本可以正确的输出

在这里插入图片描述

第一个图不太清楚这里补充下

在这里插入图片描述

测试了下只是没数据

在这里插入图片描述

最后提示记得使用标注功能,因为标注是对已经处理过的满意内容才进行的,有助于快速得到准确和满意的回复


如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方优快云官方认证二维码,免费领取【保证100%免费

在这里插入图片描述

### Dify 数据库访问方法 当遇到有关 Dify 数据库访问的问题时,可以考虑以下几个方面来排查和解决问题。 #### 1. 检查数据库挂载目录权限 如果遇到了类似于 `FATAL: data directory "/var/lib/postgresql/data/pgdata" has wrong ownership` 的错误消息,则表明 PostgreSQL 数据库由于挂载目录的权限设置不当而未能成功启动。此时应当确认 Docker 容器内的用户是否有权访问指定的数据目录,并调整相应权限以匹配预期配置[^1]。 ```bash sudo chown -R postgres:postgres /var/lib/postgresql/data/pgdata ``` #### 2. 配置网络连接参数 为了使外部设备能够顺利访问到本地部署的知识库服务,需确保服务器端口已正确开放并允许来自特定 IP 地址范围内的请求接入。对于采用默认 HTTP 协议监听的情况,默认情况下 Web 应用程序通常会在80或者443端口提供对外的服务;而对于数据库层面来说,则可能涉及其他专用通信端口号(如PostgreSQL常用的5432)。因此,在防火墙策略以及云服务商的安全组规则里都应做好相应的入站流量放行措施[^2]。 #### 3. 使用环境变量简化管理 针对不同运行环境下所需的个性化配置项,推荐利用 `.env` 文件定义一组易于维护的关键字-值对组合形式存在的环境变量集合。这不仅有助于提高开发效率,还能有效减少因硬编码敏感信息所带来的安全隐患风险。例如: ```makefile DB_HOST=localhost DB_PORT=5432 DB_NAME=mydatabase DB_USER=dify_user DB_PASS=password123 ``` 以上就是一些基本指导原则用于帮助解决常见的 Dify 数据库访问难题。当然实际操作过程中还可能会碰到更多复杂场景下的特殊情况,这时就需要结合具体现象深入分析原因所在了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值