Structured Outputs
了解结构化输出如何提供机器可读的 AI 数据。探索模式约束,以及在 Ultralytics Platform 上使用 Ultralytics YOLO26 执行视觉任务的方法。
结构化输出是人工智能中的一种方法,指严格要求模型响应遵循预定义的数据格式,通常为 JSON Schema。在传统的 大型语言模型 (LLMs) 中,文本生成依赖概率式 token 预测,因此经常会产生无结构的自由格式文本。通过使用结构化输出,开发者可以确保 AI 系统返回机器可读且可预测的数据,从而无需使用脆弱的解析脚本和复杂的错误处理。
了解结构化输出与 JSON 模式的区别#
早期版本的 生成式 AI 虽然提供了基本的“JSON 模式”,但这只能确保输出是有效的 JSON,无法保证其中包含所请求的特定键或数据类型。结构化输出通过一种称为受限解码的技术解决了这一问题。在生成过程中,推理引擎 会在每一步筛选模型的词汇表,将可能违反开发者提供的 schema 的 token 屏蔽掉,从而确保 100% 符合 schema。
函数调用 (工具使用) 的概念与这一方法密切相关。函数调用允许模型决定何时执行外部工具,但它完全依赖结构化输出来准确填充工具所需的参数,避免产生幻觉。
行业采用与框架#
在 2024 年至 2025 年期间,主要 AI 提供商将结构化输出作为原生功能,以提高企业系统的可靠性。例如,OpenAI 结构化输出 API 允许开发者使用 Python 中的 Pydantic 或 JavaScript 中的 Zod 定义严格的 schema。同样,Anthropic 的 Claude 结构化输出 和 Google Gemini 结构化输出 工具现在也支持对复杂提示实施严格的 schema 约束。
开源生态也利用 vLLM 和 Outlines 等框架,为使用 PyTorch 构建的自定义模型提供受限解码方法。
实际应用#
实施结构化输出可以将含糊的 AI 响应转化为可操作的预测建模数据。主要应用场景包括:
- 数据提取管道:企业使用结构化输出从原始的非结构化文档中提取特定实体(例如候选人姓名、发票总额和日期),并将其直接导入 SQL 数据库,无需手动录入数据。
- 自主 AI 智能体:智能体工作流依赖结构化数据来操作复杂的软件。智能体可以分析用户查询,并输出严格的 JSON 负载以触发外部 API,再通过 Databricks 模型服务 等系统安全地扩展运营规模。
计算机视觉中的结构化输出#
虽然结构化输出在自然语言处理中受到广泛讨论,但它其实是计算机视觉的基础运行原理。视觉模型不会输出自由格式文本,而是原生生成高度组织化的张量,用于表示坐标、类别和置信度分数。例如,Ultralytics YOLO26 等先进模型会评估图像并返回严格格式化的空间数据,非常适合在低延迟边缘环境中无缝进行模型部署。
以下代码片段演示了如何使用 ultralytics 包轻松提取结构化的目标检测结果:
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference to generate structured visual data
results = model("image.jpg")
# The model strictly outputs structured bounding box objects
for box in results[0].boxes:
print(f"Class ID: {box.cls}, Confidence: {box.conf}, Coordinates: {box.xyxy}")通过弥合概率式 AI 逻辑与确定性软件需求之间的差距,结构化输出成为在 Ultralytics Platform 及其他平台上构建可扩展、可投入生产系统的关键组件。









