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

SpringAI+Ollama+DeepSeek本地大模型调用

前言

大型语言模型(LLM)在自然语言处理领域取得了突破性进展,但其庞大的计算资源需求和高昂的调用成本,使得许多开发者望而却步。如何高效、便捷地调用大模型,并将其应用于实际场景,成为了亟待解决的问题。

本文将介绍一种创新的解决方案:SpringAI + Ollama + DeepSeek,通过将三者结合,实现本地化部署和调用大模型,为开发者提供更灵活、更经济的LLM应用开发体验。

SpringAI 作为Java生态中强大的AI框架,为开发者提供了便捷的API和丰富的工具集,简化了AI模型的集成和应用开发流程。Ollama 则专注于大模型的本地化部署,通过优化模型结构和推理过程,显著降低了资源消耗,使得在普通计算设备上运行大模型成为可能。而 DeepSeek 作为国产自研的深度学习框架,提供了高效的计算引擎和灵活的模型部署方案,为本地大模型调用提供了强大的底层支持。

本文将详细讲解如何利用 SpringAI 整合 Ollama 和 DeepSeek,实现本地大模型的快速部署和高效调用,并结合实际案例,展示该方案在文本生成、代码补全等场景下的应用潜力

Ollama安装大模型

进入Ollama官网 : https://www.ollama.com/ 找到 download ,根据自己的系统环境下载对应的Ollama安装包,我这里下载的是windows版本
在这里插入图片描述
下载好之后双击安装,安装好之后进入到ollama安装目录,使用命令提示符窗口运行命令下载deepseek模型,模型下载且运行好之后就可以直接对话,如下:
在这里插入图片描述
模型的版本可以在ollama官网下载:https://www.ollama.com/library/deepseek-r1, 根据自己机器配置情况下载合适的版本

SpringAI对话DeepSeek

首先搭建一个SpringBoot工程,导入SpringBoot , SpringMVC,SpringAI的基础依赖包

  • spring-ai-ollama-spring-boot-starter : SpringAI整合了Ollama的依赖包
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.8</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>${spring-ai.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

接着我们配置Ollama的地址和模型名称,创建application.yaml文件,配置如下

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        model: deepseek-r1:7b
  • spring.ai.ollama.base-url: Ollama的API服务地址,因为是本机所有使用localhost

  • spring.ai.ollama.chat.model: 要调用的模型名称,必须是通过ollama run命令运行的模型名称

接着我们编写SpringBoot启动类和Controller进行测试,通过注入:OllamaChatModel 就可以实现和deepseek模型进行对话

@RestController
public class AIController {

    @Resource
    private OllamaChatModel ollamaChatModel;

    @RequestMapping("/chat/{message}")
    public String chat(@PathVariable String message){
        String prompt = "你是一名翻译,将输入的中文翻译成英文";
        //ollamaChatModel.stream()
        return ollamaChatModel.call(prompt+":"+message);
    }
}

测试效果如下

GET http://localhost:8080/chat/你好呀

<think>
好的,我现在需要把用户提供的中文句子“你好呀”翻译成英文。首先,我应该考虑常用的翻译方式。最常见的是“Hello”或者“Hi”,这两个词都可以用来回应“你好”。有时候“Hey”的发音也接近,但更正式一些。

接下来,我要分析用户的使用场景。这里可能是简短的问候,所以直接使用最常用的“Hello”足够了。如果用户希望显得更友好,可以用“Hey”来增加亲切感。不过通常情况下,“Hello”已经足够简洁明了地回应“你好”。

再考虑语法结构,中文中的“你好呀”是主语+宾语的形式,而英文中自然口语化的句子会省略一些字面意义上的变化,所以直接使用“Hello”就可以了。

可能用户希望更正式一点的翻译,所以我会提供两种选项:“Hello”和“Hey”。这样用户可以根据具体的情境选择更适合的表达方式。此外,考虑到用户的输入是纯文本,没有需要额外处理的信息,只需简单地返回这两个英文句子即可。

总结一下,我的翻译过程包括理解原文的语气、选择合适的翻译词以及提供可选的变体选项。确保翻译结果准确且自然,同时覆盖用户可能的不同需求。
</think>

Hello or Hey

结束

本文介绍了如何利用 SpringAI、Ollama 和 DeepSeek 实现本地大模型的调用,为开发者提供了一种高效、低成本的 LLM 应用开发方案。如果你还没有玩过大模型根据该片文章赶紧动起来吧!!!

相关文章:

  • yolov8在昇腾芯片上的测试
  • ESP32-S3-WROOM-1-N16R8 微控制器,搭配 SI4732-A10-GSR 的收音机(源码+PCB+3D模型)
  • libpcap捕捉过滤wifi beacon包解析国标飞行器drone id报文
  • Machine Learning: 十大基本机器学习算法
  • vue3在ts中动态添加DOM(1、使用render函数,2、使用tsx)
  • 【抽奖项目】|第二篇
  • 环境配置 | 5分钟极简Git入门:从零上手版本控制
  • vb编程有哪些相关的IDE开发工具vb.net,Basic语言?
  • JVM常用概念之常量
  • zsh: command not found: adb 报错问题解决
  • mac 苍穹外卖 前端环境配置
  • 电机主备互投功能优化_多台设备均衡运行
  • 梯度下降法及其变体详解
  • 为什么会出现redis数据库?redis是什么?
  • 电力时间同步系统,京准电钟电子助力增效
  • Llama 3.1部署教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • Netty基础—3.基础网络协议二
  • 游戏引擎学习第153天
  • 计算机网络(第二章)
  • 身处AI浪潮:博客价值的新思考与IT从业者的新征程
  • 宣布停火后,印控克什米尔地区再次传出爆炸声
  • 韩国执政党总统候选人更换方案被否决,金文洙候选人资格即刻恢复
  • 邯郸一酒店办婚宴发生火灾,新郎母亲:饭没吃成酒店还要收费
  • 中国词学研究会原会长、华东师大教授马兴荣逝世,享年101岁
  • 蔡达峰:推动食品安全法全面有效实施,为维护人民群众身体健康提供有力法治保障
  • 纪录片《中国》原班人马打造,《船山先生》美学再升级