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的依赖包
xml 复制代码
<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文件,配置如下

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模型进行对话

java 复制代码
@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);
    }
}

测试效果如下

json 复制代码
GET http://localhost:8080/chat/你好呀

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

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

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

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

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

Hello or Hey

结束

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

相关推荐
YDS8294 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
Agent手记6 小时前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
彦为君8 小时前
Agent 安全:从权限提示到沙箱隔离
python·ai·ai编程
武子康10 小时前
调查研究-138 全球机器人产业深度调研报告【01 篇】:市场规模、竞争格局与商业化成熟 2026
服务器·数据库·ai·chatgpt·机器人·具身智能
创世宇图10 小时前
【AI入门知识点】LLM 原理是什么?为什么 ChatGPT 看起来像“会思考”?
人工智能·ai·llm·token
码途漫谈10 小时前
让 AI 编程不断线:9Router 的本地模型路由与 Token 节流术
人工智能·ai·开源·ai编程
周杰伦的稻香10 小时前
Ollama访问限制
nginx·ai
Elastic 中国社区官方博客11 小时前
快 12 倍的 Elasticsearch 向量索引:使用 GPU 和 CPU 分层部署 NVIDIA cuVS
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·nvidia
绝知此事11 小时前
2026 AI 技术生态全景指南:从 LLM 到 Agent,从 MCP 到 A2A
人工智能·ai·ai编程
Canicer12 小时前
【国内安装 Claude Code CLI版本纯净完整指南】
ai·agent·claude code