当前位置: 首页 > article >正文

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. 依赖引入

在这里插入图片描述

  <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,并享受其带来的高效和安全性。


http://www.kler.cn/a/556743.html

相关文章:

  • 30. 串联所有单词的子串
  • C++ 设计模式-观察者模式
  • 《代码随想录第三十九天》——背包问题二维、背包问题一维、分割等和子集
  • 精准测量PMD:OCI-V光矢量分析系统赋能光纤通信性能优化
  • 基于eBPF的智能诊断平台:实现云原生系统的自愈型运维体系
  • 如何有效利用MYSQL的连接数
  • 如何在WPS打开的word、excel文件中,使用AI?
  • 如何利用 Vue 的生命周期钩子进行初始化和清理操作?
  • DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署
  • AGI觉醒假说的科学反驳:从数学根基到现实约束的深度解析
  • 计算机网络基础杂谈(局域网、ip、子网掩码、网关、DNS)
  • DeepSeek与Grok:AI语言模型的全面对决
  • llama-factory部署微调方法(wsl-Ubuntu Windows)
  • 计算机毕业设计Python考研院校推荐系统 考研分数线预测 考研推荐系统 考研可视化(代码+LW文档+PPT+讲解视频)
  • Linux-CentOS Firewall操作
  • 改进收敛因子和比例权重的灰狼优化算法【期刊论文完美复现】(Matlab代码实现)
  • matlab 海浪模型和舰艇动力学模型
  • 在windows下安装windows+Ubuntu16.04双系统(下)
  • 解决 Ubuntu 中 Docker 安装时“无法找到软件包”错误
  • 人工智能任务23-天文领域的超亮超新星能源机制结合深度神经网络的研究方向