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

#### 背景交代

市面上有很多问答式的AI产品，回复的内容确实很有参考意义，但是开放式的AI的上下文没有关联业务，还是需要先复制出来再修改一遍。

不过研发人员的ide插件可靠度就很高了，基本上都能运行。


**那么问题来了，客户他只有一个一次性的需求，还需要研发吗，特别是领导们喜欢提稀奇古怪的问题，一通改下来，最后说还是第一个好，浪费时间还不给钱**


#### 生成式大屏逻辑分析

- 分析用户的输入，例如统计今天成交了多少订单（实际业务肯定比这个要求复杂），不过我们今天是入门尝试，暂不选择很复杂的例子
- 从知识库查找业务上下游的表、字段关系
- 将用户输入与表关系（业务上下文），全部传递给deepseek
- 使用deepseek生成sql语句，驱动http接口执行动态SQL（不安全，不可靠）
- 那分两步进行，先返回SQL语句，再到大屏设计器里面去绑定语句，这样的话客户自己也可以定制一些大屏了。

#### 开整

在dify里面创建一个工作流应用

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/Fl4QmNmTlU85Ez2H-image-1741255908663.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/Fl4QmNmTlU85Ez2H-image-1741255908663.png)

在工作流面板上右键，增加各种节点

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/Z5yBuw6PWrcuyuGo-image-1741255981032.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/Z5yBuw6PWrcuyuGo-image-1741255981032.png)



如我们前面提到的，我们总共需要2个节点来完成，在加上一个开始和一个结束，总共需要四个节点



[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/0GKYImRo2ucN5C7B-image-1741256232214.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/0GKYImRo2ucN5C7B-image-1741256232214.png)


选中每一种不同类型的节点，都有这个节点的单独属性设置。

开始节点，增加一个输入字段，接受外部的输入

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/ZIkapWDbXMTOZGGa-image-1741256279686.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/ZIkapWDbXMTOZGGa-image-1741256279686.png)

增加一个知识库检索节点，拖拽建立关系，并接受上一个节点的输出，作为本节点的输入

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/dx414mqEIBgXY36f-image-1741256323445.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/dx414mqEIBgXY36f-image-1741256323445.png)


创建一个LLM模型，将知识库的输入绑定的LLM的上下文

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/N5usNRq5O8Sj4ezm-image-1741256669517.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/N5usNRq5O8Sj4ezm-image-1741256669517.png)

#### 重点，提示词和知识库

- **提示词的重要性我们前面讲过了**，可能需要反复尝试

```markdown
# MYSQL语法生成助手

## 定位
分析用户的输入，生成MYSQL代码

## 能力
- 分析用户输入，提取有用的内容
- 请输出MYSQL代码，不输出其他内容
- 只从用户输入中查找数据表、数据字段的映射关系，如果没有找到对应的数据映射关系，则不进行输出
- 只输出最正确内容的唯一一条
- 只输出select语句，对于delete,update,drop等语句不输出
- 只有用户指定的字段才进行查询输出，不要随便轻易输出*，除非用户没有限定条件
- 限定mysql5.7兼容语法，不要输出其他版本的语法

## 示例
- **用户**：查询用户
- **助手**：select * from users

- **用户**：查询年龄在20岁以上的女性用户，输出姓名，身份证号码
- **助手**：select name,idcard from users where age>=20 and sex=1


```

- 引用的业务内容上下文，也就是知识库，这个时候就需要精心编辑了,如果你有更好的更简洁的办法，请告诉我，例如直接导入sql表结构

**为了验证确实采纳了业务规则，而不是通用回答，我特意把表名增加了前缀vp_xxx**

```markdown
# 表名：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（身份证）

```

最后一个节点是结束节点，既把一串流程下来的结果输出。

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/Pc5TSPivNCQ10shX-image-1741259648196.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/Pc5TSPivNCQ10shX-image-1741259648196.png)

还可以追踪一下每一步的执行情况

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/lNgwGO5r8kU7iCMk-image-1741259702139.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/lNgwGO5r8kU7iCMk-image-1741259702139.png)

#### 验证一下



输入：查询所有年龄在20岁以上的客户，返回姓名和身份证。**注意客户与用户的区别**

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/gSsYsmP89BMIvyE1-image-1741257633918.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/gSsYsmP89BMIvyE1-image-1741257633918.png)


输入：查询所有年龄在20岁以上的用户，返回姓名和身份证。**注意客户与用户的区别**

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/Ayia0EQPYMWHWk76-image-1741257589515.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/Ayia0EQPYMWHWk76-image-1741257589515.png)

输入：查询2024年9月的物业合同。这个表在知识库并不存在，输出了错误的语句，提示词还需要调优

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/sRCw66uObDXK2xM3-image-1741258514211.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/sRCw66uObDXK2xM3-image-1741258514211.png)

输入：查询2024年9月的订单，返回了正确的结果。

[![](https://iovhm.com/book/uploads/images/gallery/2025-03/scaled-1680-/IqxNbLJ6nLznz2JK-image-1741258553105.png)](https://iovhm.com/book/uploads/images/gallery/2025-03/IqxNbLJ6nLznz2JK-image-1741258553105.png)


#### 后记

这个例子非常简单，不足以说明能或者不能满足直接驱动业务，但是最少是一种尝试，清晰的知识库、良好的提示词与约束限定、反复的调优，应该是可以满足AI直接驱动业务的。