You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring AI ChatClient$Builder空指针异常求助(附代码日志)

Spring AI集成OpenAI的正确实现指导

问题分析

你遇到的NullPointerException核心原因是控制器中的ChatClient.Builder未被Spring容器注入——仅声明了私有变量但未完成初始化,调用build()方法时触发空指针异常。

修复步骤

1. 修复控制器的依赖注入

使用Spring推荐的构造注入或@Autowired注解,让容器自动管理ChatClient.Builder实例:

构造注入实现(推荐)

@RestController
public class AIController {
    
    private final ChatClient.Builder chatClientBuilder;
    
    // 构造方法注入实例
    public AIController(ChatClient.Builder chatClientBuilder) {
        this.chatClientBuilder = chatClientBuilder;
    }
    
    @GetMapping("/spring-ai/prompt")
    public Flux<String> promptResponse(@RequestParam("message") String message) {
        ChatClient chatClient = chatClientBuilder.build();
        return chatClient.prompt(message).stream().content();
    }
}

@Autowired注解实现

@RestController
public class AIController {
    
    @Autowired
    private ChatClient.Builder chatClientBuilder;
    
    @GetMapping("/spring-ai/prompt")
    public Flux<String> promptResponse(@RequestParam("message") String message) {
        ChatClient chatClient = chatClientBuilder.build();
        return chatClient.prompt(message).stream().content();
    }
}

2. 添加API配置

在application.properties或application.yml中配置OpenAI(或DeepSeek)的密钥与模型信息:

application.properties配置示例

# OpenAI配置
spring.ai.openai.api-key=你的OpenAI API密钥
spring.ai.openai.chat.model=gpt-3.5-turbo

# DeepSeek配置(替换OpenAI配置即可)
# spring.ai.openai.base-url=https://api.deepseek.com/v1
# spring.ai.openai.api-key=你的DeepSeek API密钥

application.yml配置示例

spring:
  ai:
    openai:
      # OpenAI配置
      api-key: 你的OpenAI API密钥
      chat:
        model: gpt-3.5-turbo
      # DeepSeek配置(替换上述OpenAI配置)
      # base-url: https://api.deepseek.com/v1
      # api-key: 你的DeepSeek API密钥

3. 依赖版本说明

你当前使用的spring-ai-openai版本为1.0.0-M6里程碑版本,后续可替换为官方发布的稳定版(如1.0.0及以上),里程碑版本可能存在功能变动或潜在bug。

内容的提问来源于stack exchange,提问作者Vineet Tripathi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:58:15