华为云MaaS+Dify 双剑合璧使能AI应用敏捷开发【华为开发者空间】

举报
胡琦 发表于 2024/12/21 13:00:24 2024/12/21
【摘要】 如何在开发者空间中部署Dify.AI并使用MaaS提供的LLM服务?

前言

修改记录

文档版本 修改说明 发布日期 作者 签发
 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
  }'

请把yourBaseUrlyourApiKeyyourModelName替换为步骤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

进入云主机,打开终端,执行以下命令,安装Dify.AI

# 下载安装脚本
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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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