阿里巴巴中间件 04月06日 21:50
本地玩转 DeepSeek 和 Qwen 最新开源版本(入门+进阶)
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文探讨了如何基于开源工具,在本地部署大模型,构建测试应用,并调用大模型能力的完整链路。文章重点介绍了DeepSeek R1和Qwen2.5等开源大模型,以及使用Ollama进行本地部署的步骤。此外,还介绍了如何利用Spring AI Alibaba创建应用,以及通过Higress云原生API网关提升AI应用稳定性的方法,提供了从本地部署到生产环境的完整实践。

💡 本地部署的优势:文章首先强调了在PC或手机本地部署大模型的优势,包括免除算力费用和Token调用费用,保护敏感数据,以及方便个人开发者体验。

🚀 DeepSeek R1 与 Qwen2.5 的选择:文章推荐使用DeepSeek R1蒸馏版,并解释了由于本地设备限制,需要选择小杯型版本的原因。同时,Ollama已支持DeepSeek R1和Qwen2.5,方便用户直接下载使用。

🛠️ Spring AI Alibaba 应用开发:文章详细介绍了使用Spring AI Alibaba开发应用,调用本地部署的大模型的步骤,包括添加依赖、配置模型地址、注入ChatClient等,并提供了示例代码。

🛡️ Higress 云原生 API 网关:为了提升AI应用的稳定性,文章推荐使用Higress云原生API网关。Higress支持对接主流LLM模型供应商,提供API Key治理、消费者管理、兜底模型和模型灰度等功能,并支持插件市场。

望宸&刘军 2025-01-29 14:09 辽宁

如何基于开源工具部署大模型、构建测试应用、调用大模型能力的完整链路。

今年的春节注定不寻常,开源大模型领域的“国货之光”们接连发布新版本,多项指标对标 OpenAI 的正式版(收费服务)。

业内开始出现一种声音,开源 LLM 不再仅仅是闭源模型的追随者,而是开始主导 AI 发展的方向,而 DeepSeek 和 Qwen 是目前领跑的开源项目。本文将介绍如何基于开源工具部署大模型、构建测试应用、调用大模型能力的完整链路。

一、为什么选择 PC 或手机在本地部署?

适合个人开发者体验。

二、为什么要选择 DeepSeek R1 蒸馏版?


三、本地部署 DeepSeek 蒸馏版和 Qwen2.5

安装 Ollama,选择杯型,运行 DeepSeek
    # 安装Ollamacurl -fsSL https://ollama.com/install.sh | sh
    # 运行DeepSeek蒸馏模型ollama run deepseek-r1:7b
    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 依赖。
      <dependency>  <groupId>com.alibaba.cloud.ai</groupId>  <artifactId>spring-ai-alibaba-starter</artifactId>  <version>1.0.0-M5.1</version></dependency><dependency>  <groupId>org.springframework.ai</groupId>  <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>  <version>1.0.0-M5</version></dependency>
      注意:由于 spring-ai 相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,请在您项目的 pom.xml 依赖中加入如下仓库配置。
        <repositories>  <repository>    <id>spring-milestones</id>    <name>Spring Milestones</name>    <url>https://repo.spring.io/milestone</url>    <snapshots>      <enabled>false</enabled>    </snapshots>  </repository></repositories>

        注入 ChatClient

          @RestControllerpublic class ChatController {
          private final ChatClient chatClient;
          public ChatController(ChatClient.Builder builder) { this.chatClient = builder.build(); }
          @GetMapping("/chat") public String chat(String input) { return this.chatClient.prompt() .user(input) .call() .content(); }}
          配置模型地址,在 application.properties 中配置模型的 url:
            spring.ai.ollama.base-url=http://localhost:11434spring.ai.ollama.chat.model=deepseek-r1:7b

            示例完整源码可参考:https://github.com/springaialibaba/spring-ai-alibaba-examples/tree/main/spring-ai-alibaba-chat-example/ollama-chat/ollama-chat-client

            五、进阶玩法:生产环境

            通过将本地验证的模型纳入企业级技术体系,才能真正释放大模型的商业价值,但同时需要满足严苛的生产环境要求。接下来,我们从流量的管理和安全防护的视角,来看看如何提升 AI 应用的稳定性。
            Higress 是一款云原生 API 网关,内核基于 Istio 和 Envoy,并基于生产业务需求做了增强,可用于部署 Web 类应用和大模型应用,在 AI 领域,已经支撑了通义千问 APP、百炼大模型 API、机器学习 PAI 平台、FastGPT、中华财险等 AI 业务。[6]
            Higress 支持一行命令安装:
              curl -sS  https://higress.cn/ai-gateway/install.sh | bash

              执行完命令后可以通过命令行初始化配置,可以看到,Higress 的 AI 网关能力支持对接国内外所有主流 LLM 模型供应商:

              也可以选择跳过这个步骤,到 Higress 的控制台进行配置对应供应商的 API Key:
              配置后,就可以直接使用了。下方是调用 OpenAI 的客户端,然后通过 Higress 路由到其他模型,例如 DeepSeek 和 Qwen。
                import jsonfrom openai import OpenAI
                client = OpenAI( api_key=xxxxx, # 👉 可以通过Higress生成消费者Key实现API key的二次分租 base_url="http://127.0.0.1:8080/v1")
                completion = client.chat.completions.create( # model="qwen-max", # model="gemini-1.5-pro", model="deepseek-chat", # 👉 可以填写任意模型名称,Higress根据模型名称路由到对应供应商 messages=[ {"role": "user", "content": "你好"} ], stream=True)
                for chunk in completion: print(chunk.choices[0].delta)

                如果您正在使用 Spring AI Alibaba 开发应用,只需要配置 OpenAI 相关依赖与参数,ChatClient 就会通过Higress 代理与后端模型交互:

                  <dependency>  <groupId>org.springframework.ai</groupId>  <artifactId>spring-ai-openai-spring-boot-starter</artifactId>  <version>1.0.0-M5</version></dependency>
                    spring.ai.openai.base-url=http://127.0.0.1:8080/v1spring.ai.openai.chat.model=deepseek-chatspring.ai.openai.chat.api-key=xxxxx, # 👉 可以通过Higress生成消费者Key实现API key的二次分租

                    然后,在监控面板看到每个模型,以及每个消费者的 token 消耗情况以及调用延时:

                    此外,Higress 还提供了很多实用的功能,例如:

                    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/
                    [6] https://github.com/alibaba/higress

                    阅读原文

                    跳转微信打开

                    Fish AI Reader

                    Fish AI Reader

                    AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

                    FishAI

                    FishAI

                    鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

                    联系邮箱 441953276@qq.com

                    相关标签

                    大模型 DeepSeek Qwen 本地部署 Spring AI Alibaba Higress
                    相关文章