Daily Shaarli

All links of one day in a single page.

August 7, 2024

Introducing Structured Outputs in the API

OpenAI ajoute un nouveau mode à son API qui permet de spécifier un JSON Schema pour assurer à 100% la génération d'un JSON valide.

Ils ne disent pas comment ils font mais il y a de fortes chances qu'ils utilisent une technique similaire à celle de Outlines en transformant le JSON en une machine à état qu'il est facile de suivre à chaque étape.

Concrètement c'est une très bonne nouvelle pour limiter les erreurs de génération structuré !

Bonus dans le SDK TS avec le support des schéma Zod directement:

const MathResponse = z.object({
    steps: z.array(Step),
    final_answer: z.string(),
})
const client = new OpenAI();
const completion = await client.beta.chat.completions.parse({20
    model: 'gpt-4o-2024-08-06',
    messages: [
        {
            "role": "system",
            "content": "You are a helpful math tutor. Only use the schema for math responses.",
        },
        { "role": "user", "content": "solve 8x + 3 = 21" },
    ],
    response_format: zodResponseFormat(MathResponse, 'mathResponse'),
});