Pular para o conteúdo principal
OutputSchema é uma estrutura recursiva tipo JSON-Schema que descreve o que cada node deve retornar. Todo schema exige o campo instructions — é assim que o modelo sabe o que extrair para aquele slot.

Tipos

TipoObrigatórioOpcional
stringinstructionsenum, examples, template, pattern, format
number / integerinstructionsminimum, maximum, exclusiveMinimum, exclusiveMaximum, enum
booleaninstructions
objectinstructions, properties (recursivo)examples, template
arrayinstructions, items (recursivo)minItems, maxItems, examples, template
anyOfinstructions, anyOf (OutputSchema[])
Valores de format suportados para string: date-time, date, time, duration, email, uuid, ipv4, ipv6.

Limites

LimiteValor
Profundidade máxima de aninhamento10
Total máximo de propriedades5.000
Caracteres máximos (nomes + valores enum combinados)120.000
Valores enum máximos somando todas as propriedades1.000

Exemplo — seção objeto

{
  "type": "object",
  "instructions": "Patient vitals",
  "properties": {
    "bloodPressure": {
      "type": "string",
      "instructions": "Systolic/diastolic in mmHg",
      "pattern": "^\\d{2,3}/\\d{2,3}$"
    },
    "heartRate": {
      "type": "integer",
      "instructions": "Beats per minute",
      "minimum": 20,
      "maximum": 300
    }
  }
}

Exemplo — campo opcional / nullable via anyOf

{
  "type": "object",
  "instructions": "Symptoms",
  "properties": {
    "fever": {
      "instructions": "Maximum measured temperature in °C, or null if not reported",
      "anyOf": [
        { "type": "number", "minimum": 30, "maximum": 45 },
        { "type": "null" }
      ]
    }
  }
}

Exemplo — array de itens estruturados

{
  "type": "array",
  "instructions": "List of medications mentioned",
  "items": {
    "type": "object",
    "instructions": "One medication entry",
    "properties": {
      "name": { "type": "string", "instructions": "Generic or brand name" },
      "dose": { "type": "string", "instructions": "Dose with unit, e.g. 500 mg" }
    }
  }
}