华为云MaaS+Dify 双剑合璧使能AI应用敏捷开发【华为开发者空间】
前言
修改记录
文档版本 | 修改说明 | 发布日期 | 作者 | 签发 |
---|---|---|---|---|
v1.0 | 第一次发布 | 2024年12月21日 | 胡琦 | |
1 概述
1.1 实验介绍
说明:
- 本实验需要华为云账号,且经过实名认证
- 本实验需要开发者空间账号,且经过实名认证
- 仅“华东二”区域支持使用ModelArts Studio大模型即服务平台(MaaS)。
- MaaS是白名单功能,请先申请权限。
本实验将基于华为云ModelArts Studio平台和开源Agent框架Dify.AI构建个性化聊天助手。ModelArts Studio作为华为云的一站式AI开发平台,提供了丰富的开源大模型资源,支持一键部署模型服务并通过API调用。Dify.AI则是一个功能强大的Agent开发框架,通过可视化的工作流编排方式,让开发者能够快速构建聊天助手、知识库、Agent等智能应用,大幅提升AI应用开发效率。
1.2 实验对象
- 企业
- 个人开发者
- 高校学生
1.3 实验时间
本次实验总时长预计 40 分钟。
1.4 实验流程
① 通过开发者空间云主机的Firefox浏览器访问并开通 ModelArts Studio 模型即服务。本次实验采用的 Qwen2_5-72B-Instruct 。
② 通过终端从 https://gitcode.com/huqi/huaweicloud-dify 获取安装脚本,安装脚本基于 Docker 安装并部署 Dify.AI。
③ 通过Firefox浏览器访问本地部署的 Dify.AI,完成后续模型服务配置、应用开发等操作。
1.5 实验资源
云资源 | 消费/时 | 时长 |
---|---|---|
开发者空间 云主机 | 免费 | — |
ModelArts Studio | 免费(需先领取千万免费Tokens) | – |
2 实验步骤
2.1 ModelArts Studio 模型服务
2.1.1 访问 ModelArts Studio 模型部署
进入云主机,打开浏览器,输入 https://console.huaweicloud.com/modelarts/?region=cn-east-4&locale=zh-cn#/model-studio/deployment
,即可访问ModelArts Studio。
2.1.2 领取免费 Token 额度
领取千万免费token额度,可用于体验Qwen、Chatglm等系列模型,免费额度仅适合用于体验模型。Qwen2.5系列预置服务还支持Function Calling,可以用于构建Agent。
2.1.3 获取大模型API和名称
以Qwen2_5-72B-Instruct
为例,点击更多-调用,获取API地址和模型名称。
2.1.4 创建API Key
左侧鉴权管理-创建API Key,保存创建的密钥信息
最多创建5个密钥,密钥只会在新建后显示一次,请妥善保存。
2.1.5 调试大模型API
我们使用 curl 脚本调试大模型API,确保API配置可用,在终端执行以下命令。
# 调试API
curl -X POST "yourBaseUrl" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer yourApiKey" \
-d '{
"model": "yourModelName",
"max_tokens": 20,
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好"}
],
"stream": false,
"temperature": 1.0
}'
请把
yourBaseUrl
、yourApiKey
、yourModelName
替换为步骤2.1.3和步骤2.1.4中的信息。
能看到类似的返回即为API配置可用。
{"id":"chat-1d324bf7eb884c728b2542ddc53f7218","object":"chat.completion","created":1734748674,"model":"Qwen2.5-72B","choices":[{"index":0,"message":{"role":"assistant","content":"你好!很高兴见到你!你有什么问题或者需要帮助吗?","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":20,"total_tokens":35,"completion_tokens":15},"prompt_logprobs":null}
2.2 安装和配置Dify.AI
2.2.1 安装Dify.AI
安装脚本见: https://gitcode.com/huqi/huaweicloud-dify
如有问题欢迎反馈: https://gitcode.com/huqi/huaweicloud-dify/discussion
# 下载安装脚本
sudo wget -P /home/ https://raw.gitcode.com/huqi/huaweicloud-dify/raw/main/install.sh
# 执行安装脚本
sudo bash /home/install.sh
安装完毕后显示安装过程结束,详细日志请查看: /var/dify-install.log
即为安装成功。
2.2.2 登录Dify.AI
通过云主机,打开浏览器,输入http://127.0.0.1
,即可访问Dify.AI。
如果端口80无法访问,我们可以通过命令去查看端口的使用情况,确定Dify.AI使用的端口。
# 查看端口使用情况
sudo netstat -tulnp | grep docker
首次登陆需注册管理员账号,依次填写邮箱、账号、密码。
2.2.3 配置Dify.AI
进入Dify平台,点击右上角设置,进入模型供应商页签,选择OpenAI-API-compatible
供应商,关键信息配置如下:
- 模型类型选择
LLM
- 模型名称请填入步骤2.1.3服务信息中的模型名称
API Key
请填入步骤2.1.4中创建的API Key
API endpoint URL
请填入步骤2.1.3中的API地址,并且删除最后面chat/completions
部分Completion mode
请选择对话- 模型上下文长度\最大 token 上限保持默认
Function calling
保持默认不支持Stream function calling
保持默认不支持- 流模式返回结果的分隔符保持默认
\n\n
2.3 构建Agent
2.3.1 创建Agent
在Dify平台(http://127.0.0.1/apps),点击工作室–Agent-创建空白应用,进入Agent页签,填写Agent名称。
2.3.2 Agent 设置
在右上角单击“Agent 设置”,选择上一步配置好的模型进行使用。
Function Call 模式会报错,实际使用代理模型,下图为 Agent 设置示意图
2.3.3 编排提示词配置
在“编排”页面的“提示词”文本框,输入以下信息。
你是一位乐于助人的AI助手。在回答用户问题时,你需要遵循以下原则:
1. 始终使用自然语言解释你将要采取的行动
2. 在调用工具之前,说明你要使用哪个工具以及原因
3. 在获取信息的过程中,清晰地描述你正在做什么
4. 永远不要返回空的回复 - 确保用自然语言解释你的每个步骤
举例说明:
当用户询问今日热点新闻时,你应该这样回复:
"让我使用新闻搜索工具为您查询今日热点新闻..."
然后再进行具体的工具调用。
重要提示:
- 先表达你的理解和计划
- 再使用相应的工具
- 每次回复都必须包含对用户的清晰解释
基于以上原则,请根据用户的问题,给出相应的回答。
2.3.4 编排工具配置
在“编排”页面的“工具”区域右侧,单击“添加”,按需添加工具并与模型进行对话调用。
Dify内置有丰富的插件,同时支持自定义工具的创建
2.3.5 调试Agent
我们可以进行调试和预览。
2.3.5 使用Agent
我们可以通过网页的方式,直接与Agent对话,也可以通过API的方式,将Agent集成到其他系统中。
3 实验总结
通过本实验,我们了解了如何使用ModelArts Studio平台和开源Agent框架Dify.AI构建个性化聊天助手。ModelArts Studio提供了丰富的开源大模型资源,支持一键部署模型服务并通过API调用。Dify.AI则是一个功能强大的Agent开发框架,通过可视化的工作流编排方式,让开发者能够快速构建聊天助手、知识库、Agent等智能应用,大幅提升AI应用开发效率。
4 参考文档
我正在参加【有奖征集 第34期】华为开发者空间一行代码快速上云,参与视频、文章投稿赢2000元开发者礼包
链接:https://bbs.huaweicloud.com/blogs/438987
- 点赞
- 收藏
- 关注作者
评论(0)