华为云Flexus+DeepSeek征文|体验华为云ModelArts快速搭建Dify-LLM应用开发平台并创建知识库大模型工作流查询数据库数据
什么是华为云ModelArts
- 华为云ModelArts ModelArts是华为云提供的全流程AI开发平台,覆盖从数据准备到模型部署的全生命周期管理,帮助企业和开发者高效构建、训练、部署AI模型,实现智能化升级。
开始接触华为云ModelArts Studio大模型即服务平台
- 访问官方地址
https://www.huaweicloud.com/product/modelarts/studio.html
快速搭建Dify-LLM应用开发平台
什么是Dify-LLM应用开发平台
Dify-LLM 应用开发平台是一个基于大型语言模型(LLM)的低代码/无代码开发平台,旨在帮助开发者快速构建、部署和管理基于 AI 的应用程序。它提供了可视化的操作界面和丰富的工具,简化了从模型调用到应用上线的全流程,适合不同技术背景的用户使用。
华为云提供了一键部署快速搭建Dify平台的功能,使开发者可以快速搭建生产级的生成式AI应用
快速搭建的方案架构如下
通过VPC与安全组构建安全网络,用户经ELB接入CCE部署的Dify服务集群,结合Embedding与reranker增强AI能力,并依托Redis、PostgreSQL、CSS与OBS实现多样化数据存储与处理,具备高可用、可扩展特性
开始搭建Dify-LLM应用开发平台
先进入官网
https://www.huaweicloud.com/solution/implementations/building-a-dify-llm-application-development-platform.html
选择一键部署(云服务器单机部署)
这里不做操作直接下一步
把密码设置好下一步
继续下一步
点击创建执行计划
可以查看费用,然后点击部署
可以看到正在按顺序部署
等待服务部署完毕,访问Dify-LLM应用开发平台
部署完毕,访问Dify-LLM应用开发平台
登录Dify-LLM应用开发平台
至此搭建Dify-LLM应用开发平台大功告成,不得不说,华为云一键部署Dify平台真是太方便了,全程不需要怎么操作,全是一键搞定
开始搭建大模型工作流
什么是大模型工作流
- 大模型工作流(Large Model Workflow)是指利用大规模预训练语言模型(如GPT、BERT等)完成复杂任务时,所采用的一系列系统化、结构化的处理步骤和方法。它通过将大模型能力与特定任务需求相结合,实现更高效、更可靠的AI应用
开始搭建
这次准备做一个知识库大模型工作流,然后可以查询数据库数据输出,
然后我们需要调用华为云的DeepSeek-V3-32K模型作为基底大模型
安装dify中的大模型插件,OpenAI-API-compatible
等待安装完成
设置大模型
密钥从华为云中获取
进入api-key管理,创建自己的key,用于调用大模型
回来继续配置key,注意接口地址是
https://api.modelarts-maas.com/v1
这样大模型就配置完毕了
然后安装插件,表结构写入知识库,点击右上角工具列表,搜索
database_to_knowledge
开始安装
这里我们准备的mysql数据库,新建一个test的库
然后准备一个用户表与一个部门表
CREATE TABLE `test`.`users` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
`name` varchar(30) NULL COMMENT '用户名称',
`age` int NULL COMMENT '年龄',
`department_id` int NULL COMMENT '部门id',
`gender` varchar(255) NULL COMMENT '性别(男/女)',
PRIMARY KEY (`id`)
) COMMENT = '用户表';
CREATE TABLE `test`.`department` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键id',
`name` varchar(255) NULL COMMENT '部门名称',
PRIMARY KEY (`id`)
) COMMENT = '部门表';
- 然后插入一些数据
INSERT INTO `department` (`name`) VALUES
('人力资源部'),
('财务部'),
('技术研发部'),
('市场营销部'),
('客户服务部');
INSERT INTO `users` (`name`, `age`, `department_id`, `gender`) VALUES
-- 人力资源部 (部门ID 1)
('张伟', 32, 1, '男'),
('李娜', 28, 1, '女'),
('王芳', 35, 1, '女'),
-- 财务部 (部门ID 2)
('赵明', 45, 2, '男'),
('钱静', 30, 2, '女'),
('孙丽', 29, 2, '女'),
-- 技术研发部 (部门ID 3)
('周强', 27, 3, '男'),
('吴昊', 31, 3, '男'),
('郑雪', 26, 3, '女'),
('王磊', 33, 3, '男'),
-- 市场营销部 (部门ID 4)
('冯敏', 29, 4, '女'),
('陈阳', 34, 4, '男'),
('褚小云', 25, 4, '女'),
-- 客户服务部 (部门ID 5)
('卫华', 28, 5, '女'),
('蒋涛', 31, 5, '男'),
('沈月', 24, 5, '女');
然后重新创作工作流使用表结构使用知识库,为了将数据库导入本地知识库中
然后需要知识库的授权
上方菜单栏选择知识库,然后选择api
在api密钥处创建自己的密钥,然后复制api服务器的地址,然后回去刚才的工作流填写api与密钥并保存
然后把数据库信息输入
然后运行流水线,生成数据库知识库
然后回到工作流配置查询,配置文字精炼节点与刚才生成的知识库
- 然后生成可执行的sql,并进行校验
你是一位精通SQL语言的数据库专家,熟悉MySQL数据库。你的的任务是检查该Sql语句是否有错,如果有错请更正,没有错则输出Sql语句。
回答要求:
1.不能包含任何多余的信息。
2.必须是可以执行的SQL语句。
3.删除掉Sql中的\n,用空格替换。
4.只输出Sql语句。
知识库数据:{{上下文}}
提出的问题:{{text}}
你是一位精通Sql语言的数据库专家,熟悉MySQL数据库。你的的任务是检查提供的Sql语句是否是可以执行。
回答要求:
1.你只输出True或者False。
2.Sql语句如果符合条件请输出True,否则输出False。
Sql语句:{{text#}}
- 然后新增分支节点,如果可以执行则进行sql格式化,如果不可执行则进入结束节点
你是一位精通Sql语言的数据库专家,熟悉MySQL数据库。你的的任务是检查提供的Sql语句是否有错,如果有错请更正,没有错则输出Sql语句。
回答要求:
1.不能包含任何多余的信息。
2.必须是可以执行的SQL语句。
3.删除掉Sql中的\n,用空格替换。
4.只输出Sql语句。
5.将所有双引号替换为反引号,或者去掉引号。
6.如果表名或列名有特殊字符需要引用,使用反引号,避免语法错误。
7. 不要返回json格式的数据,是只返回sql语句
Sql语句:{{text}}
- 然后新增sql执行节点,并把结果转换为字符串
## 角色
你是数据分析大师和总结者
## 任务
你可以结合用户的问题和从数据库查询到的结果,整合提炼后用精准合适的自然语言回复用户
## 输出
1.若用户只是查询数据,则提炼后直接回复数据内容即可
2.若用户需要你分析数据,则你可以结合数据给出专业的分析内容
然后添加结束节点输出,并发布更新
点击运行进行测试
至此知识库大模型工作流搭建完毕