华为云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 华为云资源准备
- 开通Flexus X实例:
-
- 登录华为云控制台
- 选择"计算"→"弹性云服务器ECS"→"购买实例"
- 选择Flexus X实例规格(推荐4核8GB配置)
- 部署Dify平台:
# 使用华为云提供的部署脚本
curl -sSL https://dify-huawei.obs.cn-north-4.myhuaweicloud.com/install.sh | bash
- 开通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 创建知识库
- 在dify平台页面,点击“知识库”,点击“创建知识库”
- 选择“导入已有文本”,点击“选择文件”,选择对应知识库文件后(本示例提供的测试文档见附件),点击下一步
- 文本分段与清洗本示例保持默认配置不变(你也可以按照实际需求进行配置),点击“保存并处理”
-
- 分段设置:通用
- 索引方式:经济
- 检索设置:Top 3
-
- 点击“前往文档”,可以看到导入的知识库文档为可用状态
3.4 构建智能工作流
- 点击步骤二中导入的工作流,进入工作流页面。
- 添加知识库:点击“知识检索”节点,点击“+”按钮添加知识库,选择步骤三中创建的知识库,点击“添加”
- 选择已开通的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”,其余服务暂不支持。 |
- 将流程中的模型替换为刚刚导入的Deepseek-R1大模型
3.5 测试工作流
在工作流页面,点击“预览”按钮,在弹出的聊天框输入问题进行测试:
测试从知识库中进行内容检索:输入知识库相关内容,查看是否通过知识库检索。
3.6 应用发布
在工作流页面的右上角点击“发布”按钮,再点击“发布”,即可完成工作流发布。
发布完成后就可以使用此anget应用了,有以下三种使用方式:
- 访问API:调用API接口如下图所示:
- 直接访问:可以通过公开URL地址直接访问:
- 嵌入网站:可以通过复制代码将此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 企业级功能增强
- 审计日志集成:
# 将问答记录存入华为云云数据库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()
- 性能监控看板:
-
- 使用华为云APM服务监控Agent响应时间
- 关键指标:
-
-
- 平均响应时间(<2s)
- 知识库命中率(>85%)
- 错误率(<1%)
-
5. 部署与优化
5.1 华为云CCE高可用部署
- 创建容器集群:
-
- 节点规格:Flexus X实例(8核16GB)
- 节点数量:3个(跨可用区部署)
- 配置自动扩缩容:
# 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 安全加固方案
- 网络层防护:
-
- 配置华为云WAF防护SQL注入等攻击
- 启用DDoS基础防护(5Gbps)
- 数据安全:
-
- 使用华为云数据加密服务(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 知识库检索不准确
解决方案:
- 调整分块策略:
-
- 技术文档:512-800字
- 合同文本:按条款分块
- 优化检索参数:
# 华为云优化参数
retrieval_config:hybrid_ratio: 0.6 # 向量检索权重keyword_ratio: 0.4 # 关键词检索权重enable_rerank: true # 启用重排序
7.2 模型响应缓慢
优化方案:
- 启用华为云模型缓存:
# 配置Redis缓存
CACHE_CONFIG = {"host": "dcs.huaweicloud.com","port": 6379,"db": 0,"password": "your_password"
}
- 使用华为云全球加速服务:
-
- 为海外用户配置就近接入点
8. 总结与展望
本教程详细展示了基于华为云Flexus和DeepSeek-R1构建企业级AI Agent的全流程,关键优势包括:
- 性能优势:
-
- Flexus X实例提供1.6倍计算性能
- 华为云网络延迟<50ms
- 成本优化:
-
- 综合成本降低30%
- 支持按需扩缩容
- 企业级特性:
-
- 端到端安全防护
- 99.95% SLA保障
下一步建议:
- 尝试集成更多华为云AI服务(如OCR、语音识别)
- 参与华为云AI应用创新大赛获取更多资源支持