Modelgedrag sturen met parameters
U experimenteert met temperature, max_tokens en top_p om te zien hoe deze de stijl, lengte en creativiteit van de uitvoer veranderen, en kiest vervolgens geschikte instellingen voor uw toepassing.
Modelgedrag sturen met parameters is een gratis AI Engineering Academy-les op CoddyKit. Dit is les 3 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 Engineering Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AI Engineering Academy bevat in totaal 4 lessen.
De belangrijkste basisparameters
Een handvol parameters heeft de grootste invloed op je uitvoer: temperature, max_tokens, top_p, frequency_penalty en presence_penalty. Beheers deze vijf en je hebt controle over het model.
Temperature: willekeurigheid regelen
Temperature regelt de willekeur. Rond 0 kiest het model het veiligste woord en blijft het consistent — ideaal voor feiten. Rond 0,7 tot 1,0 wordt het gevarieerder en creatiever. Bekijk de code.
from openai import OpenAI
client = OpenAI()
for temp in [0.0, 0.7, 1.5]:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Name a color.'}],
temperature=temp,
max_tokens=5
)
print(f'Temp {temp}: {response.choices[0].message.content}')
# Temp 0.0: Red (always most common)
# Temp 0.7: Blue (varied but sensible)
# Temp 1.5: Vermillion (surprising choices)max_tokens: de lengte van het antwoord regelen
max_tokens begrenst hoe lang het antwoord kan worden — het is een veiligheidslimiet, geen doel. Bij een te lage waarde worden antwoorden afgebroken; een te hoge waarde verspilt geld en tijd. Voeg wat marge toe en houd finish_reason in de gaten.
# Different max_tokens for different use cases
# Classification: short answer expected
classification_response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Is this positive or negative? "Great product!"'}],
max_tokens=5 # Only need 1-2 words
)
# Detailed analysis: longer output needed
analysis_response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Analyze the pros and cons of microservices.'}],
max_tokens=800 # Need space for detailed explanation
)top_p: nucleus sampling
top_p is een andere knop voor willekeur: er worden alleen tokens gekozen waarvan de gezamenlijke kans top_p bereikt. Tip: stel temperature of top_p in, maar niet beide tegelijk.
# top_p usage example
response_narrow = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Continue: The sky is...'}],
top_p=0.1, # only very likely tokens (conservative, predictable)
temperature=1.0 # keep temperature at 1 when using top_p
)
response_wide = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Continue: The sky is...'}],
top_p=0.95, # most tokens eligible (creative, varied)
temperature=1.0
)Frequency penalty: herhaling verminderen
frequency_penalty ontmoedigt het model om dezelfde woorden te herhalen, in verhouding tot hoe vaak ze voorkomen. Gebruik dit wanneer lange antwoorden repetitief worden — probeer 0,3 tot 0,7.
# Frequency penalty to reduce repetition in long outputs
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{
'role': 'user',
'content': 'Write 5 tips for better sleep.'
}],
max_tokens=300,
frequency_penalty=0.5 # reduces repeating the same words/phrases
)
print(response.choices[0].message.content)Presence penalty: onderwerpdiversiteit stimuleren
presence_penalty stuurt het model richting nieuwe onderwerpen: elk woord dat al eerder is voorgekomen wordt bestraft, zelfs als dat maar één keer was. Ideaal voor brainstormsessies waarin je frisse, gevarieerde ideeën wilt.
# Presence penalty for diverse brainstorming output
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{
'role': 'user',
'content': 'List 10 creative ways to use AI in a small business.'
}],
max_tokens=400,
presence_penalty=0.8 # encourages introducing different topics per item
)
print(response.choices[0].message.content)stop-reeksen: aangepaste stoppunten
De parameter stop bevat tekenreeksen die het genereren stoppen zodra ze verschijnen (en vervolgens worden weggelaten). Stop bij een nieuwe regel om een schoon antwoord van één regel te krijgen. Bekijk de code.
# Use stop sequences to get clean single-line output
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{
'role': 'user',
'content': 'What is the Python keyword for a function definition?\nAnswer:'
}],
max_tokens=20,
stop=['\n', '.'] # stop at newline or period - gets just the keyword
)
print(repr(response.choices[0].message.content)) # 'def'seed: reproduceerbare uitvoer
De parameter seed maakt uitvoer reproduceerbaar: dezelfde seed plus temperature 0 levert hetzelfde antwoord op. Ideaal voor tests — houd wel system_fingerprint in de gaten voor wijzigingen in de backend.
# Reproducible output with seed parameter
response1 = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Pick a random number from 1 to 10.'}],
temperature=0,
seed=42
)
response2 = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'Pick a random number from 1 to 10.'}],
temperature=0,
seed=42
)
print(response1.choices[0].message.content) # same
print(response2.choices[0].message.content) # same
print('Fingerprint:', response1.system_fingerprint)Parameters kiezen voor veelvoorkomende toepassingen
Vermijd giswerk met snelle voorinstellingen: temperature 0 voor classificatie, 0,2 voor feitelijke vraag-en-antwoordsessies en 0,8 tot 1,0 voor creatief schrijven. Begin hiermee en pas het daarna aan je taak aan. Bekijk de code.
# Parameter presets for different task types
PRESETS = {
'classify': {'temperature': 0, 'max_tokens': 20},
'factual_qa': {'temperature': 0.2, 'max_tokens': 400},
'creative': {'temperature': 0.9, 'max_tokens': 1000, 'frequency_penalty': 0.3},
'code': {'temperature': 0.1, 'max_tokens': 2000},
'summary': {'temperature': 0.3, 'max_tokens': 300, 'frequency_penalty': 0.2},
}
def complete(prompt, task_type='factual_qa', **overrides):
params = {**PRESETS[task_type], **overrides}
return client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
**params
)Logprobs: modelzekerheid begrijpen
logprobs retourneert hoe zeker het model was van elk token, plus de alternatieven die het heeft overwogen. Lage zekerheid bij een feit is een waarschuwing voor hallucinaties — nuttig voor veiligere systemen.
import math
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': 'The capital of France is?'}],
max_tokens=3,
logprobs=True,
top_logprobs=3 # show top 3 alternative tokens at each position
)
for token_log in response.choices[0].logprobs.content:
prob = math.exp(token_log.logprob) # convert log prob to probability
print(f'Token: {token_log.token!r} | Probability: {prob:.2%}')
for alt in token_log.top_logprobs:
print(f' Alt: {alt.token!r} -> {math.exp(alt.logprob):.2%}')Parametereffecten systematisch testen
Gis niet naar parameters — test ze. Bouw een kleine rasterzoektocht die dezelfde prompt uitvoert met verschillende combinaties en elke combinatie beoordeelt. Zo verandert afstemming van kunst in engineering. Bekijk de code.
from itertools import product
# Systematic parameter grid search
temperatures = [0.0, 0.3, 0.7]
max_tokens_options = [100, 300]
test_prompt = 'Summarize the benefits of unit testing in 2 sentences.'
results = []
for temp, max_tok in product(temperatures, max_tokens_options):
resp = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': test_prompt}],
temperature=temp,
max_tokens=max_tok
)
results.append({
'temperature': temp,
'max_tokens': max_tok,
'output': resp.choices[0].message.content,
'actual_tokens': resp.usage.completion_tokens
})Korte controle
Test je begrip van de AI-engineeringconcepten uit deze les.
Samenvatting van de les
Je hebt geleerd het model te sturen: temperature bepaalt de willekeur, max_tokens begrenst de lengte (houd finish_reason in de gaten!) en de penalties verminderen herhaling en zorgen voor meer variatie. Hierna: foutafhandeling.
Leer Python 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
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Modelgedrag sturen met parameters” gratis?
Ja — de volledige tekst van “Modelgedrag sturen met parameters” 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 Engineering Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus AI Engineering Academy bevat in totaal 4 lessen.
Wat leer ik in “Modelgedrag sturen met parameters”?
U experimenteert met temperature, max_tokens en top_p om te zien hoe deze de stijl, lengte en creativiteit van de uitvoer veranderen, en kiest vervolgens geschikte instellingen voor uw toepassing. Je oefent met AI Engineering Academy 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 Engineering Academy te beginnen?
Ervaring vooraf is niet nodig. AI Engineering Academy 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 3 van 4.
Hoe lang duurt de les “Modelgedrag sturen met parameters”?
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 Engineering Academy?
Ja. Elke les over AI Engineering Academy 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
- Uw Python-omgeving instellen
- Het Chat Completions-endpoint
- Modelgedrag sturen met parameters
- Foutafhandeling en rate limits