AI-prompt engineering · leksjon

Velge parametere for bruksområdet

Anbefalte innstillinger for faktabasert spørsmål og svar, kreativ skriving, kode og chat.

Leksjon 4 av 413 trinn

Velge parametere for bruksområdet er en gratis leksjon i AI-prompt engineering på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-prompt engineering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-prompt engineering inneholder totalt 4 leksjoner.

Rammeverk for valg av parametere

Valg av samplingparametere er ikke gjetting – det følger en logikk basert på kravene til oppgaven. To viktige dimensjoner avgjør riktig konfigurasjon:

  1. Nøyaktighet i resultatet: hvor viktig er det at resultatet er korrekt og forutsigbart?
  2. Variasjon i resultatet: hvor viktig er det at resultatene varierer og utforsker ulike muligheter?

Høy nøyaktighet → lav temperatur. Høy variasjon → høy temperatur. De fleste oppgaver ligger et sted mellom disse ytterpunktene.

Faktabasert spørsmål og svar: Nøyaktighet er avgjørende

Ved faktabasert spørsmål og svar finnes det vanligvis ett korrekt svar. All tilfeldighet øker sannsynligheten for et feil svar. Bruk:

  • temperature = 0: greedy decoding, fullstendig deterministisk
  • top_p = 1.0: la parameteren være ubegrenset; ved temperature=0 har top-p ingen effekt

Dette sikrer at modellen alltid velger svaret den har størst konfidens til, og som derfor mest sannsynlig er korrekt.

import openai
client = openai.OpenAI(api_key='sk-...')

# Factual Q&A configuration
def factual_qa(question):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'Answer factual questions concisely and accurately.'},
            {'role': 'user', 'content': question}
        ],
        temperature=0,
        top_p=1.0
    )
    return resp.choices[0].message.content

answer = factual_qa('What is the boiling point of water at sea level?')
print(answer)  # Always: '100 degrees Celsius (212 degrees Fahrenheit).'

Kodegenerering: Nær greedy decoding

Kode må være syntaktisk korrekt og semantisk presis. Tilfeldighet fører til syntaksfeil, feil variabelnavn eller feil logikk. Bruk:

  • temperature = 0–0.2: nesten greedy – tillater mindre variasjon, men foretrekker sterkt korrekte tokenvalg
  • top_p = 0.95: fjerner tokener fra den ekstreme halen som kan føre til syntaksfeil
# Code generation configuration
def generate_code(task):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are an expert Python programmer. Write clean, correct code.'},
            {'role': 'user', 'content': task}
        ],
        temperature=0.1,
        top_p=0.95
    )
    return resp.choices[0].message.content

code = generate_code('Write a Python function that merges two sorted lists.')
print(code)

Oppsummering: Moderate innstillinger

Oppsummering krever nøyaktighet (fakta må ikke forvrenges), men har fordel av litt variasjon (ulike kjøringer kan fremheve ulike aspekter). Bruk:

  • temperature = 0.3–0.5: litt tilfeldighet bevarer naturlige formuleringer
  • top_p = 1.0: ingen kjernebegrensning er nødvendig ved lav temperatur
# Summarization configuration
def summarize(text):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'Summarize the following text in 3 sentences.'},
            {'role': 'user', 'content': text}
        ],
        temperature=0.4,
        top_p=1.0
    )
    return resp.choices[0].message.content

summary = summarize(long_article)
print(summary)

Samtalechat: Naturlig variasjon

Chat-svar har fordel av naturlig variasjon – det samme spørsmålet bør ikke alltid gi nøyaktig samme formulering. For mye tilfeldighet gjør svarene usammenhengende. Bruk:

  • temperature = 0.7–0.9: naturlig samtale med variasjon
  • top_p = 0.9–0.95: fjerner usannsynlige tokener fra halen som gir unaturlige formuleringer
# Chat configuration
def chat_response(user_message, history):
    messages = history + [{'role': 'user', 'content': user_message}]
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are a friendly, helpful assistant.'},
            *messages
        ],
        temperature=0.8,
        top_p=0.9
    )
    reply = resp.choices[0].message.content
    history.append({'role': 'user', 'content': user_message})
    history.append({'role': 'assistant', 'content': reply})
    return reply, history

Kreativ skriving: Stor variasjon

Kreativ skriving verdsetter originalitet og det uventede. Lave temperaturer gir klisjéfylte og forutsigbare resultater. Høye temperaturer gir levende og uventede valg, men for høy temperatur fører til usammenhengende tekst. Bruk:

  • temperature = 0.9–1.2: variert ordforråd og mindre opplagte ordvalg
  • top_p = 0.95: hindrer usammenhengende tokener fra halen, samtidig som det tillater bred utforskning
# Creative writing configuration
def write_story_opening(prompt):
    resp = client.chat.completions.create(
        model='gpt-4o',
        messages=[
            {'role': 'system', 'content': 'You are a creative fiction writer. Write vivid, original prose.'},
            {'role': 'user', 'content': f'Write a story opening for: {prompt}'}
        ],
        temperature=1.1,
        top_p=0.95
    )
    return resp.choices[0].message.content

opening = write_story_opening('A detective discovers her partner is the killer.')
print(opening)

Idémyldring og idéutvikling

Ved idémyldring er målet størst mulig variasjon av ideer, også uvanlige eller uventede ideer. Bruk den høyeste praktiske temperaturen:

  • temperature = 1.0–1.5: bred utforskning av idérommet
  • top_p = 0.95–1.0: minimal begrensning

Kjør flere ganger og samle alle resultatene – filtrer deretter ut de beste ideene manuelt. Oppfordringer til idémyldring har fordel av eksplisitte ønsker om variasjon: «Gi meg 10 ulike tilnærminger, inkludert uvanlige.»

# Brainstorming: run multiple times for variety
def brainstorm(topic, n_runs=5):
    ideas = []
    for _ in range(n_runs):
        resp = client.chat.completions.create(
            model='gpt-4o',
            messages=[
                {'role': 'system', 'content': 'Generate creative, diverse ideas. Include unusual approaches.'},
                {'role': 'user', 'content': f'Give me 3 ideas for: {topic}'}
            ],
            temperature=1.3,
            top_p=0.95
        )
        ideas.append(resp.choices[0].message.content)
    return ideas

all_ideas = brainstorm('reducing customer churn')

Testing av parametersensitivitet

Før parametere fastsettes, bør det kjøres sensitivitetstester for parametere: Hold oppfordringen konstant, varier én parameter om gangen, og vurder kvaliteten på resultatet ved hver innstilling.

def sensitivity_test(prompt, evaluator, temperatures, n_samples=5):
    results = {}
    for temp in temperatures:
        scores = []
        for _ in range(n_samples):
            resp = client.chat.completions.create(
                model='gpt-4o',
                messages=[{'role': 'user', 'content': prompt}],
                temperature=temp
            )
            score = evaluator(resp.choices[0].message.content)
            scores.append(score)
        results[temp] = sum(scores) / len(scores)

    for temp, score in sorted(results.items()):
        print(f'T={temp}: avg score = {score:.2f}')
    best_temp = max(results, key=results.get)
    print(f'Best temperature: {best_temp}')
    return best_temp

Når standardinnstillingene bør beholdes

Ikke alle applikasjoner trenger egendefinerte parametere. Behold standardinnstillingene når:

  • Bruksområdet er generell chat – standardtemperaturen (1.0 for de fleste API-er) er godt innstilt
  • Det lages en prototype, og de riktige innstillingene er ennå ikke kjent
  • Oppgaven balanserer nøyaktighet og kreativitet (for eksempel utforming av e-poster)

Tommelfingerregel: Tilpass parametere bare når standardatferden gir et målbart kvalitetsproblem i testingen. For tidlig parameterjustering gir økt kompleksitet uten målbar nytte.

# Defaults are often correct
default_resp = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Draft a professional email declining a meeting.'}]
    # No temperature or top_p specified — API defaults apply
    # OpenAI default: temperature=1, top_p=1
)
print(default_resp.choices[0].message.content)

Hurtigreferanse

Oppsummering av anbefalte innstillinger etter bruksområde:

PARAMETER_PRESETS = {
    # task: (temperature, top_p, notes)
    'factual_qa':        (0.0, 1.0, 'greedy, max accuracy'),
    'classification':    (0.0, 1.0, 'deterministic labels'),
    'code_generation':   (0.1, 0.95, 'near-greedy, avoid tail tokens'),
    'data_extraction':   (0.2, 1.0, 'slight variation for robustness'),
    'summarization':     (0.4, 1.0, 'preserve facts, vary phrasing'),
    'translation':       (0.3, 1.0, 'accurate but natural'),
    'chat':              (0.8, 0.9, 'natural conversation'),
    'email_drafting':    (0.7, 0.9, 'professional but varied'),
    'creative_writing':  (1.1, 0.95, 'vivid, original'),
    'brainstorming':     (1.3, 0.95, 'maximum diversity'),
}

for task, (temp, top_p, notes) in PARAMETER_PRESETS.items():
    print(f'{task:22} temp={temp}, top_p={top_p} | {notes}')

Frekvens- og tilstedeværelsesstraff

To ekstra parametere utfyller temperatur og top-p:

  • frequency_penalty (0–2): reduserer sannsynligheten for tokener proporsjonalt med hvor ofte de har forekommet i resultatet så langt – hindrer gjentakelse av ord
  • presence_penalty (0–2): reduserer sannsynligheten for alle tokener som har forekommet i det hele tatt – oppmuntrer til variasjon i tema

For kreativ skriving: legg til frequency_penalty=0.5 for å redusere gjentatte ordvalg uten å endre temperaturen.

resp = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': 'Write a paragraph about coffee.'}],
    temperature=1.0,
    top_p=0.95,
    frequency_penalty=0.5,  # discourage repeating the same words
    presence_penalty=0.3    # encourage introducing new topics/aspects
)
print(resp.choices[0].message.content)

Kunnskapssjekk

Hvilken parameterkonfigurasjon er mest hensiktsmessig for en oppgave som genererer Python-kode som skal kjøres i produksjon?

Oppsummering: Valg av samplingparametere

Tilpass parametrene til behovet for nøyaktighet og variasjon:

  • Fakta/kode: temp=0–0.2, top_p=0.95 – nøyaktighet først
  • Oppsummering: temp=0.3–0.5 – balansert
  • Chat: temp=0.7–0.9, top_p=0.9 – naturlig variasjon
  • Kreativt: temp=0.9–1.2, top_p=0.95 – variasjon
  • Idémyldring: temp=1.3, top_p=0.95 – størst mulig utforskning

Kjør sensitivitetstester for parametere. Behold standardinnstillingene når det ikke observeres noe kvalitetsproblem. Legg til frequency_penalty ved problemer med gjentakelser. Dette avslutter kurs 19. Neste: testing av oppfordringer og regresjon.

Gratis å komme i gang

Lær deg AI-prompt engineering med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
53
Leksjoner
199

Ofte stilte spørsmål

Er leksjonen «Velge parametere for bruksområdet» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AI-prompt engineering, inkludert «Velge parametere for bruksområdet», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i AI-prompt engineering inneholder totalt 4 leksjoner.

Hva lærer jeg i «Velge parametere for bruksområdet»?

Anbefalte innstillinger for faktabasert spørsmål og svar, kreativ skriving, kode og chat. Du øver på AI-prompt engineering med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med AI-prompt engineering?

Ingen tidligere erfaring er nødvendig. AI-prompt engineering på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Velge parametere for bruksområdet»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne AI-prompt engineering-leksjonen?

Ja. Alle AI-prompt engineering-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hva er temperatur i LLM-er?
  2. Top-p-nukleusutvalg
  3. Top-k-utvalg
  4. Velge parametere for bruksområdet
← Tilbake til AI-prompt engineering