⚡️硬核实战:Spring AI + Ollama 从零搭建私有化多角色 AI 助手|RAG 知识库 + MCP 控制台全实现

🔥 硬核实战:Spring AI + Ollama 从零搭建私有化多角色 AI 助手|RAG 知识库 + MCP 控制台全实现

本地部署无云依赖|手搓 Redis 对话记忆|Milvus 向量库|Java 全栈 AI 项目一站式落地教程

@

一、前言

随着大模型技术日益普及,私有化、安全可控、不依赖云 API的 AI 解决方案越来越受企业与开发者青睐。本文基于 Spring Boot 4 + Spring AI 2.0 + Ollama + Milvus + Redis,从 0 到 1 手把手搭建一套企业级本地私有化 AI 助手,包含多角色对话、Redis 持久化记忆、RAG 知识库、标准 MCP 协议服务 + 可视化控制台,全程可直接复刻运行,适合学习、毕设、求职、实战落地。

🎬 项目效果总览(先看效果再上手)



二、项目亮点

✅ 100% 本地私有化部署,不上云、无外网依赖、数据安全可控

✅ 多角色 AI 强隔离,4 种角色独立记忆,彻底解决串话问题

✅ 手搓 Redis 对话记忆,弥补 Spring AI 官方 ChatMemory 缺陷

✅ RAG 知识库全链路落地:PDF/Word/TXT 上传→解析→向量化→检索→问答

✅ 标准 MCP 协议服务端:SSE 连接 + 工具发现 + 工具调用完整实现

✅ 现代化 MCP 控制台:状态联动、日志可视化、交互流畅

✅ 5 套前端页面直接访问,原生 HTML 无需框架

✅ 流式 SSE 输出,打字机效果拉满

✅ 零基础可跑通,一步一步环境搭建 + 配置 + 启动

三、技术栈

后端:Spring Boot 4.0.5 + Spring AI 2.0.0-M4 + Maven

AI 引擎:Ollama、qwen2.5:7b-instruct、nomic-embed-text

存储:Redis(对话记忆)、Milvus(向量数据库)、MySQL(可选)

文档解析:Apache Tika(PDF/Word/TXT)

前端:原生 HTML/CSS/JS

协议:标准 MCP(Model Control Protocol)

四、环境准备(一步一步搭建)

  1. 基础环境
    JDK 17+
    Maven 3.8+
    Docker(用于快速启动 Milvus)
  2. 安装并启动 Ollama
    bash
    运行

官网下载安装:https://ollama.com/

拉取模型

ollama pull qwen2.5:7b-instruct

ollama pull nomic-embed-text

启动服务

ollama serve

  1. 启动 Redis

bash

运行

macOS

brew install redis

redis-server

Docker 方式

docker run -d --name redis -p 6379:6379 redis:latest

  1. 启动 Milvus 向量数据库(RAG 必需)

bash

运行

项目自带 docker-compose.yml

docker compose -f src/main/resources/docker-compose.yml up -d

健康检查

curl http://localhost:9091/healthz

五、项目克隆与配置

  1. 克隆源码
    bash
    运行
    git clone https://gitee.com/hao_loves_dogs_and_cats/spring-ai-ollama-demo.git
    cd spring-ai-ollama-demo
  2. application.yml 核心配置
    yaml
    spring:
    ai:
    ollama:
    base-url: http://localhost:11434
    chat:
    model: qwen2.5:7b-instruct
    temperature: 0.7
    embedding:
    model: nomic-embed-text
    data:
    redis:
    host: localhost
    port: 6379
    vectorstore:
    milvus:
    client:
    uri: http://localhost:19530
    username: root
    password: milvus
    embeddingDimension: 768
  3. 启动项目
    运行主类:SpringAiOllamaDemoApplication.java
    六、可直接访问页面
    多角色聊天界面:http://localhost:8080/chat.html
    RAG 知识库界面:http://localhost:8080/rag-chat.html
    AI 功能中枢:http://localhost:8080/ai-hub.html
    MCP 标准控制台:http://localhost:8080/mcp-console.html
    🖼️ 页面效果展示



七、核心功能实现详解

  1. 多角色对话系统

    内置 4 大独立 AI 角色,记忆完全隔离:

    通用 AI 助手

    女友小杜

    Java 技术顾问

    婚礼顾问

    🖼️ 多角色对话效果

    【此处插入多角色切换对话截图】(展示不同角色的对话风格、记忆不串话、流式输出效果)

  2. 手搓 Redis 对话记忆(核心亮点)

    java

    运行

    // 保存对话

    redisTemplate.opsForList().leftPush(key, userMsg);

    redisTemplate.opsForList().leftPush(key, aiMsg);

    // 限制上下文长度

    redisTemplate.opsForList().trim(key, 0, 19);

    🖼️ Redis 存储结构展示

  3. RAG 检索增强生成全流程

    文档上传(PDF/Word/TXT)

    Apache Tika 解析文本

    文本分块 + Embedding 向量化

    Milvus 向量存储

    用户提问 → 相似度检索

    基于知识生成精准回答

    🖼️ RAG 知识库效果

  4. MCP 协议服务 + 控制台

    SSE 长连接:/mcp/sse

    工具列表:/mcp/tools/list

    工具调用:/mcp/tools/call

    控制台状态联动、断开自动清空工具列表

    🖼️ MCP 控制台效果


八、项目结构

plaintext

src/main/java/com/ai/

├── config/ Milvus配置

├── controller/

│ ├── AiChatController.java

│ ├── AiMemoryRedisController.java

│ ├── RagController.java

│ └── McpController.java

├── service/

│ ├── DocumentParserService.java

│ └── KnowledgeBaseService.java

├── util/

│ └── RedisChatMemoryStore.java

└── SpringAiOllamaDemoApplication.java

🖼️ IDEA 项目结构截图

九、实战踩坑与解决方案

Spring AI 不支持多角色 → 手写 Redis 记忆隔离

RAG 向量维度不匹配 → 统一设置 768 维

Milvus 启动慢 → 延长连接超时时间

MCP 状态不同步 → 断开自动清空工具

角色串话 → 按角色前缀做 Key 隔离

十、后续迭代规划

AI Agent 自动化任务执行

多路召回 + Rerank 重排序

知识图谱集成

Docker Compose 一键部署

灵码生态深度集成

十一、总结

本项目是一套真正可落地、可演示、可扩展的 Java 全栈私有化 AI 项目,涵盖 Spring AI + Ollama + RAG + Milvus + Redis + MCP 全生态技术栈,适合私有化知识库、智能助手、毕设、求职项目、企业内部平台搭建。

十二、源码地址

https://gitee.com/hao_loves_dogs_and_cats/spring-ai-ollama-demo

📌 本文标签

Spring AI Ollama RAG Milvus MCP协议 私有化大模型 本地大模型 Java AI实战 多角色AI Redis对话记忆 SpringBoot AI 向量数据库 检索增强生成 全栈AI项目

相关推荐
永霖光电_UVLED2 小时前
纳米级精度可视化微生物与衰老大脑细胞之间的相互作用
大数据·人工智能·物联网·汽车·娱乐
北京耐用通信2 小时前
自动化行业异构集成实践:耐达讯自动化实现CAN转EtherCAT高效互操作
人工智能·科技·网络协议·自动化·信息与通信
李少兄2 小时前
Windows 安装 Maven 详细教程(含镜像与本地仓库配置)
java·windows·maven
weixin_549808362 小时前
从“工具辅助”到“智能自主”:易薪路(eRoad) AI 招聘系统的范式革命与实战重构
大数据·人工智能·重构
电商API&Tina2 小时前
淘宝 / 京东关键词搜索 API 接入与实战用途教程|从 0 到 1 搭建电商选品 / 比价 / 爬虫替代系统
java·开发语言·数据库·c++·python·spring
VelinX2 小时前
【个人学习||spring】
java·学习·spring
阿杰学AI2 小时前
AI核心知识117—大语言模型之 智能体工作流 (简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·智能体·智能体工作流
愚公搬代码2 小时前
【愚公系列】《剪映+DeepSeek+即梦:短视频制作》待定
人工智能·音视频
永霖光电_UVLED2 小时前
SK海力士新厂M15X即将拓展最先进动态随机存取存储器(DRAM)的量产规模。
人工智能·生成对抗网络·汽车·制造·激光