":{"code":"","message":"Invalid Token (request id: 20260311200116777426744DRpaL7...
🚨 错误信息
2026-03-11 20:01:58.420 [http-nio-0.0.0.0-8080-exec-1] WARN dev.langchain4j.internal.RetryUtils - Exception was thrown on attempt 2 of 3
dev.ai4j.openai4j.OpenAiHttpException: {"error":{"code":"","message":"Invalid Token (request id: 20260311200116777426744DRpaL785)","type":"rix_api_error"}}
at dev.ai4j.openai4j.Utils.toException(Utils.java:8)
at dev.ai4j.openai4j.SyncRequestExecutor.execute(SyncRequestExecutor.java:28)
at dev.ai4j.openai4j.RequestExecutor.execute(RequestExecutor.java:59)
at dev.langchain4j.model.openai.OpenAiChatModel.lambda$generate$1(OpenAiChatModel.java:250)
at dev.langchain4j.internal.RetryUtils$RetryPolicy.withRetry(RetryUtils.java:192)
🤖 AI解决方案
报错分析报告
1.错误翻译
原文:Invalid Token (request id: 20260311200116777426744DRpaL785)
译文:无效令牌(请求ID:20260311200116777426744DRpaL785)
2. 原因分析
OpenAiChatModel.java:250的generate方法执行中,通过SyncRequestExecutor发送HTTP请求至OpenAI接口时触发令牌验证失败。3. 解决方案
java
import dev.langchain4j.model.openai.OpenAiChatModel;
import static dev.langchain4j.model.openai.OpenAiChatModel.builder;public class OpenAiFixExample {
public static void main(String[] args) {
// 1. 从安全渠道获取有效API密钥(替换环境变量名或配置项)
String validApiKey = System.getenv("OPENAI_VALID_API_KEY");
if (validApiKey == null || validApiKey.isBlank()) {
throw new IllegalStateException("未配置有效的OpenAI API密钥");
}
// 2. 用有效密钥初始化模型
OpenAiChatModel model = builder()
.apiKey(validApiKey) // 注入正确令牌
.modelName("gpt-3.5-turbo") // 按需指定模型
.build();
// 3. 正常调用(示例)
// String response = model.generate("Hello");
}
}
4.️ 预防措施
models/list)验证令牌有效性;推荐用curl或Postman预测试。