SpringAI 通过 Ollama 本地部署 Deepseek 模型实现对话机器人
在上一篇文章中我们介绍了结合 Ollama、Open WebUI 和 Docker 本地部署可视化 AI 大语言模型的基础环境。本文将在此基础上,深入演示如何利用 SpringAI 框架调用本地运行的 Deepseek 模型,并进一步集成向量数据库实现 RAG(检索增强生成)、PDF 文档读取、Function Call 以及多模态能力。
Java 调用 Deepseek
下载 Deepseek 模型
首先确保本地已安装 Ollama。打开命令行窗口拉取 Deepseek 模型:
ollama run deepseek-r1:7b
等待模型下载完成即可。
本地测试
运行 Open WebUI 进行初步验证。选择 deepseek-r1 模型输入问题,确认模型响应正常。

Java 调用模型
在 Spring Boot 项目中,我们需要移除之前可能引入的 Moonshot 依赖,避免冲突。主要引入 Ollama 相关的 Starter 依赖:
<!-- 引入 Ollama 依赖-->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
配置类中定义 ChatClient 和 ChatMemory。这里我们设置系统提示词,让模型以特定人设(如特朗普)进行对话,并启用内存记忆功能。
package com.yan.springai;
import lombok.RequiredArgsConstructor;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
import org.springframework.ai.chat.memory.ChatMemory;
import org.springframework.ai.chat.memory.InMemoryChatMemory;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
{
OllamaChatModel model2;
ChatClient {
ChatClient.builder(model2)
.defaultSystem()
.defaultAdvisors( (chatMemory))
.build();
}
ChatMemory {
();
}
}


