A OpenAI lançou um novo recurso empolgante: Saídas Estruturadas (Structured Outputs), projetadas para garantir que a saída gerada pelo modelo siga rigorosamente o esquema JSON fornecido pelo desenvolvedor.
No DevDay do ano passado, a OpenAI apresentou pela primeira vez o esquema JSON, fornecendo uma base importante para os desenvolvedores criarem aplicativos confiáveis. Embora o esquema JSON tenha melhorado a confiabilidade da geração de saídas JSON válidas pelo modelo, ele não garantia que a resposta do modelo estivesse de acordo com um esquema específico. O recurso de Saídas Estruturadas de hoje foi criado para resolver exatamente esse problema.
Com a ampla adoção da IA em aplicativos, a geração de dados estruturados a partir de entradas não estruturadas tornou-se um caso de uso central. Os desenvolvedores usam a API da OpenAI para construir assistentes poderosos que podem obter dados por meio de chamadas de função, responder a perguntas e extrair dados estruturados para entrada de dados. Anteriormente, os desenvolvedores frequentemente precisavam usar ferramentas de código aberto, solicitações repetidas e outras abordagens para garantir que a saída do modelo correspondesse ao formato necessário pelo sistema. Agora, o recurso de Saídas Estruturadas aumenta significativamente a confiabilidade da saída, restringindo o modelo OpenAI para corresponder ao esquema fornecido pelo desenvolvedor.
Saídas Estruturadas com Esquema JSON Complexo obtêm pontuação 100%
Vale destacar que, na avaliação de esquemas JSON complexos, o novo modelo gpt-4o-2024-08-06 obteve uma pontuação perfeita de 100% em Saídas Estruturadas, enquanto o gpt-4-0613 anterior obteve menos de 40%. Isso significa que o novo modelo tem um desempenho muito melhor na geração de saídas que correspondem a um esquema específico.
Como usar Saídas Estruturadas
Usar Saídas Estruturadas é muito simples. A OpenAI introduziu duas formas na API: chamadas de função por meio de ferramentas e uma nova opção de formato de resposta. Os desenvolvedores podem fornecer um esquema JSON usando o parâmetro json_schema
. Quando o modo estrito está ativado, a saída do modelo corresponderá estritamente ao esquema fornecido.
1. Chamadas de função: Definindo strict: true
na definição da função, você pode obter Saídas Estruturadas por meio de tools
. Este recurso funciona com todos os modelos que suportam ferramentas, incluindo todos os modelos gpt-4-0613
e gpt-3.5-turbo-0613
e versões posteriores. Quando as Saídas Estruturadas estão ativadas, a saída do modelo corresponderá à definição da ferramenta fornecida.
2. response_format
nova opção de parâmetro: Os desenvolvedores agora podem fornecer um esquema JSON usando json_schema
, uma nova opção para o parâmetro response_format
. Isso é útil quando o modelo não está chamando ferramentas, mas respondendo ao usuário de forma estruturada. Este recurso funciona com nossos modelos GPT-4o mais recentes: gpt-4o-2024-08-06
e gpt-4o-mini-2024-07-18
lançados hoje. Quando response_format
é fornecido com strict: true
, a saída do modelo corresponderá ao esquema fornecido.
A segurança é uma prioridade máxima na OpenAI, e o novo recurso funcionará sob as políticas de segurança existentes. O modelo ainda pode rejeitar solicitações inseguras. Além disso, para simplificar o processo de desenvolvimento, adicionamos um novo valor de string de rejeição para ajudar os desenvolvedores a detectar programaticamente se o modelo gerou uma mensagem de rejeição.
Suporte nativo do SDK
Os SDKs Python e Node da OpenAI também foram atualizados para oferecer suporte nativo ao recurso de Saídas Estruturadas. Os desenvolvedores precisam apenas fornecer um objeto Pydantic ou Zod, e os SDKs da OpenAI lidarão automaticamente com a conversão de tipos de dados e a análise da resposta JSON.
O lançamento de hoje mostra como as Saídas Estruturadas facilitarão o trabalho dos desenvolvedores, ajudando-os a criar aplicativos incríveis com mais facilidade.
Blog oficial: https://openai.com/index/introducing-structured-outputs-in-the-api/
Destaques:
🌟 Lançamento do recurso de Saídas Estruturadas, oferecendo maior confiabilidade na saída do modelo e seguindo o esquema JSON fornecido pelo desenvolvedor.
🔍 O novo modelo gpt-4o-2024-08-06 obteve uma pontuação perfeita de 100% na avaliação de esquemas JSON complexos.
🔧 Os SDKs Python e Node foram atualizados para oferecer suporte a Saídas Estruturadas, simplificando o fluxo de trabalho dos desenvolvedores.