本地玩转 DeepSeek 和 Qwen 最新开源版本(入门 + 进阶)
作者:望宸 &刘军
今年的春节注定不寻常,开源大模型领域的“国货之光”们接连发布新版本,多项指标对标 OpenAI 的正式版(收费服务)。
1 月 20 日,DeepSeek R1 发布,在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。
1 月 27 日,Qwen2.5-1M:支持 100 万 Token 上下文,其中 14B 的杯型在短文本任务上实现了和 GPT-4o-mini 相近的性能,同时上下文长度是 GPT-4o-mini 的八倍;长上下文任务在多个数据集上稳定超越 GPT-4o-mini。
1 月 20 日,DeepSeek Janus-Pro 发布,多模态理解和生成模型,其中 7B 的杯型在 GenEval 和 DPG-Bench 基准测试中超过 OpenAI 的 DALL-E 3 和 Stable Diffusion。
1 月 28 日,Qwen2.5-VL 发布,视觉语言模型,在文档理解、视觉问答、视频理解和视觉 Agent 等维度的多项指标超过 GPT-4o。
1 月 29 日,Qwen2.5-Max 发布,在 Arena-Hard、LiveBench、LiveCodeBench 和 GPQA-Diamond 等基准测试中,超越了 DeepSeek V3 和 GPT-4o。
业内开始出现一种声音,开源 LLM 不再仅仅是闭源模型的追随者,而是开始主导 AI 发展的方向,而 DeepSeek 和 Qwen 是目前领跑的开源项目。本文将介绍如何基于开源工具部署大模型、构建测试应用、调用大模型能力的完整链路。
一、为什么选择 PC 或手机在本地部署?
模型计算发生在电脑或手机上,免除算力费用
API 调用发生在本地网络内,免除 Token 调用费用
敏感数据,无需离开本地环境
适合个人开发者体验。
二、为什么要选择 DeepSeek R1 蒸馏版?
由于本地设备的限制,只能运行小杯型的版本,Qwen 提供了全尺寸的版本。
DeepSeek R1 开源协议明确可“模型蒸馏”(Distill),且提供了基于 Qwen 的蒸馏版本,可以直接下载使用。
三、本地部署 DeepSeek 蒸馏版和 Qwen2.5
安装 Ollama,选择杯型,运行 DeepSeek
Ollama 已支持 DeepSeek R1 和 Qwen2.5,其中 Qwen2.5-Max 因今天刚发布,待 Ollama 支持。


四、Spring AI Alibaba 创建应用,调用服务
使用 Spring AI Alibaba 开发应用与使用普通 Spring Boot 没有什么区别,只需要增加 spring-ai-alibaba-starter 依赖,将 ChatClientBean 注入就可以实现与模型聊天了。
在项目中加入 spring-ai-alibaba-starter 依赖,由于模型是通过 ollama 运行的,这里我们也加入 spring-ai-ollama-spring-boot-starter 依赖。
注意:由于 spring-ai 相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,请在您项目的 pom.xml 依赖中加入如下仓库配置。
注入 ChatClient:
配置模型地址,在 application.properties 中配置模型的 url:
五、进阶玩法:生产环境
通过将本地验证的模型纳入企业级技术体系,才能真正释放大模型的商业价值,但同时需要满足严苛的生产环境要求。接下来,我们从流量的管理和安全防护的视角,来看看如何提升 AI 应用的稳定性。
Higress 是一款云原生 API 网关,内核基于 Istio 和 Envoy,并基于生产业务需求做了增强,可用于部署 Web 类应用和大模型应用,在 AI 领域,已经支撑了通义千问 APP、百炼大模型 API、机器学习 PAI 平台、FastGPT、中华财险等 AI 业务。[6]
Higress 支持一行命令安装:
执行完命令后可以通过命令行初始化配置,可以看到,Higress 的 AI 网关能力支持对接国内外所有主流 LLM 模型供应商:

也可以选择跳过这个步骤,到 Higress 的控制台进行配置对应供应商的 API Key:

配置后,就可以直接使用了。下方是调用 OpenAI 的客户端,然后通过 Higress 路由到其他模型,例如 DeepSeek 和 Qwen。
如果您正在使用 Spring AI Alibaba 开发应用,只需要配置 OpenAI 相关依赖与参数,ChatClient 就会通过 Higress 代理与后端模型交互:
然后,在监控面板看到每个模型,以及每个消费者的 token 消耗情况以及调用延时:

此外,Higress 还提供了很多实用的功能,例如:
API Key 治理: 支持配置 API Key 池实现多 Key 均衡,API Key 被限流等不可用情况会自动屏蔽,并在可用时自动恢复;
消费者管理:可以通过创建消费者,实现 API Key 的二次分发,无需将真正的供应商 API Key 暴露给调用方,并且可以精细化管理不同消费者的调用权限和调用额度;
兜底模型: 支持配置兜底模型,例如当请求 DeepSeek 模型失败时,自动降级到 OpenAI 模型;
模型灰度: 支持模型平滑按比例灰度,可以参考《DeepSeek-R1来了,如何从OpenAI平滑迁移到DeepSeek》
Higress 的插件市场里还有很多开箱即用的插件,例如提示词模版,AI 缓存,数据脱敏,内容安全等等。

插件代码也都是开源的,并且支持自己开发插件,支持在网关上热装载,对流量完全无损。这对于 RealTime API 等实时会话的场景十分友好,不会断开长连接。
以上是本地部署 DeepSeek 和 Qwen 的实践,如果您希望通过云端方式进行部署,可以参考魔搭+函数计算 FC。
技术支持:
Spring AI Alibaba 钉群群号:105120009405;
Higress 钉群群号:107690002780
参考文档:
[1] https://github.com/deepseek-ai/DeepSeek-R1
[2] https://qwenlm.github.io/blog/qwen2.5-vl/
[3] https://github.com/deepseek-ai/Janus?tab=readme-ov-file
[4] https://qwenlm.github.io/blog/qwen2.5-1m
[5] https://qwenlm.github.io/zh/blog/qwen2.5-max/
版权声明: 本文为 InfoQ 作者【阿里巴巴云原生】的原创文章。
原文链接:【http://xie.infoq.cn/article/bdce44f9fa27af94cc406ff88】。文章转载请联系作者。
评论