华为云主机+DeepSeek实践|基于华为云主机快速部署DeepSeek大模型并构建Dify平台AI工作流Agent应用LLM模

举报
杨琴 发表于 2025/07/24 20:56:22 2025/07/24
【摘要】 华为开发者空间介绍:华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者 从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。免费领取开发者空间云主机→ PC端→ 移动端 一、前言:在人工智能AI技术不断发...

华为开发者空间介绍:

华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者 从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。

image.png

免费领取开发者空间云主机

PC端
移动端


一、前言:

在人工智能AI技术不断发展的今天,基于大语言模型(LLM)的AI智能体Agent开放式应用正在迅速服务于各行各业。现在很多网站都有AI机器人聊天窗口,能随时解答我们的问题和诉求。但是如果自己搭建一个智能客服系统,听起来是不是有点难?别担心,今天就来分享如何华为云一键私有化部署 Dify,轻松搞定 AI 智能机器人 !

华为云Dify平台作为一款开源的大模型应用开发平台,与“华为云主机平台上部署的DeepSeekR1大模型商用级推理服务”深度集成,为开发者提供了构建、部署和运营AI应用的一站式解决方案。

image.png

这里以“智能旅游规划指导师”为例,详细介绍如何使用使用华为云快速搭建Dify-LLM应用开发平台的技能,探索企业级AI应用开发的可能性,包括企业知识库和联网搜索助手的构建,完成一个基于Dify平台开发AI Agent的完整流程,帮助用户制定旅游出行方案。


二、华为云主机快速搭建Dify-LLM应用开发平台:

二、华为云主机快速搭建Dify-LLM应用开发平台实战:

2.1 免费领取开发者空间云主机:

首次打开华为开发者空间,整洁的界面和清晰的导航就让人眼前一亮。这个专为全球开发者打造的平台,就像一个一站式技术宝库,不仅提供了昇腾、鸿蒙、鲲鹏等华为核心技术的开发工具,还贴心地配备了云主机、存储空间和详细的案例指导。

image.png

点击"免费领取开发者空间云主机"按钮时,无论是PC端还是移动端,都能轻松免费获取并使用4核8G的Ubuntu 24.04云主机,领取启动取后这里我们稍等几分钟就行了,因为系统正在加载图形化界面。

image.png

进入到了桌面后,跟平时我们的电脑桌面差不多,但是华为云主机专注于开发领域的,一般的开发软件都已经存在在桌面上了,直接上手使用就行。

右键终端输入命令,安装ollama:

image.png

下完完后,就会进行安装ollama就安装好了。

image.png

接下来借助ollama工具来进行deepseek r1模型的部署操作,这里选择的是deepseek-r1:1.5b模型,当然也可以部署其他的模型。

image.png

这里在开始进行部署时,可以看到华为云主机部署速度还是很快的,8M每秒,对于下载大容量的大模型也不在话下。

image.png


2.2 部署并登录Dify-LLM应用开发平台:

Dify平台可以通过华为云快速搭建Dify-LLM应用开发平台,部署过程不需要写代码,没有过多的复杂的环境搭建,只需要简单配置即可完成华为云资源栈一键式自动部署。


2.2 Dify-LLM应用开发平台初始化:

在完成华为云快速搭建Dify-LLM应用开发平台部署后,系统会提供一个IP地址的URL在线的访问地址。点击该地址后,即可打开Dify-LLM应用开发平台首页。第一次访问会提示需要创建管理员账号,通过绑定邮箱、用户名并设置密码后即可注册一个Dify-LLM应用开发平台的账号,再后面提示登录这个邮箱的账号即可。

image.png

输入邮箱登录成功后,就可以进入主页控制台页面,可以看到最上面支持“工作室”、“知识库”和“工具”等模块,另外在“工作室”中包含不同的应用类型创建的方式,比如Agent、Chatflow、工作流等。

image.png


2.3 创建空白Agent工作流应用:

虽然聊天助手和Agent都能做旅游顾问,但它们定位不同,聊天助手、Agent 和工作流是 AI 应用设计中三种常见模式,它们在目标定位、交互逻辑和执行机制上存在显著差异:

image.png

简言之:聊天助手解决“如何回答”,Agent 实现“如何行动”,工作流确保“如何按步骤完成”,三者常组合使用,例如 Agent 可嵌入工作流节点,而聊天助手可作为 Agent 的交互入口。

image.png

我们在进入Dify平台控制台首页后,点击“创建空白应用”按钮,这里分为5种应用类型,我们选择“工作流”的应用类型,可以基于工作流编排,适用于自动化、批处理等单轮生成类任务的场景。

image.png

在创建页面中,设置应用类型为“工作流智能体”。填写应用名称为“智能旅游规划”,描述中也填写“智能旅游相关的规划”,便于后续的管理。点击“创建”后,系统会自动生成一个空白Agent项目,进入配置界面,开始进行各项设置。


2.4 接入“华为云主机平台上的DeepSeekR1大模型推理服务”:

“智能旅游规划”Agent的核心能力依赖于高性能的大语言模型,Dify-LLM应用开发平台支持通过“OpenAI API兼容模式”接入外部模型服务,可以基于华为云主机平台上的DeepSeekR1大模型推理服务。

image.png

DeepSeek-V3-32K 和 DeepSeek-R1-32K 是 DeepSeek 在 2025 年推出的两大主力模型,二者在架构设计、核心定位与适用领域上存在显著区别。这两款模型具备超强的长文本理解与生成能力,非常适合需要多轮上下文处理、逻辑推理和结构化输出的场景:

‌- ①. 日常交互‌ → 优先选用 ‌V3-32K‌(响应快、成本低)。
‌- ②. 深度任务‌ → 启用 ‌R1-32K‌ 的“深度思考”模式(如数学推导、代码调试)。
‌- ③. 混合调用‌:在应用中可动态切换模型,兼顾效率与深度。

在主页控制台中,我们找到右上角“设置”,在“工作空间”中,里面有一个“模型供应商”,里需可以往下搜索“OpenAI-API-compatible”这个供应商,如果没有安装的话,可以进行安装一下。

image.png

安装完成后,可以在在华为云ModelArts Studio中开通服务中,找到体验华为云ModelArts Studio平台提供的相关接入信息:

  • ①. API服务地址(Endpoint URL)
  • ②. 模型名称,一定要填写对,不填写写好像会报错
  • ③. API密钥(API Key)

image.png

在模型列表中,找到刚刚添加的模型列表,在Agent的“模型设置”中选择“OpenAI API兼容模式”,点击“添加模型”,将上述三项信息填写至对应字段中即可添加成功,设置完成后,保存并测试模型连接是否成功。若添加成功,即可启用该模型作为Agent的核心大脑。

image.png

{ 
    "model": "DeepSeek-V3",
    "messages": [
      {"role": "system", "content": "北京3天游玩,1000块预算"},
      {"role": "user", "content": "北京3天游玩,1000块预算"}
    ],
    "stream": false,
    "temperature": 0.6
  }

2.5 输入处理环节:

“智能旅游规划”的核心功能是根据用户输入的目的地、旅行天数、预算,调用搜索工具获取信息,生成详细旅行攻略,在这个前提下,我们可以基于这个需求,在 Dify-LLM平台上构建的工作流整体架构采用模块化设计,从输入处理、智能体交互到工具调用、结果输出,每个环节各司其职又紧密协作。

image.png

在开始节点这里我们设计了3个变量,分别是城市、多少天,多少出行开销花费,最后是加到开始的节点中。


2.6 模板转换节点:

Jinja 是一个快速、表达力强、可扩展的模板引擎。允许借助 Jinja2 的 Python 模板语言灵活地进行数据转换、文本处理等。

模板节点允许借助 Jinja2 这一强大的 Python 模板语言,在工作流内实现轻量、灵活的数据转换,适用于文本处理、JSON 转换等情景。如灵活地格式化并合并来自前面步骤的变量,创建出单一的文本输出。这非常适合于将多个数据源的信息汇总成一个特定格式,满足后续步骤的需求。

image.png

用户输入的信息往往格式不一,该节点通过自定义模板,将用户输入的目的地、天数、预算等信息进行结构化处理。例如,将用户随意输入的 “想去北京玩 10天,预算 1000”,转换为标准 JSON 格式:

{
  "output": "{ \"destination\": 北京, \"days\": 5天, \"budget\": 1000 }"
}

image.png

在 Dify 的工作流构建中,模板转换节点凭借其对 Jinja2 模板语言的强大支持,早已成为数据处理和格式化的得力助手。我们或许已经熟练运用它来生成 HTML 表格、格式化 JSON,或者拼接提示词,这种结构化的数据能被后续节点精准识别,避免因格式问题导致信息处理错误。


2.7 转换为JSON格式:

Dify 的代码执行功能主要用于支持复杂业务逻辑的嵌入式计算,比如在聊天流程中根据用户输入动态执行 Python 脚本,返回结构化结果,该功能通常通过两种方式实现:

  • ①. 在 Chatflow 中配置「代码执行」节点。
  • ②. 在智能体(Agent)中调用 Code Interpreter 工具插件。

image.png

这里我们使用“代码执行”的节点,可以将上一个节点“模板转换”拼接的string字符串的返回的json格式数据引入到输入变量中,再通过以下python3代码将string字符串强制转化为json对象。

image.png

{
  "result": {
    "destination": "北京",
    "days": 30,
    "budget": 1000
  }
}

image.png

在下面“条件节点”中,根据 If/else/elif 条件将 Chatflow / Workflow 流程拆分成多个分支,但是在引入result做为变量时,出错了错误,无法引用到result.budget这个参数,所以,我们这里将代码执行的返回再做一次改变,直接返回这个json对象,这样在条件节点中,可以直接引入变量即可。


2.8 条件分支:

根据预定义条件自动选择执行路径,例如判断用户输入内容后决定调用不同工具或流程,这种机制显著降低了LLM应用开发中对复杂提示词的依赖,在 Dify 平台中,‌条件分支‌是工作流编排的核心逻辑节点之一,用于依据预设条件自动路由任务执行路径,实现动态决策。

image.png

根据费用区间定制LLM解析策略,可通过参数调整和提示词设计实现差异化输出导向,具体策略设计如下:

image.png

# 舒适导向(>1w)
prompt = """作为高端旅行顾问,请为预算{}元的客户设计行程:
- 重点突出【奢华酒店】【私人导览】【尊享服务】
- 忽略成本限制,优先满足体验舒适性"""

# 性价比导向(5k-1w)
prompt = """作为旅行规划师,请为预算{}元客户推荐方案:
- 平衡【体验质量】与【费用支出】
- 标注每项服务的性价比指数"""

# 省钱导向(<5k)
prompt = """根据{}元严格预算制定行程:
- 标注每项开支并验证必要性
- 提供3个成本压缩方案备选"""

2.9 编写提示词模板:

提示词(Prompt)是驱动大模型行为的关键,合理设计提示词可以显著提升生成内容的准确性与实用性,类似在本例中,旅游计划助手的提示词应包括明确的输入说明、输出格式要求以及内容标准:

  • ①. SYSTEM(系统):用于设置AI模型的整体行为指令、任务描述和限制条件。这些指令对用户不可见,但会指导AI如何处理和响应用户的输入。

image.png

```xml
<instruction>
作为高端旅行顾问,你的任务是为高预算客户设计极致奢华的旅行行程。请严格遵循以下步骤:

<instructions>
1. 核心原则:
- 以【奢华酒店】【私人导览】【尊享服务】为三大支柱
- 所有推荐必须代表当地最高服务水平
- 每个项目需标注体验时长/价格/特别注意事项
- 根据{{#1751102935027.budget#}}价格做详细的预算,不要超过这个费用

2. 行程结构:
① 每日分段式规划(AM/PM/Evening)
② 每个时段包含:
   - 核心体验项目(加粗标题)
   - 合作机构/品牌说明
   - 服务人员配置(如双语管家、米其林厨师等)
   - 备用方案(天气/突发情况应对)

3. 服务标准:
- 酒店:仅限福布斯五星/罗莱夏朵成员
- 交通:全程专职司机+豪华车型
- 餐饮:至少1顿米其林三星体验日
- 附加:24小时礼宾专线

4. 输出要求:
- 使用Markdown表格呈现每日计划
- 价格单位统一为人民币(含服务费)
- 重要注意事项用红色标注
- 禁止出现任何XML标签

</instructions>

<examples>
示例1:
输入:预算50万元/日本7日游
输出:
| 时间 | 项目 | 详情 |
|-------|------|-------|
| Day1 AM | **东京安缦入住** | 200㎡套房+私人温泉 |
| | | 价格:¥38,000/|
| | | 注意:提前预约茶道大师 |

示例2:
输入:预算80万元/南极探险
输出:
| Day3 PM | **私人直升机巡航** | Bell 430直升机 |
| | | 时长:2.5小时 |
| | | 注意:需签署免责协议 |

示例3:
输入:预算120万元/非洲狩猎
输出:
| Day5 Evening | **星空晚宴** | 米其林主厨随行 |
| | | 价格:¥65,000/|
| | | 注意:防蚊喷雾必备 |
</examples>

<format>
最终交付格式:
# [目的地]奢华行程(预算范围:¥XX万)
## 核心优势
- 列出3项最具竞争力的尊享服务

## 详细行程
按日期排列的Markdown表格,包含:
- 精确
  • ②. USER(用户):代表最终用户的输入部分,在设计阶段可以预设示例用户消息,在应用运行时会被实际用户的输入所替代,第二步是增加一个消息,将最开始的3个变量全部引用进来。

image.png


总结:

随着旅游旺季临近,个性化旅行攻略需求激增,Dify平台通过可视化工作流编排能力,为开发者提供了高效构建智能旅行助手的解决方案,以假期旅行小助手为例,其核心优势在于将复杂的行程规划拆解为可配置的模块化流程。

该案例充分展现了Dify在降低AI应用开发门槛方面的价值,开发者无需编码即可搭建具备复杂决策能力的智能体,平台提供的节点市场还能快速集成第三方服务,极大拓展了应用场景的可能性。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。