Spring AI + Ollama 实现调用DeepSeek-R1模型API

一、前言

随着人工智能技术的飞速发展,大语言模型(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. 依赖引入

java 复制代码
  <dependency>
       <groupId>org.springframework.ai</groupId>
       <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
       <version>1.0.0-M6</version>
  </dependency>

2. 添加配置

java 复制代码
spring.ai.ollama.base-url=http://localhost:11434

spring.ai.ollama.chat.model=deepseek-r1:14b

3. 调用模型测试

java 复制代码
@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. 测试结果

java 复制代码
Hello! How can I assist you today?

5. 在测试一个问题

java 复制代码
@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,并享受其带来的高效和安全性。

相关推荐
每天学习一丢丢几秒前
Spring Boot + Vue 项目用宝塔面板部署指南
vue.js·spring boot·后端
大唐荣华13 分钟前
视觉语言模型(VLA)分类方法体系
人工智能·分类·机器人·具身智能
即兴小索奇14 分钟前
AI应用商业化加速落地 2025智能体爆发与端侧创新成增长引擎
人工智能·搜索引擎·ai·商业·ai商业洞察·即兴小索奇
NeilNiu27 分钟前
开源AI工具Midscene.js
javascript·人工智能·开源
黑客影儿42 分钟前
Java技术总监的成长之路(技术干货分享)
java·jvm·后端·程序人生·spring·tomcat·maven
nju_spy1 小时前
机器学习 - Kaggle项目实践(4)Toxic Comment Classification Challenge 垃圾评论分类问题
人工智能·深度学习·自然语言处理·tf-idf·南京大学·glove词嵌入·双头gru
计算机sci论文精选1 小时前
CVPR 2025 | 具身智能 | HOLODECK:一句话召唤3D世界,智能体的“元宇宙练功房”来了
人工智能·深度学习·机器学习·计算机视觉·机器人·cvpr·具身智能
ezl1fe1 小时前
RAG 每日一技(十八):手写SQL-RAG太累?LangChain的SQL智能体(Agent)前来救驾!
数据库·人工智能·后端
我星期八休息1 小时前
大模型 + 垂直场景:搜索/推荐/营销/客服领域开发新范式与技术实践
大数据·人工智能·python
飞哥数智坊1 小时前
等了这么久,企业微信的AI终于来了!
人工智能