在这里插入图片描述

介绍


Ollama 是一个用于本地化部署和管理大型语言模型 (LLM) 的工具。它支持多种开源模型 (如LLaMA、Alpaca 等),并提供了简单的 API 接口,方便开发者调用。

核心功能


  • 模型部署简化: Ollama的目标在于简化在Docker容器中部署大型语言模型的过程,使得非专业用户也能方便地管理和运行这些复杂的模型。用户可以通过简单的命令行指令,快速拉取、管理和运行大模型。
  • 轻量级与可扩展: 作为轻量级框架,Ollama保持了较小的资源占用,同时具备良好的可扩展性,允许用户根据需要调整配置以适应不同规模的项目和硬件条件。
  • API支持: 提供了一个简洁的API,使得开发者能够轻松创建、运行和管理大型语言模型实例,降低了与模型交互的技术门槛。通过API,用户可以方便地与第三方应用 (如ChatGPT客户端、自动化脚本)集成。
  • 预构建模型库: 包含一系列预先训练好的大型语言模型,用户可以直接选用这些模型应用于自己的应用程序,无需从头训练或自行寻找模型源。
  • 多种访问方式: 支持命令行 (CLI)、HTTP接口访问推理服务,方便用户根据需求选择合适的访问方式。

安装


1. 官网下载

下载地址:Ollama下载

2. 自定义Ollama安装目录

在OllamaSetup.exe目录下cmd执行 OllamaSetup.exe /DIR=D:\Program\Ollama

3. 配置环境变量

在环境变量中配置用于存放大模型的地址

在这里插入图片描述

4. 查看Ollama版本

cmd执行 ollama --version

5. Ollama默认端口11434

http://localhost:11434

拉取/启动大模型


Ollama大模型仓库

拉取/启动deepseek-r1:1.5b命令:ollama run deepseek-r1:1.5b

在这里插入图片描述
在这里插入图片描述

Spring AI集成Ollama


1. 引入依赖

<dependencies>
    <!-- ollama -->
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
        <version>1.0.0-M5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

2. yml配置

server:
  port: 8001

spring:
  application:
    name: spring-ai-deepseek
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        options:
          model: deepseek-r1:1.5b
          # temperature参数用于控制生成文本的多样性
          #值越高‌,生成的文本越多样化,但也可能包含更多的随机性和不可预测的内容
          #值越低‌,生成的文本越接近于确定性的结果,即生成的文本会更加一致和可预测
          temperature: 0.7

3. 主启动类

@SpringBootApplication
public class OllamaMain {
    
    public static void main(String[] args) {
        SpringApplication.run(OllamaMain.class, args);
    }
}

4. 控制类 OllamaController

@RestController
public class OllamaController {

    @Autowired
    private OllamaChatModel ollamaChatModel;

    //非流式响应
    @GetMapping("/chatCall")
    public String chatCall(@RequestParam("msg") String msg) {
        return ollamaChatModel.call(msg);
    }

    //流式响应,指定编码方式,避免乱码
    @GetMapping(value = "/chatStream", produces = "text/html;charset=UTF-8")
    public Flux<String> chatStream(@RequestParam("msg") String msg) {
        return ollamaChatModel.stream(msg);
    }
}

5. 测试结果

在这里插入图片描述

总结


以上主要介绍了 Ollama 安装、Spring AI 集成 Ollama 的相关知识,想了解更多 Ollama 和 Spring AI 知识的小伙伴请参考 Ollama 官网Spring AI 官网 进行学习,学习更多 Spring AI 实战实用技巧的小伙伴,请关注后期发布的文章,认真看完一定能让你有所收获。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐