A OpenAI lançou recentemente uma nova funcionalidade significativa em resposta à demanda dos usuários: saída estruturada para sua API. Esta funcionalidade visa abordar problemas com grandes modelos de linguagem (LLMs) gerando conteúdo JSON, como alucinações ou análise incompleta.
A nova funcionalidade de saída estruturada garante que a saída gerada pelo modelo corresponda a um esquema JSON especificado. Isso é crucial para manter a consistência entre aplicações e tem sido uma das funcionalidades mais solicitadas pelos desenvolvedores. O CEO da OpenAI, Sam Altman, observou que este lançamento "atende a uma necessidade urgente de muitos usuários".
Pontos-chave sobre a funcionalidade de saída estruturada:
- Disponível para GPT-4o-mini, GPT-4o e suas versões ajustadas
- Compatível com Chat Completions API, Assistant API, Batch API e entradas visuais
- Permite aos desenvolvedores restringir os modelos da OpenAI para corresponder a esquemas de dados
- Melhora a compreensão do modelo de esquemas de dados complexos
- Garante a adesão aos esquemas de dados, evitando chaves ausentes ou valores enum inválidos
- Suporta geração de respostas passo a passo
- Simplifica prompts e fornece declarações claras de rejeição
- Segue as políticas de segurança existentes da OpenAI
A OpenAI afirma que seu mais recente modelo GPT-4o alcançou uma pontuação de avaliação "100% perfeita" para saída estruturada.
A empresa reconhece ter se inspirado em projetos de código aberto como outlines, jsonformer, instructor, guidance e bibliotecas lark.
Embora esta funcionalidade atenda a uma necessidade significativa, alguns desenvolvedores notam potenciais limitações:
- Geração lenta do primeiro token devido à compilação do esquema
- Aceitação limitada de esquemas JSON na API
- Implementação incompleta das mudanças anunciadas no SDK Python
Alguns desenvolvedores sugerem que combinações como Instructor + Pydantic ainda podem ser o método mais simples para alcançar saída estruturada com OpenAI e outras soluções LLM.
No geral, a introdução do suporte nativo à saída estruturada na API da OpenAI representa um passo significativo, embora possa requerer mais refinamento antes da adoção generalizada em ambientes de produção.