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);
     }

    }

相关推荐
程序员良许11 分钟前
三极管推挽输出电路分析
后端·嵌入式
Java水解17 分钟前
【JAVA 进阶】Spring AOP核心原理:JDK与CGLib动态代理实战解析
后端·spring
我是咸鱼不闲呀18 分钟前
力扣Hot100系列19(Java)——[动态规划]总结(上)(爬楼梯,杨辉三角,打家劫舍,完全平方数,零钱兑换)
java·leetcode·动态规划
Java水解22 分钟前
Spring Boot 4 升级指南:告别RestTemplate,拥抱现代HTTP客户端
spring boot·后端
宫水三叶的刷题日记25 分钟前
工商银行今年的年终奖。。
后端
大黄评测29 分钟前
双库协同,各取所长:.NET Core 中 PostgreSQL 与 SQLite 的优雅融合实战
后端
神云瑟瑟29 分钟前
spring boot拦截器获取requestBody的最佳实践
spring boot·拦截器·requestbody
Java编程爱好者30 分钟前
Java 后端定时任务怎么选:@Scheduled、Quartz 还是 XXL-Job?
后端
Java编程爱好者30 分钟前
线程池用完不Shutdown,CPU和内存都快哭了
后端
加油,小猿猿1 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库