欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > SpringAI集成本地部署DeepSeek大模型服务(Ollama)

SpringAI集成本地部署DeepSeek大模型服务(Ollama)

2025/5/2 14:39:47 来源:https://blog.csdn.net/ma_hoking/article/details/147580417  浏览:    关键词:SpringAI集成本地部署DeepSeek大模型服务(Ollama)

本例演示使用SpringAI集成本地部署的DeepSeek大模型,DeepSeek大模型使用Ollama的方式部署。接下来我们学习相关概念:

SpringAI   访问地址:Spring AI

‌Spring AI‌是一个面向人工智能工程的应用框架,由Spring团队推出,旨在将AI能力集成到Java应用中。Spring AI的核心是解决AI集成的根本挑战,即将企业数据和API与AI模型连接起来‌。
 

Ollama

Ollama 是一个基于 Go 语言的本地大语言模型运行框架,类 docker 产品(支持 list,pull,push,run 等命令),事实上它保留了 Docker 的操作习惯,支持上传大语言模型仓库 (有 deepseek、llama 2,mistral,qwen 等模型,你也可以自定义模型上传)。它简化了模型的下载、管理和运行流程,用户可以通过命令行与模型交互,并支持自定义模型和 API 集成。

一、Ollama本地部署DeepSeek

1 下载安装Ollama

Ollama支持多平台部署,登录官网地址:Ollama 选择适合的安装包。

 

2 验证Ollama状态

安装成功后访问:http://127.0.0.1:11434/

 

查看Ollama版本

ollama -v

3 Ollama基本命令

Ollama提供了一系列基本命令,方便用户管理、运行和调试模型。这些命令包括:
  • ollama run:运行模型。
  • ollama pull:从注册表中拉取模型。
  • ollama push:将模型推送到注册表。
  • ollama list:列出模型。
  • ollama cp:复制模型。
  • ollama rm:删除模型。
  • ollama help:获取有关Ollama任何命令的帮助信息。
  • ollama serve:启动Ollama服务。
  • ollama create:创建模型,可以从模型文件创建模型。
  • ollama show:显示模型信息。
  • ollama -v 或 ollama --version:查看Ollama版本。
示例:
拉取模型 deepseek-r1:70b
ollama pull deepseek-r1:70b

 运行模型 deepseek-r1:70b

ollama run deepseek-r1:70b

4 Ollama主要功能

4.1 本地运行

支持在本地计算机上运行 LLMs,无需依赖云服务。Ollama允许用户在自己的设备上部署和运行语言模型,而不必完全依赖云端服务。这降低了对云端的依赖,提高了数据处理的灵活性和隐私性。

4.2 跨平台支持

支持多平台部署。Ollama支持Windows、Linux和MacOS等多种操作系统,用户可以根据自己的需求选择合适的平台。

4.3 多模型支持

兼容多种开源模型,如Llama 3.3, DeepSeek-R1, Phi-4, Mistral, Gemma 2 等。用户可以在官网直接下载使用。同时,用户还可以上传自己的模型,以及将其他格式的模型转换为ggml格式后导入使用。

4.4 多GPU并行推理加速

在多卡环境下,Ollama可以设置环境变量来指定特定GPU,实现多GPU并行推理加速,提高模型的运行效率。

二、SpringAI集成DeepSeek大模型

1 创建SpringBoot项目

版本要求

  • JDK 17
  • SpringBoot  3.4.2

pom.xml配置如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.2</version><relativePath/></parent><groupId></groupId><artifactId>platform-ai</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring-ai.version>1.0.0-M6</spring-ai.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- ollama 依赖 --><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-ollama-spring-boot-starter</artifactId><version>${spring-ai.version}</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>

2 创建DeepSeek服务调用逻辑

@Slf4j
@Service
public class DeepSeekServiceImpl implements DeepSeekService {@Autowiredprivate  OllamaChatModel ollamaChatModel;@Overridepublic String search(String prompt) {log.info("prompt: {}",prompt);return ollamaChatModel.call(prompt);}@Overridepublic Flux<String> stream(String prompt) {log.info("stream-prompt: {}",prompt);return ollamaChatModel.stream(prompt);}
}

注:OllamaChatModel如果启动提示类注入失败,请排查SpringBoot版本和JDK版本是否与本例版本一致。

3 创建请求调用接口

 

@Slf4j
@RestController
@RequestMapping("/ai")
public class AIController{@Autowiredprivate DeepSeekService deepSeekService;@PostMapping("/chat")public String search(@RequestBody String prompt) {return deepSeekService.search(prompt);}/*** 流式输出* @param prompt* @return*/@PostMapping("/stream")public Flux<String> stream(@RequestBody String prompt) {return deepSeekService.stream(prompt);}}

4配置application.yml

spring:ai:ollama:base: http://localhost:11434chat:model: deepseek-r1:8b

5 测试验证问答服务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词