深圳Yolo 视觉
深圳
立即加入
词汇表

结构化输出

了解结构化输出如何提供机器可读的 AI 数据。在Ultralytics 通过Ultralytics 探索模式强制执行和视觉任务。

结构化输出是指人工智能领域的一种方法,该方法要求模型的响应必须严格 遵循预定义的数据格式,通常是JSON 模式。 在传统 的大型语言模型(LLMs)中,文本 生成依赖于基于概率的令牌预测,这往往会产生无结构的自由格式文本。通过采用 结构化输出,开发者可以确保AI系统返回机器可读且可预测的数据,从而消除 对脆弱的解析脚本和复杂错误处理的需求。

理解结构化输出与 JSON 模式

虽然生成式 AI的早期版本提供了 基本的“JSON 模式”,但这仅能确保输出是有效的 JSON,却无法保证其中包含所请求的特定键或 数据类型。 结构化输出通过一种称为“约束解码”的技术解决了这一问题。在 生成过程中,推理引擎会在每个步骤过滤 模型的词汇表,屏蔽那些会违反开发者提供的模式的令牌。这确保了100% 的模式合规性。

“函数调用(工具使用)”这一概念与 该方法论密切 相关。虽然函数调用允许模型决定何时执行外部 工具,但它完全依赖于结构化输出,以确保准确地为工具所需的参数赋值,从而避免 产生幻觉。

行业应用与框架

在2024年至2025年间,主要的人工智能服务商将结构化输出作为原生功能,以提升企业系统的 可靠性。 例如, OpenAI的结构化输出API允许 开发者使用Python JavaScript中的Zod来定义严格的模式。同样, Anthropic结构化输出 以及Google 结构化输出工具 现已支持对复杂提示词进行严格的模式强制执行。

开源生态系统还利用vLLM Outlines等框架,为使用 PyTorch构建的自定义模型提供约束解码方法。

实际应用

通过实现结构化输出,可将模棱两可的AI响应转化为可操作的 预测建模数据。主要应用场景 包括:

  • 数据提取管道:企业利用结构化输出,从原始的非结构化文档中提取特定实体(如候选人姓名、发票总额和日期), 并将其直接导入SQL数据库,无需人工录入数据。
  • 自主人工智能代理:代理工作流依赖 结构化数据来处理复杂的软件系统。一个代理可能会分析用户查询,并输出一个严格的 JSON 有效载荷, 以此触发外部 API,并通过Databricks Model Serving 等系统 安全地扩展操作。

计算机视觉中的结构化输出

尽管在自然语言处理领域备受关注,但结构化输出却是 计算机视觉的基础运作原理。 视觉模型不会输出 自由格式的文本;它们原生生成高度结构化的张量,这些张量代表坐标、类别和置信度 分数。例如Ultralytics 等最先进的模型 在分析图像后,会返回严格 格式化的空间数据,这非常适合在低延迟的边缘环境中 无缝部署模型

以下代码片段演示了如何轻松提取结构化 物体检测 使用 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}")

通过弥合概率性人工智能逻辑与确定性软件需求之间的鸿沟,结构化输出 成为在Ultralytics 及更广泛领域构建可扩展、可投入生产系统的 关键组成部分。

让我们一起共建AI的未来!

开启您的机器学习未来之旅