AI项目博客
记录 AI 工程实践与大模型应用

Spring AI Alibaba 31|Structured Output 结构化输出 · 错误处理

模型可能不总是返回格式完美的 JSON。以下是处理潜在问题的策略:

Try-Catch 模式

ReactAgent agent = ReactAgent.builder()
  .name("data_extractor")
  .model(chatModel)
  .outputType(DataOutput.class)
  .build();

try {
  AssistantMessage result = agent.call("提取数据");
  ObjectMapper mapper = new ObjectMapper();
  DataOutput data = mapper.readValue(result.getText(), DataOutput.class);
  // 处理数据
} catch (JsonProcessingException e) {
  System.err.println("JSON解析失败: " + e.getMessage());
  System.err.println("原始输出: " + result.getText());
  // 回退处理
}

验证模式

public class ValidatedOutput {
  private String title;
  private Integer rating;

  public void validate() throws IllegalArgumentException {
      if (title == null || title.isEmpty()) {
          throw new IllegalArgumentException("标题不能为空");
      }
      if (rating != null && (rating < 1 || rating > 5)) {
          throw new IllegalArgumentException("评分必须在1-5之间");
      }
  }

  // Getter 和 Setter 方法...
}

AssistantMessage result = agent.call("生成评价");
ValidatedOutput output = mapper.readValue(result.getText(), ValidatedOutput.class);
output.validate();  // 如果无效则抛出异常

重试模式

int maxRetries = 3;
DataOutput data = null;

for (int i = 0; i < maxRetries; i++) {
  try {
      AssistantMessage result = agent.call("提取数据");
      data = mapper.readValue(result.getText(), DataOutput.class);
      break;  // 成功
  } catch (Exception e) {
      if (i == maxRetries - 1) {
          throw new RuntimeException("多次尝试后仍然失败", e);
      }
      System.out.println("第" + (i + 1) + "次尝试失败,重试中...");
  }
}

Spring AI Alibaba 专注于简单性和灵活性,允许开发者在显式 schema 字符串(最大控制)和 Java 类(类型安全)之间进行选择。

  • Agents – 了解 ReactAgent 功能
  • Models – 支持的聊天模型
  • Messages – 消息类型和处理

本文整理自 Spring AI Alibaba 官方文档《Structured Output 结构化输出》:https://java2ai.com/docs/frameworks/agent-framework/tutorials/structured-output

赞(0)
未经允许不得转载:AI项目博客 » Spring AI Alibaba 31|Structured Output 结构化输出 · 错误处理

评论 抢沙发

AI项目博客

专注 AI 工程化落地 —— 覆盖智能体、大模型、Java AI 与 Python 的学习笔记,以及 AI 平台的项目实战记录。

关于本站文章归档

登录

找回密码

注册