百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

使用 Docker Model Runner 在本地构建 GenAI 应用程序

moboyou 2025-07-16 19:53 16 浏览

想要在本地运行大型语言模型 (LLM)?以下是在您自己的桌面上设置 Docker Model Runner 并访问 LLM 的方法。

Docker Model Runner 是 Docker Desktop 的一项新功能,旨在简化在 Docker 生态系统中本地运行和测试 AI 模型的过程。它解决了开发人员在将生成式 AI 和大型语言模型集成到其工作流程中时面临的长期挑战,例如碎片化的工具、复杂的环境设置和不一致的模型管理。

通过将主机原生推理引擎直接嵌入到 Docker Desktop 中,Model Runner 无需容器化每个 AI 工作负载,这不仅提高了性能,还简化了用户体验。推理引擎目前构建在 llama.cpp 之上,在主机上作为本机进程运行。这种方法可确保模型权重得到有效加载,并且系统可以充分利用本地硬件,包括 Apple Silicon 系统上的直接 GPU 加速。这种原生执行绕过了与在容器或虚拟机内运行模型相关的传统开销,从而实现了更快的推理和更顺畅的开发周期。

Docker Model Runner 的先决条件

要运行 Docker Model Runner,您需要满足与 Docker 环境和硬件相关的几个先决条件。首先,您必须安装 Docker Desktop 版本 4.41 或更高版本。Docker Model Runner 作为一项功能集成到 Docker Desktop 中,因此早期版本不支持它。如果您计划将 Model Runner 与多容器应用程序或 Compose 文件一起使用,您还需要 Docker Compose 版本 2.35 或更高版本。

硬件兼容性至关重要。在 Mac 上,Docker Model Runner 需要 Apple 芯片(M1、M2 或更高版本)。在 Windows 上,您需要一个具有 NVIDIA GPU 的系统才能利用本地推理加速。该功能目前不适用于 Linux 或基于 Intel 的 Mac。

启用 Model Runner

如果您运行的是最新版本的 Docker Desktop,则可以访问 Dashboard 设置以启用 Model Runner。

在命令行中,运行以下命令以启用相同的功能:

docker desktop enable model-runner --tcp 12434

现在,您有一个在 macOS 上运行的 llama.cpp 推理引擎。您可以使用以下命令验证相同的内容:

docker model status

启用后,您可以按照熟悉的命令来拉取和运行模型。与 docker images list 命令类似,您可以运行 docker model list 列出所有下载的模型。

拉取和运行 Gemma LLM

与容器注册表类似,Docker 有一个用于生成式 AI 模型的注册表,可以在 hub.docker.com/u/ai 访问。模型以与容器映像相同的 OCI 格式存储。

让我们在本地拉取并运行 Gemma3 模型。

docker model pull ai/gemma3

下载模型后,您可以通过以下命令确认其可用性:

docker model list

现在,我们可以使用 cURL 命令通过兼容 OpenAI 的 API 终端节点访问模型。

curl http://localhost:12434/engines/llama.cpp/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
 "model": "ai/gemma3",
 "messages": [
 {
 "role": "system",
 "content": "You are a helpful assistant."
 },
 {
 "role": "user",
 "content": "Who was the captain of the Indian cricket team during the 1983 World Cup?"
 }
 ]
 }'

从 Hugging Face 拉取和运行嵌入模型

Docker Model Runner 支持直接从 Hugging Face 模型存储库中提取模型,前提是模型与 llama.cpp 兼容。在此示例中,我将从 Hugging Face 中提取 mxbai-embed-large-v1 嵌入模型。

docker model pull hf.co/mixedbread-ai/mxbai-embed-large-v1

由于它具有针对 CPU 优化的模型的 GGUF 风格,并且与 llama.cpp 引擎完全兼容,因此 Docker 成功下载了该模型。

您可以使用如下所示的命令对其进行测试。

curl http://localhost:12434/engines/llama.cpp/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
 "model": "hf.co/mixedbread-ai/mxbai-embed-large-v1",
 "input": "Embeddings made easy"
 }'

您还可以在 Docker Desktop 控制面板中查看下载的模型。

通过在本地运行文本嵌入模型和 LLM,我们可以在开发计算机上开发 RAG 和代理应用程序,而无需使用远程推理引擎或终端节点。

Docker Model Runner 通过快速、简单和 Docker 生态系统集成,标志着本地 AI 开发的重大进步。它使开发人员能够直接在他们的机器上拉取、运行和管理 AI 模型,而无需复杂的传统基础设施设置或容器化推理的开销。通过利用主机原生推理引擎并支持直接 GPU 加速(尤其是在 Apple 芯片上),Model Runner 可提供高性能和高效的资源使用。模型作为 OCI 构件分发,支持标准化打包、版本控制以及与现有 Docker 工作流的无缝集成。使用与 OpenAI 兼容的 API 可确保轻松采用并与现有应用程序兼容。

相关推荐

python新手学习常见数据类型——数字

Python支持三种不同的数值类型:整型(int)、浮点型(float)、复数(complex)创建数字:a=1b=2.7c=8+4j删除数字:a=1b=2.7c=8+4...

只用一个套路公式,给 Excel 中一列人员设置随机出场顺序

很多同学会觉得Excel单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解Excel的各个知...

Excel神技 TIME函数:3秒搞定时间拼接!职场人必学的效率秘籍

你是否经常需要在Excel中手动输入时间,或者从不同单元格拼接时、分、秒?今天我要揭秘一个超实用的Excel函数——TIME函数,它能让你3秒内生成标准时间格式,彻底告别繁琐操作!一、TIME函数基础...

销售算错数被批?97 Excel 数字函数救场,3 步搞定复杂计算

销售部小张被老板当着全部门骂。上季度销售额汇总,他把38652.78算成36852.78,差了1800块。财务对账时发现,整个部门的提成表都得重算。"连个数都算不对,还做什么销售?&...

如何使用Minitab 1分钟生成所需要的SPC数据

打开Minitab,“计算”-“随机数据”-“正太”,因为不好截图,使用的是拍照记录的方式.再要生产的行数中,填写125,可以按照要求,有些客户要求的是100个数据,就可以填写100...

验证码,除了 12306,我还没有服过谁

为了防止暴力注册或爬虫爬取等机器请求,需要验证操作者是人还是机器,便有了验证码这个设计。本文作者主要介绍了如何使用Axure来设计一个动态的图形验证码,一起来学习一下吧。在软件设计中,为了防止暴力...

零基础也能学会的9个Excel函数,小白进阶必备

今天给大家分享一些常用的函数公式,可以有效地解决Excel中办公所需,0基础也可以轻松学会。建议收藏,在需要的时候可以直接套用函数。1、计算排名根据总和,计算学生成绩排名。函数公式=RANK(E2,$...

[office] excel表格数值如何设置_excel表格怎样设置数值

excel表格数值如何设置  因为电子表格应用程序是用来处理数值数据的,所以数值格式可能是工作表中最关键的部分,格式化数值数据的方式由用户决定,但在每个工作簿的工作表之间应使用一致的处理数字的方法。...

Excel最常用的5个函数!会用最后一个才是高手

是不是在处理Excel数据时,面对繁琐的操作烦恼不已?手动操作不仅耗时费力,还容易出错。别担心,表姐这就为你揭秘Excel中几个超实用的函数,让数据处理变得轻松高效!表姐整理了552页《Office从...

新手必会的53个Excel函数_惊呆小伙伴的全套excel函数技能

(新手入门+进阶+新函数)一、新手入门级(24个)1、Sum函数:求和=Sum(区域)2、Average函数:求平均值=Average(区域)3、Count函数:数字个数=Count(区域)4、Cou...

打工人私藏的4个Excel函数秘籍,效率提升3.7%

小伙伴们好啊,今天咱们分享几个常用函数公式的典型应用。合并内容如下图,希望将B列的姓名,按照不同部门合并到一个单元格里。=TEXTJOIN(",",1,IF(A$2:A$15=D2,B...

Excel偷偷更新的8个函数!原来高手都在用这些隐藏技能

领导突然要销售数据,你手忙脚乱筛选到眼花...同事3分钟搞定的报表,你折腾半小时还在填充公式...明明用了VLOOKUP,却总显示#N/A错误...别慌!今天教你的8个动态数组函数,就像给Excel装...

Excel表格随机函数怎么用?讲解三种随机函数在不同场景的应用

excel随机函数,其特点是能够生成一组随机数字,根据不同需求,还能批量生成小数位和整数,及指定行数和列数,或指定区间范围内的数字。这里根据需求,作者设置了三个问题,第1个是随机生成0至1之间的数字...

单纯随机抽样该如何进行?_单纯随机抽样的适用范围及注意事项

在数据分析中,抽样是指从全部数据中选择部分数据进行分析,以发掘更大规模数据集中的有用信息。在收集数据过程中,绝大多数情况下,并不采取普查的方式获取总体中所有样本的数据信息,而是以各类抽样方法抽取其中若...

随机函数在Excel中的应用_随机函数在excel中的应用实例

【分享成果,随喜正能量】职场,如果你没有价值,那么你随时可能被取代;如果你的价值不如别人,那么社会也不会惯你,你将被无情地淘汰掉。不管什么时候,你一定要学会构建自己的价值。每个人都应该思考这个问题:我...