当前位置: 首页 > article >正文

华为云Flexus+DeepSeek征文 | 基于Dify和DeepSeek-R1开发企业级AI Agent全流程指南

作者简介

我是摘星,一名专注于云计算和AI技术的开发者。本次通过华为云MaaS平台体验DeepSeek系列模型,将实际使用经验分享给大家,希望能帮助开发者快速掌握华为云AI服务的核心能力。


目录

1. 前言

2. 环境准备

2.1 华为云资源准备

2.1 实操手册

3. 开发企业知识库Agent

3.1 访问dify平台工作室

3.2 导入工作流

3.4 创建知识库

3.4 构建智能工作流

3.5 测试工作流

3.6 应用发布

4. 深度集成华为云服务

4.1 优化模型调用

4.2 企业级功能增强

5. 部署与优化

5.1 华为云CCE高可用部署

5.2 安全加固方案

6. 效果展示与评估

6.1 典型测试案例

6.2 性能测试数据

7. 常见问题解决

7.1 知识库检索不准确

7.2 模型响应缓慢

8. 总结与展望


1. 前言

本文将详细介绍如何基于华为云Flexus云服务和DeepSeek-R1大模型,使用Dify平台开发一个功能完整的企业级AI Agent。教程包含从环境准备到应用部署的全流程,特别针对华为云环境进行了优化适配。

2. 环境准备

2.1 华为云资源准备

  1. 开通Flexus X实例
    • 登录华为云控制台
    • 选择"计算"→"弹性云服务器ECS"→"购买实例"
    • 选择Flexus X实例规格(推荐4核8GB配置)
  1. 部署Dify平台
# 使用华为云提供的部署脚本
curl -sSL https://dify-huawei.obs.cn-north-4.myhuaweicloud.com/install.sh | bash
  1. 开通DeepSeek-R1服务
    • 进入ModelArts控制台
    • 选择"模型推理"→"商用服务"→开通DeepSeek-R1-Distill-Qwen-32B

2.1 实操手册

不了解前置条件的可以参考这两篇文章:

华为云Flexus+DeepSeek征文 | DeepSeek-V3/R1商用服务开通体验全流程及使用评测

华为云Flexus+DeepSeek征文 | Dify-LLM平台一键部署教程及问题解决指南

3. 开发企业知识库Agent

3.1 访问dify平台工作室

通过浏览器访问dify平台,点击”工作室“,进入工作室页面。

3.2 导入工作流

在工作室页面,点击“导入DSL文件”,在弹出的页面中选择“URL”,复制下面的地址,粘贴到DSL URL路径里,如下图所示:

https://documentation-samples.obs.cn-north-4.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-moudle/building-a-dify-llm-application-development-platform/workflow/DeepSeek_%E8%81%94%E7%BD%91%E6%90%9C%E7%B4%A2_%E7%9F%A5%E8%AF%86%E5%BA%93.yml

创建好工作流之后如下图所示:

选择联网搜索插件,点击授权按钮,并添加url:http://{内网ip}:8080,如下图所示,点击保存后,即可设置成功。(内网ip是部署Dify的虚机的内网ip,如连接不通,请检查虚机的安全组是否放通8080端口号)

将自己的内网地址复制过来

3.4 创建知识库

  1. 在dify平台页面,点击“知识库”,点击“创建知识库”

  2. 选择“导入已有文本”,点击“选择文件”,选择对应知识库文件后(本示例提供的测试文档见附件),点击下一步

  3. 文本分段与清洗本示例保持默认配置不变(你也可以按照实际需求进行配置),点击“保存并处理”
    • 分段设置:通用
    • 索引方式:经济
    • 检索设置:Top 3
  1. 点击“前往文档”,可以看到导入的知识库文档为可用状态

3.4 构建智能工作流

  1. 点击步骤二中导入的工作流,进入工作流页面。

  2. 添加知识库:点击“知识检索”节点,点击“+”按钮添加知识库,选择步骤三中创建的知识库,点击“添加”

  3. 选择已开通的Deepseek-R1推理模型并导入到模型供应商中

参数

说明

模型类型

选择“LLM”。

模型名称

步骤3.b显示的模型名称。

API Key

步骤3.a创建的贵阳一区域的API Key。

API Endpoint URL

步骤3.b获取的MaaS服务的基础API地址,需要去掉地址尾部的“/chat/completions”后填入。

Function calling

当前MaaS预置服务中仅Qwen2_5-7B-Instruct-1128、Qwen2_5-72B-Instruct-1128、Qwen2_5-72B-32K-1128可以配置Function calling为“Tool Call”,其余服务暂不支持。

  1. 将流程中的模型替换为刚刚导入的Deepseek-R1大模型

3.5 测试工作流

在工作流页面,点击“预览”按钮,在弹出的聊天框输入问题进行测试:

测试从知识库中进行内容检索:输入知识库相关内容,查看是否通过知识库检索。

3.6 应用发布

在工作流页面的右上角点击“发布”按钮,再点击“发布”,即可完成工作流发布。

发布完成后就可以使用此anget应用了,有以下三种使用方式:

  1. 访问API:调用API接口如下图所示:

  2. 直接访问:可以通过公开URL地址直接访问:

  3. 嵌入网站:可以通过复制代码将此agent嵌入到网站中:

4. 深度集成华为云服务

4.1 优化模型调用

# 华为云DeepSeek-R1调用示例(带重试机制)
def call_deepseek(prompt, max_retries=3):endpoint = "https://modelarts.cn-north-4.myhuaweicloud.com/v1/{project_id}/deployments/{deployment_id}"headers = {"X-Auth-Token": API_KEY,"Content-Type": "application/json"}payload = {"messages": [{"role": "user", "content": prompt}],"temperature": 0.7,"max_tokens": 1024}for attempt in range(max_retries):try:response = requests.post(endpoint, headers=headers, json=payload)return response.json()except Exception as e:if attempt == max_retries - 1:raisetime.sleep(2 ** attempt)

4.2 企业级功能增强

  1. 审计日志集成
# 将问答记录存入华为云云数据库RDS
def log_interaction(question, answer, user_id):conn = psycopg2.connect(host="rds.huaweicloud.com",database="dify_logs",user="admin",password=DB_PASSWORD)cursor = conn.cursor()cursor.execute("INSERT INTO chat_logs (question, answer, user_id) VALUES (%s, %s, %s)",(question, answer, user_id))conn.commit()
  1. 性能监控看板
    • 使用华为云APM服务监控Agent响应时间
    • 关键指标:
      • 平均响应时间(<2s)
      • 知识库命中率(>85%)
      • 错误率(<1%)

5. 部署与优化

5.1 华为云CCE高可用部署

  1. 创建容器集群
    • 节点规格:Flexus X实例(8核16GB)
    • 节点数量:3个(跨可用区部署)
  1. 配置自动扩缩容
# HPA配置示例
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:name: dify-worker
spec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: dify-workerminReplicas: 3maxReplicas: 10metrics:- type: Resourceresource:name: cputarget:type: UtilizationaverageUtilization: 70

5.2 安全加固方案

  1. 网络层防护
    • 配置华为云WAF防护SQL注入等攻击
    • 启用DDoS基础防护(5Gbps)
  1. 数据安全
    • 使用华为云数据加密服务(DEW)
    • 知识库文档上传前自动脱敏:
from huaweicloudsdkdew.v1 import *
# 调用华为云DEW服务进行数据脱敏
def desensitize_text(text):client = DewClient()request = CreateDataMaskRequest()request.body = DataMaskRequest(text=text,type="general")response = client.create_data_mask(request)return response.masked_text

6. 效果展示与评估

6.1 典型测试案例

用户问题

Agent响应

技术实现

"华为云ECS如何计费?"

"华为云ECS提供按需计费和包年包月两种模式..."

知识库精准检索

"今天北京天气如何?"

"根据最新天气预报,北京今天晴转多云..."

联网搜索+信息整合

"我们的合同编号CH20240001有什么特殊条款?"

"合同编号CH20240001的特殊条款包括..."

私有文档精准定位

6.2 性能测试数据

测试环境

  • Flexus X实例 4核8GB
  • 并发用户数:100

测试结果

平均响应时间:1.2s
知识库命中率:92%
错误率:0.3%
华为云资源利用率:CPU 65%/内存 70%

7. 常见问题解决

7.1 知识库检索不准确

解决方案

  1. 调整分块策略:
    • 技术文档:512-800字
    • 合同文本:按条款分块
  1. 优化检索参数:
# 华为云优化参数
retrieval_config:hybrid_ratio: 0.6  # 向量检索权重keyword_ratio: 0.4  # 关键词检索权重enable_rerank: true  # 启用重排序

7.2 模型响应缓慢

优化方案

  1. 启用华为云模型缓存:
# 配置Redis缓存
CACHE_CONFIG = {"host": "dcs.huaweicloud.com","port": 6379,"db": 0,"password": "your_password"
}
  1. 使用华为云全球加速服务:
    • 为海外用户配置就近接入点

8. 总结与展望

本教程详细展示了基于华为云Flexus和DeepSeek-R1构建企业级AI Agent的全流程,关键优势包括:

  1. 性能优势
    • Flexus X实例提供1.6倍计算性能
    • 华为云网络延迟<50ms
  1. 成本优化
    • 综合成本降低30%
    • 支持按需扩缩容
  1. 企业级特性
    • 端到端安全防护
    • 99.95% SLA保障

下一步建议

  1. 尝试集成更多华为云AI服务(如OCR、语音识别)
  2. 参与华为云AI应用创新大赛获取更多资源支持

相关文章:

华为云Flexus+DeepSeek征文 | 基于Dify和DeepSeek-R1开发企业级AI Agent全流程指南

作者简介 我是摘星&#xff0c;一名专注于云计算和AI技术的开发者。本次通过华为云MaaS平台体验DeepSeek系列模型&#xff0c;将实际使用经验分享给大家&#xff0c;希望能帮助开发者快速掌握华为云AI服务的核心能力。 目录 1. 前言 2. 环境准备 2.1 华为云资源准备 2.1 实…...

HarmonyOS-ArkUI固定样式弹窗(1)

固定样式弹窗指的就是ArkUI中为我们提供的一些具备界面模板性质的弹窗。样式是固定的,我们可以决定在这些模板里输入什么样的内容。常见的有,警告弹窗, 列表选择弹窗, 选择器弹窗,对话框,操作菜单。 下图是本文中要讲到的基类固定样式弹窗,其中选择器弹窗没有包含在内,…...

痉挛性斜颈相关内容说明

一、颈部姿态的异常偏移​ 痉挛性斜颈会打破颈部原本自然笔直的状态&#xff0c;让颈部像被无形的力量牵引&#xff0c;出现不自主的歪斜、扭转。它就像打乱了颈部原本和谐的 “平衡游戏”&#xff0c;使得颈部姿态偏离正常&#xff0c;影响日常的体态与活动。​ 二、容易察觉…...

C语言| 函数参数传递指针

C语言| 拷贝传递(指针控制内存单元)-CSDN博客 【函数参数传指针和传数据的区别】 如果希望在另外一个函数中修改本函数中变量的值&#xff0c;那么在调用函数时只能传递该变量的地址。 1 普通变量&#xff0c;传递它的地址&#xff0c;可以直接操作该变量的内存空间。 举例…...

【25-cv-05917】HSP律所代理Le Petit Prince 小王子商标维权案

Le Petit Prince 小王子 案件号&#xff1a;25-cv-05917 立案时间&#xff1a;2025年5月28日 原告&#xff1a;SOCIETE POUR LOEUVRE ET LA MEMOIRE DANTOINE DE SAINT EXUPERY - SUCCESSION DE SAINT EXUPERY-DAGAY 代理律所&#xff1a;HSP 原告介绍 《小王子》&#x…...

MyBatis 动态 SQL 详解:灵活构建强大查询

MyBatis 的动态 SQL 功能是其最强大的特性之一&#xff0c;它允许开发者根据不同条件动态生成 SQL 语句&#xff0c;极大地提高了 SQL 的灵活性和复用性。本文将深入探讨 MyBatis 的动态 SQL 功能&#xff0c;包括 OGNL 表达式的使用以及各种动态 SQL 元素&#xff08;如 if、c…...

从 “金屋藏娇” 到 自然语言处理(NLP)

文章目录 从两个问题理解自然语言处理&#xff08;NLP&#xff09;1、汉武帝喜欢阿娇吗1. 政治联姻的背景2. 早期情感与后期疏远3. 历史评价的复杂性4. 现代视角结论 2、刘彻和淮南王关系一、背景&#xff1a;诸侯王与中央的矛盾二、刘彻与刘安的互动三、深层原因与历史评价结论…...

vue3 ElMessage提示语换行渲染

在 ElMessage.error 中使用换行符 \n 并不会实现换行&#xff0c;因为 ElMessage 默认会将字符串中的换行符忽略。要实现换行显示&#xff0c;可以使用 HTML 标签 <br> 并结合 ElMessage 的 dangerouslyUseHTMLString 选项。以下是实现换行提示的代码示例&#xff1a; i…...

Java 微服务架构设计:服务拆分与服务发现的策略

Java 微服务架构设计&#xff1a;服务拆分与服务发现的策略 微服务架构作为一种热门的软件架构风格&#xff0c;在 Java 领域有着广泛的应用。它通过将系统拆分为一组小型服务来实现更灵活、可扩展的系统设计。在微服务架构中&#xff0c;服务拆分和服务发现是两个关键环节。本…...

华为OD机试真题——二叉树中序遍历(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《二叉树中序遍历》: 目录 …...

解决 Go 中 `loadinternal: cannot find runtime/cgo` 错误

在 Go 开发中&#xff0c;loadinternal: cannot find runtime/cgo 是一个相对不常见但可能令人困惑的错误。这个错误通常与 CGO 的使用和配置有关。本文将探讨这个错误的成因&#xff0c;并提供解决方案&#xff0c;帮助你在未来的开发中避免类似问题。 错误背景 在 Go 项目中…...

VSCode + GD32F407 构建烧录

前言 最近调试一块 GD32F407VET6&#xff08;168Mhz&#xff0c;8Mhz晶振&#xff09; 板子时&#xff0c;踩了一些“启动失败”的坑。本以为是时钟配置有误&#xff0c;最后发现是链接脚本&#xff08;.ld 文件&#xff09;没有配置好&#xff0c;导致程序根本没能正常执行 ma…...

Linux研学-入门命令

一 目录介绍 1 介绍 Linux与Windows在目录结构组织上差异显著&#xff1a;Linux采用树型目录结构&#xff0c;以单一根目录/为起点&#xff0c;所有文件和子目录由此向下延伸形成层级体系&#xff0c;功能明确的目录各司其职&#xff0c;使文件系统层次清晰、逻辑连贯&#xf…...

Hive在实际应用中,如何选择合适的JOIN优化策略?

在实际应用中选择Hive JOIN优化策略时&#xff0c;需综合考虑数据规模、分布特征、表结构设计、集群资源及业务需求。以下是具体的决策流程和参考标准&#xff1a; 一、数据特征分析 1. 统计数据规模 通过DESCRIBE FORMATTED table_name查看表大小和分区信息。使用SELECT CO…...

设计模式之结构型:桥接模式

桥接模式(Bridge Pattern) 定义 桥接模式是一种​​结构型设计模式​​&#xff0c;通过​​将抽象部分与实现部分分离​​&#xff0c;使它们可以独立变化。它通过组合代替继承&#xff0c;解决多层继承导致的类爆炸问题&#xff0c;适用于​​多维度变化​​的场景(如形状与颜…...

监控 Oracle Cloud 负载均衡器:使用 Applications Manager 释放最佳性能

设想你正在运营一个受欢迎的在线学习平台&#xff0c;在考试前的高峰期&#xff0c;平台流量激增。全球的学生同时登录&#xff0c;观看视频、提交作业和参加测试。如果 Oracle Cloud 负载均衡器不能高效地分配流量&#xff0c;或者后端服务器难以应对负载&#xff0c;学生可能…...

早发现=早安心!超导心磁图如何捕捉早期病变信号?

随着生活节奏的加快&#xff0c;心血管疾病已成为威胁人们健康的“隐形杀手”。据国家心血管病中心发布的《中国心血管健康与疾病报告2022》显示&#xff0c;我国心血管病现患者人数已高达3.3亿&#xff0c;每5例死亡中就有2例死于心血管病。这一数据触目惊心&#xff0c;提醒我…...

使用Vditor将Markdown文档渲染成网页(Vite+JS+Vditor)

1. 引言 编写Markdown文档现在可以说是程序员的必备技能了&#xff0c;因为Markdown很好地实现了内容与排版分离&#xff0c;可以让程序员更专注于内容的创作。现在很多技术文档&#xff0c;博客发布甚至AI文字输出的内容都是以Markdown格式的形式输出的。那么&#xff0c;Mar…...

Python打卡DAY40

知识点回顾&#xff1a; 彩色和灰度图片测试和训练的规范写法&#xff1a;封装在函数中展平操作&#xff1a;除第一个维度batchsize外全部展平dropout操作&#xff1a;训练阶段随机丢弃神经元&#xff0c;测试阶段eval模式关闭dropout 作业&#xff1a;仔细学习下测试和训练代码…...

OPC Client第6讲(wxwidgets):Logger.h日志记录文件(单例模式);登录后的主界面

接上一讲三、2、2>4》&#xff0c;创建logger.h和helper_t.h里的gettime函数 即解决下图的报红 同时&#xff0c;接上一讲二、3、点击“确认”按钮后&#xff0c;进入MainFrame.h对应的下述界面&#xff0c;此讲下图进行实现 一、创建Logger.h&#xff1a;日志记录文件&…...

CesiumInstancedMesh 实例

CesiumInstancedMesh 实例 import * as Cesium from cesium;// Three.js 风格的 InstancedMesh 类, https://threejs.org/docs/#api/en/objects/InstancedMesh export class CesiumInstancedMesh {/*** Creates an instance of InstancedMesh.** param {Cesium.Geometry} geom…...

单细胞注释前沿:CASSIA——无参考、可解释、自动化细胞注释的大语言模型

细胞类型注释是单细胞RNA-seq分析的重要步骤&#xff0c;目前有许多注释方法。大多数注释方法都需要计算和特定领域专业知识的结合&#xff0c;而且经常产生不一致的结果&#xff0c;难以解释。大语言模型有可能在减少人工输入和提高准确性的同时扩大可访问性&#xff0c;但现有…...

历年武汉大学计算机保研上机真题

2025武汉大学计算机保研上机真题 2024武汉大学计算机保研上机真题 2023武汉大学计算机保研上机真题 在线测评链接&#xff1a;https://pgcode.cn/school 分段函数计算 题目描述 写程序计算如下分段函数&#xff1a; 当 x > 0 x > 0 x>0 时&#xff0c; f ( x ) …...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(30):みます

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(30):みます 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)ように 復習:1、ように Change12、ように Ideal state(理想(りそう)の状態(じょうたい))3、V辞書・Vない ようにしています いつも気をつけて…...

AR-HUD 光波导方案优化难题待解?OAS 光学软件来破局

波导-HUD系统案例分析 简介 光波导技术凭借其平板超薄结构和强大的二维扩展能力&#xff0c;在解决AR-HUD问题方面展现出显著优势。一方面&#xff0c;其独特的结构特性能够大幅减小对光机体积的需求&#xff0c;成为 HUD 未来发展的重要技术方向&#xff1b;另一方面&#xf…...

火狐安装自动录制表单教程——仙盟自动化运营大衍灵机——仙盟创梦IDE

打开火狐插件页面 安装完成 使用 功能 录制浏览器操作 录入地址 开始操作 录制完成 在当今快速发展的软件开发生态中&#xff0c;自动化测试已从一种新兴技术手段&#xff0c;转变为保障软件质量与开发效率不可或缺的关键环节。其重要性体现在多个维度&#xff0c;同时&#x…...

线程池的详细知识(含有工厂模式)

前言 下午学习了线程池的知识。重点探究了ThreadPoolExecutor里面的各种参数的含义。我详细了解了这部分的知识。其中有一个参数涉及工厂模式&#xff0c;我将这一部分知识分享给大家~ 线程池的详细介绍(含工厂模式) 结语 分享到此结束啦。byebye~...

木愚科技闪亮第63届高博会 全栈式智能教育解决方案助力教学升级

5月23日&#xff0c;第63届高等教育博览会在长春东北亚国际博览中心开幕&#xff0c;木愚科技积极筹备&#xff0c;奔赴展会现场。彼时&#xff0c;木愚科技企业领导及相关职能部门负责人亲临展位指导工作&#xff0c;通过特装展位、资料发放及现场交流等方式&#xff0c;全方位…...

Proteus寻找元器件(常见)

一 元件库 二 找元件 1 主控 32 51 输入 stm32 AT89c51 2 找屏幕 oled 3 找按键button 4 电阻、电容 res cap 5 电机驱动 l298n 6 电机 motor 7 滑动变阻器 pot 8 找电源和 GND 9 找晶振 选择 D 开头的 CRYSTAL 10 网络标签...

RK3566 Android12 HG24C02MM/TR EEPROM适配

一、背景 近期项目中&#xff0c;有一个需求&#xff0c;要使用RK3566 Android12平台适配一款HG24C02MM/TR EEPROM芯片&#xff0c;通过i2c实现主板与EEPROM芯片的数据通讯。废话不多说&#xff0c;来看资料。 二、芯片资料 HG24C02 / HG24C04 / HG24C08 / HG24C16是提供2048…...