利用阿里云函数计算FC部署Qwen2.5开源模型

通过阿里云函数计算FC快速部署Qwen2.5开源模型,实现高效的模型推理和交互体验。

原文标题:摊牌了,代码不是我自己写的

原文作者:阿里云开发者

冷月清谈:

本文介绍了如何利用阿里云函数计算FC部署Qwen2.5开源模型,实现免运维、高效开发的云端模型服务。

该方案结合了Ollama和Open WebUI两个应用。Ollama负责托管Qwen2.5模型,提供模型推理服务;Open WebUI提供用户友好的交互界面,方便用户调用和交互。

部署流程主要分为三步:
1. 部署Ollama应用:通过提供的模板链接,快速创建一个Ollama应用,其中预置了1.5B参数规模的Qwen2.5模型。
2. 部署Open WebUI应用:同样通过模板链接创建,需要配置Ollama应用的内网访问地址,建议在生产环境开启鉴权以保障安全。
3. 应用体验:在Open WebUI中选择Qwen2.5模型,即可进行交互式调用,体验模型的多语言支持、知识问答和代码生成等能力。文章还演示了如何上传文档并进行总结。

此外,函数计算FC的自动扩缩容机制能够根据请求量动态调整实例数量,提高资源利用率并降低成本。

怜星夜思:

1、除了Qwen2.5,Ollama还支持哪些其他模型?能否在函数计算上部署自己训练的模型?
2、Open WebUI的鉴权功能是如何实现的?开启鉴权后,如何访问和使用?
3、函数计算FC的自动扩缩容机制是如何工作的?如何根据业务需求配置合适的资源?

原文内容

一、引言

函数计算 FC 是一款免运维、高效开发的云服务工具,支持快速部署与弹性扩容,开发者可以通过简单的配置和代码上传,迅速上线新功能或修复问题,大大缩短了开发周期,让开发者专注于业务逻辑而无需担忧底层基础设施。

Qwen2.5 是阿里云推出的最新一代开源大模型,支持高达128K的上下文长度,覆盖92种编程语言,显著提升了代码生成和优化的能力。通过阿里云函数计算 FC提供的免运维的高效开发环境,Qwen2.5 可以快速部署和更新,无需考虑底层资源管理和运维问题,只专注于应用的创新和开发。

将Qwen2.5开源模型部署到函数计算 FC,还需要借助Ollama 和 Open WebUI 两个应用。Ollama 负责托管 Qwen2.5 模型,其中预置了 1.5B 参数规模的 Qwen2.5 模型,支持模型推理任务;Open WebUI 则为用户提供友好的交互界面,支持用户轻松调用和交互,实现高效的模型使用体验。

云端部署 Qwen2.5 模型核心优势:

  • 提供更高的灵活性:可根据用户自身业务需求灵活调整云服务资源配置,实现对高并发请求的有效支持。

  • 通过资源配置优化显著提升推理速度:可以通过调整实例规格、多 GPU 分布式部署、实施模型量化等措施提升推理速度。

  • 按业务量选择计费方式:计费方式灵活多样(包年包月、按量付费),在面对高频请求和大规模数据处理时,能够显著降低综合成本。

  • 避免数据泄露风险:企业可以实现对自身业务数据的完全控制,确保敏感信息的安全存储和处理。

本文将详细介绍如何利用函数计算 FC 部署 Qwen2.5 开源模型的流程。点击文末“阅读原文”,了解更多方案详情,开发更高效,智能更贴近。

二、操作教程

(一)整体架构

(二)基于 Ollama 部署 Qwen2.5 模型

将部署Ollama应用以提供模型服务。Ollama 是一个便捷的模型部署和管理工具,帮助开发者高效托管和服务化模型,便于快速集成 AI 能力。

1. 点击Ollama模板链接:

https://fcnext.console.aliyun.com/applications/create,访问创建Ollama应用页面。

2. 当前应用模板提供了Qwen2.5:1.5B模型。

  1. 其余配置项可不作修改,点击创建并部署默认环境按钮部署应用,应用部署成功后如下图所示。

(三)使用 Open WebUI 调用 Qwen2.5 模型

Open WebUI 是一个开源项目,提供了管理和操作模型的图形界面。

  1. Open WebUI模板链接[1],访问创建Open WebUI应用页面。

  2. 在高级配置 > 地域下拉列表中选择应用所属地域。注意所选地域与Ollama应用创建时所选的地域一致。

  1. 应用模板中提供了开启鉴权的选项,建议在生产环境开启,以增加安全性,防止未经授权的访问。

图片

  1. Ollama接口地址填入Ollama应用的内网访问地址。

说明 

Ollama应用内网访问地址获取方式:

打开函数计算 FC应用[2]页面,找到Ollama应用,点击应用名称进入应用详情。

在应用详情页找到函数资源,点击函数名称进入函数详情页。

鼠标移至HTTP 触发器,在展开的信息中复制内网访问地址。

5.其余配置项可不作修改,点击创建并部署默认环境按钮部署应用,应用部署成功后如下图所示。

6.Open WebUI应用部署完毕后,点击访问域名。

三、应用体验

(一)使用 Open WebUI 调用 Qwen2.5 模型

  1. 登录Open WebUI后,点击Select a model,在展开的下拉列表中选择Qwen2.5模型。如果在下拉列表中未显示可用的模型,请尝试刷新页面以更新列表。

说明:首次部署需要等待约5分钟,不断刷新会导致实例反复调用,为避免消耗更多资源请不要反复刷新。

  1. 可以在对话框中与系统进行交互,调用模型服务获得相应的响应。

  1. Qwen2.5 模型具备支持超过 29 种语言的能力,例如能够用法语进行自我介绍。

  1. 由于融入了领域专业专家模型,Qwen2.5 的知识广度和在编码与数学领域的能力都显著提升。我们可以提出一道数学题,Qwen2.5 能够给出正确的解答。

  1. 点击图片图标,选择本地文档上传,可以使用我们提供的“百炼”手机详细参数.docx[3]。

  1. 针对当前文档撰写提示词“总结文档内容”。

  1. 可以看到Qwen2.5模型成功提炼出了文档的关键信息。

关于代码编写的结果,可以亲自去验证一下哦😄

(二)函数计算 FC 自动扩缩容机制

  1. 回到 Ollama 函数详情页,点击实例标签,如果当前实例列表为空,可以点击图片图标刷新列表。

  1. 实例列表中可以看到 Ollama 函数实例的数量发生了变化。这是因为函数计算 FC 会根据函数调用量自动扩缩容,调用增加时创建实例,请求减少后若实例空闲超过一定时间(通常3-5分钟),则自动销毁以节约资源。这种动态扩缩容的机制不仅提高了资源利用率,还降低了运行成本,使开发者能够专注于业务逻辑,而无需担心底层基础设施的管理。

点击阅读原文,体验使用 Open WebUI 调用 Qwen2.5 模型,新年礼物,先到先得~

参考链接:

[1]https://fcnext.console.aliyun.com/applications/create?template=fc-open-webui&deployType=template-direct

[2]https://fcnext.console.aliyun.com/applications

[3]https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20240701/geijms/%E7%99%BE%E7%82%BC%E7%B3%BB%E5%88%97%E6%89%8B%E6%9C%BA%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D.docx

开启鉴权后,访问Open WebUI时会弹出一个登录框,需要输入预先设置好的用户名和密码。这个功能可以有效防止未授权访问,提高安全性。

函数计算FC的自动扩缩容机制会根据请求量自动调整实例数量,当请求增加时,会自动创建新的实例来处理请求;当请求减少时,空闲的实例会被销毁以节约资源。可以通过配置弹性策略来设置扩缩容的规则,例如最大实例数、最小实例数以及扩缩容的触发条件等。

自动扩缩容就像一个弹簧,请求多了就拉伸,请求少了就收缩,这样可以动态调整资源,挺方便的。具体怎么配置,可以去看看阿里云的文档,或者问问客服,他们应该比较清楚。

Open WebUI的鉴权通常是通过用户名和密码进行身份验证,开启鉴权后,访问时需要输入正确的用户名和密码才能登录和使用。具体配置方法可以参考Open WebUI的文档说明。

哈哈,这个问题有点专业了。Ollama好像支持不少流行的开源模型,我记得看过一个列表,具体哪些我记不清了,你可以去查查。自己训练的模型嘛,我觉得应该也可以,但可能需要做些适配工作,可以问问阿里云的客服或者看看相关的文档。

除了文章提到的Qwen2.5,Ollama确实还支持不少其他模型,具体可以去Ollama的GitHub仓库看看,上面有详细的列表和说明。至于部署自己训练的模型,估计得看模型的大小和格式了,如果是标准格式的,应该可以参考Ollama的文档进行操作。

简单来说,就是根据请求量自动增减实例数量,请求多就多开几个实例,请求少就关掉一些实例,这样可以避免资源浪费,也保证了服务的稳定性。具体的配置可以参考阿里云的文档,里面有详细的说明。

我猜应该是类似网站登录那种,需要输入用户名和密码才能访问,具体怎么配置可以看看文档,或者问问大佬们。

Ollama支持托管多种开源大语言模型,比如Llama 2、Mistral、StableLM等等。在函数计算上部署自己训练的模型理论上也是可行的,但需要考虑模型大小、资源限制以及部署方式等因素,可能需要一些定制化的工作。