一、前言
随着人工智能技术的飞速发展,大语言模型(LLM)在各个领域的应用越来越广泛。DeepSeek 作为一款备受瞩目的国产大语言模型,凭借其强大的自然语言处理能力和丰富的知识储备,迅速成为业界关注的焦点。无论是文本生成、代码编写,还是智能问答、数据分析,DeepSeek 都展现出了巨大的潜力。
为了更好地将 DeepSeek 的强大能力赋能到实际项目中,本文将介绍如何利用 Spring AI 和 Ollama 实现 DeepSeek 模型的调用。Spring AI 作为 Spring 生态系统中用于构建 AI 应用的框架,提供了便捷的 API 和丰富的功能,能够帮助我们快速集成各种 AI 模型。而 Ollama 则是一个轻量级的工具,可以方便地在本地运行和管理大型语言模型,为开发者提供了更加灵活和高效的模型部署方案。
通过本文的学习,您将掌握如何使用 Spring AI 和 Ollama 搭建一个简单的应用,并实现对 DeepSeek 模型的调用,从而为您的项目注入更强大的 AI 能力。
二、Spring AI介绍
Spring AI 是 Spring 生态系统中的一个新兴项目,旨在为开发者提供一套简单、统一的 API 和工具,以便更轻松地将人工智能(AI)能力集成到 Spring 应用中。随着 AI 技术的快速发展,越来越多的企业希望将大语言模型(LLMs)、机器学习模型和其他 AI 功能融入自己的业务系统。Spring AI 应运而生,为开发者提供了一个标准化的方式来访问和调用各种 AI 模型和服务。
主要功能:
1.大语言模型(LLMs)集成
支持调用 OpenAI、DeepSeek、Hugging Face 等主流大语言模型。
提供统一的 API 进行文本生成、对话、翻译等任务。
2.向量数据库支持
集成向量数据库(如 Pinecone、Weaviate),用于存储和检索高维向量数据,支持语义搜索和推荐系统。
3.提示词工程(Prompt Engineering)
提供工具和模板,帮助开发者优化与大语言模型的交互,提升模型输出的准确性和相关性。
4.数据预处理和后处理
提供数据清洗、格式化等功能,确保输入数据符合模型要求,并对模型输出进行后处理。
5.可扩展性
支持自定义模型和算法,开发者可以根据需求扩展 Spring AI 的功能。
三、Ollama介绍
Ollama 是一个轻量级、开源的工具,旨在帮助开发者更轻松地在本地运行和管理大型语言模型(LLMs)。它专注于简化模型的部署和使用流程,使得开发者无需复杂的配置即可快速上手。Ollama 支持多种流行的开源大语言模型(如 LLaMA、Mistral、DeepSeek 等),并提供了简单易用的命令行工具和 API,方便开发者将模型集成到自己的应用中。
关于Ollama本地部署 DeepSeek 模型,参考我之前的文章 DeepSeek-R1本地部署详细指南: 《DeepSeek-R1本地部署详细指南!(Ollama+Chatbox AI+Open WebUI)》。
一定要先在本地部署 DeepSeek 模型,不然后面项目中无法使用。
四、SpringBoot项目中使用本地DeepSeek模型(代码实战)
整体版本SpringBoot 版本3.4.2 + JDK 17 + Ollama版本1.0.0-M6
1. 依赖引入
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>1.0.0-M6</version>
</dependency>
2. 添加配置
spring.ai.ollama.base-url=http://localhost:11434
spring.ai.ollama.chat.model=deepseek-r1:14b
3. 调用模型测试
@SpringBootTest(classes = AIdemoApplication.class)
public class OllamaTestDemo {
@Autowired
private OllamaChatModel ollamaChatModel;
@Test
public void startOllama() {
String prompt = "hello";
System.out.println("开始。。。");
String callResult = ollamaChatModel.call(prompt);
System.out.println(callResult);
}
}
4. 测试结果
Hello! How can I assist you today?
5. 在测试一个问题
@SpringBootTest(classes = AIdemoApplication.class)
public class OllamaTestDemo {
@Autowired
private OllamaChatModel ollamaChatModel;
@Test
public void startOllama() {
String prompt = "请将下面的文字翻译成英文:";
String message = "今天天气真好。";
System.out.println("开始。。。");
String callResult = ollamaChatModel.call(prompt + " " + message);
System.out.println(callResult);
}
}
五、总结
Spring AI作为Spring生态系统中的一个重要组成部分,专注于提供人工智能相关的服务和支持,为开发者提供了便捷的开发环境和丰富的功能接口。而Ollama工具则以其强大的大型语言模型(LLMs)支持能力而著称,使得用户能够在本地环境中轻松运行各种LLMs,并享受其带来的高效和安全性。