Springboot调用Ollama本地大模式

安装Ollama

  1. 下载Ollama
    在 https://ollama.com/download 下载Windows版本

  2. 安装到指定目录
    打开一个cmd窗口,执行

    OllamaSetup.exe /DIR=D:\software\Ollama

  3. 设置环境变量,下载的模型保存到指定目录
    在Windows系统设置中设置环境变量 OLLAMA_MODELS: D:\software\Ollama\models

  4. 常用命令行

    #先启动Ollama,再检测端口
    netstat -ano | findstr 11434

    #查看版本
    ollama --version

    #查看本地已下载的大模型
    ollama list

    #运行指定大模型
    ollama run qwen3:1.7b

    #查看运行中的大模型
    ollama ps

    #运行中的大模型会话窗口退出
    /bye


创建Spring boot项目

  1. 在start.spring.io 页面创建一个项目,在 pom.xml 中引自spring AI的依赖

    复制代码
         <dependency>
             <groupId>org.springframework.ai</groupId>
             <artifactId>spring-ai-starter-model-ollama</artifactId>
             <version>1.0.0</version>
         </dependency>
  2. 在application.properties 中加入配置项

    server.port=8082

    server.servlet.encoding.enabled=true
    server.servlet.encoding.charset=UTF-8
    server.servlet.encoding.force=true

    spring.application.name=ollama-demo

    spring.ai.ollama.base-url=https://localhost:11434
    spring.ai.ollama.chat.model=qwen2.5:latest

  3. 在Controller 文件中引入ChatModel

    @RestController
    public class OllamaController {
    @Resource(name = "ollamaChatModel")
    private ChatModel chatModel;

    复制代码
     @GetMapping("ollama/chat")
     public String chat(@RequestParam("msg") String msg) {
         String result = chatModel.call(msg);
         return result;
     }
    
     /**
      * 响应式返回结果
      * @param msg
      * @return
      */
     @GetMapping("/stream/chat")
     public Flux<String> streamChat(@RequestParam("msg") String msg) {
         return chatModel.stream(msg);
     }

    }

相关推荐
zzu123zsw1 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号2 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
努力的小雨2 小时前
给 AI 眼镜开发应用有多难?我从零做了一个陪练,还上架了
后端
论文复现现场2 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
啃瓜子的松鼠2 小时前
泛微OAe9-后端二开异步调用
java
秋天的怀念_David3 小时前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法
excel3 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端
外收内放3 小时前
Python基础语法练习题(73)
java·前端·python
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 环信后台发送消息测试
java·交友
用户3721574261354 小时前
Java 操作 Word 脚注和尾注:添加、读取与删除
java