类型安全 AI 输出

消除提示词工程 (prompt engineering) 技巧。使用行业标准的 JSON Schema 从任何 AI 模型中获取完美格式的 JSON 数据。

使用 AI 构建软件的最大挑战在于不可预测性。要求 AI 提供一个 “JSON 列表”可能会导致代码块、Markdown 表格或带有尾随逗号的文本。结构化输出 (Structured Outputs) 强制 AI 遵守严格的架构 (schema),确保您的代码始终可以解析结果。

“原始” AI 响应的问题

当您要求 AI “返回 5 个城市的列表”时,您可能会得到:

  1. 编号列表。
  2. 项目符号列表。
  3. 一段文字。

在生产应用程序中可靠地解析这些几乎是不可能的。

解决方案:JSON Schema 与结构化输出

ModelRiver 使用行业标准的 JSON Schema 来定义预期输出。当您通过启用结构化输出的 工作流 (Workflow) 发送请求时,ModelRiver 会:

  1. 注入 Schema 指令:自动格式化提示词,准确告诉 AI JSON 的样式。
  2. 验证输出:在 AI 的响应到达您的应用程序之前,根据您的架构 (schema) 对其进行检查。
  3. 自动重试:如果 AI 产生格式错误的 JSON,ModelRiver 可以自动重试或尝试修复格式。

设计稳健的 AI 架构 (Schema)

良好的架构 (schema) 是可靠 AI 功能的基础。

1. 明确类型

不要只使用 string,对于选项有限的字段使用 enum(例如,status: "approved" | "pending" | "rejected")。

2. 使用说明 (Descriptions)

JSON 架构中的每个字段都可以有一个 description。ModelRiver 将这些作为上下文传递给 AI,从而显着提高准确性。

3. 要求基本字段

将关键字段标记为 required,以确保 AI 在不确定的情况下不会跳过它们。

生产应用程序的优势

类型安全(TypeScript/类型化语言)

通过接收有保证的 JSON,您可以使用自动化工具生成 TypeScript 接口,为您提供从 AI 响应到 UI 组件的完整类型安全性。

减少幻觉

通过将输出空间限制在特定的架构 (schema) 内,模型不太可能进入无关的文本或提供不存在的数据。

无缝后端集成

结构化数据可以直接插入数据库、发送到 webhooks 或用于触发逻辑,而无需复杂的正则表达式或二次 “清理” 提示。

如何实现结构化输出

使用 ModelRiver,您无需编写复杂的系统提示词。

  1. 在控制台中通过提供示例 JSON 对象定义结构 (Structure)
  2. 将结构附加到工作流中。
  3. 在代码中调用该工作流

SDK 将返回解析后的 JavaScript 对象,而不是原始字符串。

下一步