Structured outputs é uma função das APIs de IA que obriga um LLM a responder com um JSON que segue um esquema que você define: quais campos vão, de que tipo e quais são obrigatórios. O modelo continua escrevendo token a token, mas só pode escrever o que o esquema permite. A forma fica garantida; estar correta, não.
📥Estado e perguntas→📦Um só pedido→🏷️Valores e probabilidades
Teste o que aprendeu
Uma pergunta do app. Escolha uma resposta.
O Jev é um modelo de IA que não escreve: escolhe uma opção ou dá uma nota, com probabilidades.
O Jev sempre responde com o tipo que você pediu. Então sempre acerta?
O garantido é o formato: escolhe uma opção válida. Ser a certa é outra coisa.
Por isso traz sua probabilidade: com pouca certeza, seu código pode pedir ajuda a uma pessoa ou a um LLM.
Muita confiança não garante o acerto. Uma probabilidade não é uma promessa.
Se o seu esquema pede um campo "area" que seja vendas, suporte ou faturamento, no modo estrito o LLM devolve um dos três, nunca "Vendas!!" nem um parágrafo. Mesmo assim é preciso tratar os casos em que o modelo se recusa ou a resposta é cortada. E ter escolhido a área certa é outra coisa: isso se comprova testando com casos reais.
Não é o mesmo que o modo JSON
Na API da OpenAI, o modo JSON só garante que a resposta seja um JSON válido, de qualquer forma. Structured outputs garante também que siga o seu esquema. Outros provedores têm algo parecido com outros nomes e regras: confira a documentação do que você usa.
Structured outputs ou um modelo que decide
Serve quando a resposta tem vários campos ou texto livre: extrair os dados de uma nota fiscal, ou uma classificação com uma explicação ao lado. Se você só precisa escolher entre opções fixas ou um sim ou não, um modelo que decide, como a Decisions API ou o Jev, devolve também a probabilidade de cada opção. Para essas respostas, a OpenAI recomenda a sua Decisions API.