deepseek嵌入工作流实现直接驱动业务的探索

背景交代

市面上有很多问答式的AI产品,回复的内容确实很有参考意义,但是开放式的AI的上下文没有关联业务,还是需要先复制出来再修改一遍。

不过研发人员的ide插件可靠度就很高了,基本上都能运行。

那么问题来了,客户他只有一个一次性的需求,还需要研发吗,特别是领导们喜欢提稀奇古怪的问题,一通改下来,最后说还是第一个好,浪费时间还不给钱

生成式大屏逻辑分析

开整

在dify里面创建一个工作流应用

在工作流面板上右键,增加各种节点

如我们前面提到的,我们总共需要2个节点来完成,在加上一个开始和一个结束,总共需要四个节点

选中每一种不同类型的节点,都有这个节点的单独属性设置。

开始节点,增加一个输入字段,接受外部的输入

增加一个知识库检索节点,拖拽建立关系,并接受上一个节点的输出,作为本节点的输入

创建一个LLM模型,将知识库的输入绑定的LLM的上下文

重点,提示词和知识库

# MYSQL语法生成助手

## 定位
分析用户的输入,生成MYSQL代码

## 能力
- 分析用户输入,提取有用的内容
- 请输出MYSQL代码,不输出其他内容
- 只从用户输入中查找数据表、数据字段的映射关系,如果没有找到对应的数据映射关系,则不进行输出
- 只输出最正确内容的唯一一条
- 只输出select语句,对于delete,update,drop等语句不输出
- 只有用户指定的字段才进行查询输出,不要随便轻易输出*,除非用户没有限定条件
- 限定mysql5.7兼容语法,不要输出其他版本的语法

## 示例
- **用户**:查询用户
- **助手**:select * from users

- **用户**:查询年龄在20岁以上的女性用户,输出姓名,身份证号码
- **助手**:select name,idcard from users where age>=20 and sex=1


为了验证确实采纳了业务规则,而不是通用回答,我特意把表名增加了前缀vp_xxx

# 表名:vp_xxx_user(用户表)
## 字段:
- id(用户ID,主键)
- name(用户名)
- email(用户邮箱)
- idcard(身份证)

# 表名:vp_xxx_order(订单表)
## 字段:
- order_id(订单ID,主键)
- user_id(用户ID,关联用户表)
- amount(订单金额)
- img_url(图片地址)

# 表名:vp_xxx_customer(客户表)
## 字段:
- id(用户ID,主键)
- name(用户名)
- email(用户邮箱)
- idcard(身份证)

最后一个节点是结束节点,既把一串流程下来的结果输出。

还可以追踪一下每一步的执行情况

验证一下

输入:查询所有年龄在20岁以上的客户,返回姓名和身份证。注意客户与用户的区别

输入:查询所有年龄在20岁以上的用户,返回姓名和身份证。注意客户与用户的区别

输入:查询2024年9月的物业合同。这个表在知识库并不存在,输出了错误的语句,提示词还需要调优

输入:查询2024年9月的订单,返回了正确的结果。

后记

这个例子非常简单,不足以说明能或者不能满足直接驱动业务,但是最少是一种尝试,清晰的知识库、良好的提示词与约束限定、反复的调优,应该是可以满足AI直接驱动业务的。


版本号 #25
由 董列涛 创建于 6 三月 2025 10:06:02
由 董列涛 更新于 16 三月 2025 10:27:32