【Spring AI】 1接入 Ollama实践

Spring AI 接入 Ollama 实践学习笔记

  • Ollama 官方文档
  • Spring AI 快速开始
  • Spring AI Ollama 集成文档

1. pom.xml 依赖配置

前置条件: 请确保你已安装好 Java 17+、Maven、Ollama,并已下载好所需大模型。

pom.xml 中添加 Spring AI 及 Ollama 相关依赖:

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
    <groupId>org.springframework.aigroupId>
    <artifactId>spring-ai-starter-model-ollamaartifactId>
dependency>

<dependency>
    <groupId>com.mysqlgroupId>
    <artifactId>mysql-connector-jartifactId>
    <scope>runtimescope>
dependency>
<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-data-jpaartifactId>
dependency>

2. application.yml 基础配置

注意: 你必须在 yml 中指定 Ollama 的 base-url 和模型名称,否则后续无法正常调用。

spring:
  ai:
    ollama:
      base-url: http://localhost:11434 # Ollama 服务地址
      chat:
        options:
          model: deepseek-r1:7b  # 必须指定模型名!
          temperature: 0.7
  datasource:
    url: jdbc:mysql://localhost:3306/yourdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: root
    password: yourpassword
    driver-class-name: com.mysql.cj.jdbc.Driver

ollama的所有配置选项参考文档
https://www.spring-doc.cn/spring-ai/1.0.0/api_chat_ollama-chat.html


3. Ollama 基础模型调用

前置条件: 你已完成 yml 配置,且 Ollama 服务和模型已启动。

// 查看已安装模型  
ollama list 

// 运行指定模型
ollama run 模型名称

最基础的 AI 聊天接口实现:

@Autowired
private OllamaChatModel chatModel;

@GetMapping("/chat/ai/generate")
public RestVO<String> generate(@RequestParam String message) {
   
    return RestVO.success(this.chatModel.call(message));
}

4. 流式对话接口实现

通过 text/event-stream 实现流式输出,提升用户体验:

@GetMapping(value = "/chat/ai/generateStream", produces = "text/event-stream;charset=UTF-8")
public Flux<ChatResponse> generateStream(@RequestParam String message) {
   
    List<Message> messageList = List.of(new UserMessage(message), new SystemMessage("中文回答"));
    Prompt prompt = new Promp

你可能感兴趣的:(springai,java,springai,ollama)