概述

在大模型技术迅速普及的当下,如何在本地环境中以低成本部署高性能AI服务,成为了广大开发者关注的焦点。

本文将结合Spring AI、Ollama和DeepSeek-R1模型,通过Docker容器化部署和Redis持久化存储,手把手教你构建一个支持连续对话的AI应用。

这一方案特别适合需要私有化部署、数据安全可控的场景,如企业内部知识库、教育问答系统等。

这是一篇全家桶式教程,主要内容包括:

  • 环境搭建: 从安装Docker开始,到通过Docker安装Redis、Ollama,并部署DeepSeek模型,一步步带你搞定环境配置。
  • Spring AI集成: 详细讲解如何将Ollama和DeepSeek集成到Spring AI中,并实现连续对话功能。
  • 效果验证: 通过实际测试,展示系统的运行效果,让你直观感受这一方案的强大之处。

环境准备

在开始之前,请确保你的环境满足以下要求:

  • 操作系统: Windows 11
  • Java版本: JDK 17+(请注意Spring Boot 3.4.3的兼容性)
  • 依赖管理: Maven 3.8.3+

环境搭建(docker,redis, ollama 和deepseek)

1. 安装docker

本地环境使用Docker进行部署,可以大大节省环境配置的工作量,同时减少组件对系统性能的影响。在不开发时,关闭Docker,还能避免各种干扰。对于还不熟悉Docker的同学,建议尽快学习掌握这一强大工具。

由于很多教程都是基于Linux系统的,这里我们详细讲解一下在Windows本地环境下的搭建步骤。首先,访问docker官网,根据你的系统选择合适的版本进行下载和安装。安装完成后,进入PowerShell,输入指令docker ps,如果能看到相关输出,说明Docker安装成功。

Spring AI + DeepSeek,10分钟快速构建本地化AI对话系统!_编程

安装后,进入PowerShell,输入指令 docker ps ,看到这个就OK了

Spring AI + DeepSeek,10分钟快速构建本地化AI对话系统!_spring_02

Spring AI + DeepSeek,10分钟快速构建本地化AI对话系统!_spring_03

2.Redis容器部署

说明:此命令从Docker Hub拉取指定版本的Redis镜像,为后续的容器部署做好准备。

docker pull redis:7.4.2
  • 1.

在本地创建文件夹C:\docker\redis\confC:\docker\redis\data,并在conf文件夹下创建文件redis.conf,内容如下:

bind 0.0.0.0
port 6379
requirepass 123123
dir /data
appendonly yes
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • bind 0.0.0.0:允许外部访问
  • requirepass 123123:设置访问密码,你可以根据需要自行设定,虽然是本地环境,但养成良好的安全习惯很重要
  • appendonly yes:开启AOF持久化

接下来,进行容器部署:

docker run -d \
-p 6579:6379 \
-v C:/docker/redis/data:/data \
-v C:/docker/redis/conf:/usr/local/etc/redis \
--name redis \
redis:7.4.2 redis-server /usr/local/etc/redis/redis.conf
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

说明:通过上述命令,我们基于刚才拉取的镜像创建并启动了一个Redis容器,同时将本地的配置文件和数据目录挂载到容器中,方便进行持久化存储和配置管理。

3. 安装ollama

下载ollama

docker pull ollama/ollama:0.6.2
  • 1.

创建本地文件夹C:\docker\ollama,然后运行以下命令:

docker run -d \
-v C:\docker\ollama:/root/.ollama \
-p 11434:11434 \
--name ollama \
ollama/ollama:0.6.2