AI-agenten · Les

Instructor / Outlines voor gegarandeerde structuur

Instructor (Python) en Outlines beperken het decoderen, zodat het model letterlijk geen ongeldige JSON kan produceren.

Les 4 van 414 stappen

Instructor / Outlines voor gegarandeerde structuur is een gratis AI-agenten-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AI-agenten. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI-agenten bevat in totaal 4 lessen.

Delen van deze les zijn nog niet vertaald en worden in het Engels weergegeven.

Twee belangrijke bibliotheken

Twee toonaangevende benaderingen voor gegarandeerde gestructureerde uitvoer:

  • Instructor (Jason Liu) — Pydantic-omhulsel voor OpenAI, Anthropic en veel andere aanbieders
  • Outlines (.txt) — beperkte decodering voor OSS-modellen

Instructor Basics

# pip install instructor openai
import instructor
from openai import OpenAI
from pydantic import BaseModel

client = instructor.from_openai(OpenAI())

class User(BaseModel):
    name: str
    age: int

user = client.chat.completions.create(
    model='gpt-4o-mini',
    response_model=User,
    messages=[{'role': 'user', 'content': 'Alice, 30'}]
)
print(user.name, user.age)

De magie van Instructor

Achter de schermen doet Instructor het volgende:

  1. Genereert een JSON Schema uit je Pydantic-model
  2. Voegt dit als tool toe aan de OpenAI-aanroep
  3. Dwingt af dat die tool wordt aangeroepen
  4. Ontleedt de argumenten en geeft een Pydantic-instantie terug
  5. Probeert het opnieuw met reparatie bij validatiefouten

Instructor with Validation

from pydantic import field_validator

class User(BaseModel):
    name: str
    age: int

    @field_validator('age')
    @classmethod
    def positive(cls, v):
        if v <= 0:
            raise ValueError('Age must be positive')
        return v

# Instructor catches ValidationError and retries automatically

Streaming Instructor

for partial in client.chat.completions.create_partial(
    model='gpt-4o-mini',
    response_model=User,
    messages=[{'role': 'user', 'content': 'Alice, 30'}]
):
    print(partial)
# Streams partial Pydantic instances as fields fill in.

Instructor with Anthropic

from anthropic import Anthropic
client = instructor.from_anthropic(Anthropic())

user = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    response_model=User,
    messages=[{'role': 'user', 'content': 'Alice, 30'}]
)

Outlines voor OSS-modellen

Outlines gebruikt decodering die door een grammatica wordt beperkt. Het werkt met HuggingFace, vLLM en llama.cpp:

# pip install outlines
import outlines

model = outlines.models.transformers('mistralai/Mistral-7B-Instruct-v0.2')

generator = outlines.generate.json(model, User)
user = generator('Alice, 30')

Waarom beperkte decodering?

Outlines bepaalt welke tokens bij elke stap zijn toegestaan volgens het schema en maskeert ongeldige tokens. Het model kan letterlijk geen ongeldige JSON genereren.

Regex of keuze met Outlines

Je kunt de uitvoer beperken tot een regex of een lijst met keuzes:

import outlines.text.generate as g
yes_no = g.choice(model, ['yes', 'no'])
result = yes_no('Are bananas fruits?')   # 'yes'

Beide combineren

Voor maximale betrouwbaarheid:

  1. Gebruik Instructor voor beheerde of gesloten modellen (OpenAI, Anthropic)
  2. Gebruik Outlines voor zelfgehoste modellen
  3. De Pydantic-modellen worden door beide gedeeld

Kostenvergelijking

  • Strict Outputs (native OpenAI) — inbegrepen in de prijs
  • Instructor — beperkte extra kosten door nieuwe pogingen na validatie
  • Outlines — iets lagere verwerkingssnelheid door het maskeren, maar geen extra aanroepen

Wanneer gebruik je welke?

GebruikssituatieTool
OpenAI/AnthropicInstructor + Pydantic
Zelfgehoste OSSOutlines
Kritieke latentieOpenAI Structured Outputs (native)

De aanpak van Outlines

Hoe garandeert Outlines gestructureerde uitvoer?

Samenvatting

Gebruik voor OpenAI en Anthropic native Structured Outputs of Instructor. Gebruik voor OSS Outlines. Pydantic-modellen brengen alles samen.

Gratis beginnen

Leer AI-agenten met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
60
Lessen
239

Veelgestelde vragen

Is de les “Instructor / Outlines voor gegarandeerde structuur” gratis?

Ja — de volledige tekst van “Instructor / Outlines voor gegarandeerde structuur” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus AI-agenten wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI-agenten bevat in totaal 4 lessen.

Wat leer ik in “Instructor / Outlines voor gegarandeerde structuur”?

Instructor (Python) en Outlines beperken het decoderen, zodat het model letterlijk geen ongeldige JSON kan produceren. Je oefent met AI-agenten door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met AI-agenten te beginnen?

Ervaring vooraf is niet nodig. AI-agenten op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Instructor / Outlines voor gegarandeerde structuur”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over AI-agenten?

Ja. Elke les over AI-agenten bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. JSON-modus en tool-call-uitvoer
  2. Pydantic-schemavalidatie
  3. Herstellussen voor ongeldige uitvoer
  4. Instructor / Outlines voor gegarandeerde structuur
← Terug naar AI-agenten