OpenAI
Denne side er maskinoversat. Se den originale engelske artikel.

Bedste praksis for prompt engineering med OpenAI API

Sådan giver du klare og effektive instruktioner til OpenAI-modeller

Opdateret: 14 days ago

Sådan fungerer prompt engineering

På grund af den måde, OpenAI modeller trænes på, er der bestemte prompt-formater, der fungerer særligt godt og fører til mere nyttige output fra modellen. Den officielle guide til prompt engineering fra OpenAI er som regel det bedste sted at starte for tips til prompts.

Nedenfor præsenterer vi en række prompt-formater, som vi synes fungerer godt, men du er velkommen til at udforske andre formater, som måske passer bedre til din opgave.

Tommelfingerregler og eksempler

Bemærk: »{text input here}« er en pladsholder for faktisk tekst/kontekst

1. Brug den nyeste model

For at opnå de bedste resultater anbefaler vi generelt at bruge de nyeste og mest kompetente modeller. Det er ofte lettere at bruge prompt engineering på nyere modeller.


Bemærk: Der er nogle forskelle at tage højde for, når man prompter en ræsonneringsmodel sammenlignet med en GPT-model. Flere oplysninger her.

2. Placer instruktioner i begyndelsen af prompten, og brug ### eller """ til at adskille instruktionen og konteksten

Mindre effektivt ❌:

Opsummér teksten nedenfor som en punktliste over de vigtigste pointer.

{text input here}

Bedre ✅:

Opsummér teksten nedenfor som en punktliste over de vigtigste pointer.

Tekst: """
{text input here}
"""

3. Vær så specifik, beskrivende og detaljeret som muligt om den ønskede kontekst, resultat, længde, format, stil osv.

Vær specifik om kontekst, resultat, længde, format, stil osv.

Mindre effektivt ❌:

Skriv et digt om OpenAI. 

Bedre ✅:

Skriv et kort inspirerende digt om OpenAI med fokus på den seneste DALL-E-produktlancering (DALL-E er en ML-model fra tekst til billede) i stilen fra en {famous poet}

4. Formuler det ønskede outputformat gennem eksempler

Mindre effektivt ❌:

Udtræk de entiteter, der nævnes i teksten nedenfor. Udtræk følgende 4 entitetstyper: virksomhedsnavne, personnavne, specifikke emner og temaer.

Tekst: {text}

Vis og fortæl – modellerne reagerer bedre, når de får vist specifikke formatkrav. Det gør det også lettere at udtrække flere output programmatisk og pålideligt.

Bedre ✅:

Udtræk de vigtige entiteter, der nævnes i teksten nedenfor. Udtræk først alle virksomhedsnavne, derefter alle personnavne, så specifikke emner, der passer til indholdet, og til sidst generelle overordnede temaer

Ønsket format:
Virksomhedsnavne: <kommasepareret_liste_over_virksomhedsnavne>
Personnavne: -||-
Specifikke emner: -||-
Generelle temaer: -||-

Tekst: {text}

5. Start med zero-shot, derefter med få eksempler; hvis ingen af delene virker, så finjustér

✅ Zero-shot

Udtræk nøgleord fra teksten nedenfor.

Tekst: {text}

Nøgleord:

✅ Med få eksempler - giv et par eksempler

Udtræk nøgleord fra de tilsvarende tekster nedenfor.

Tekst 1: Stripe leverer API'er, som webudviklere kan bruge til at integrere betalingsbehandling i deres websites og mobilapplikationer.
Nøgleord 1: Stripe, betalingsbehandling, API'er, webudviklere, websites, mobilapplikationer
##
Tekst 2: OpenAI har trænet banebrydende sprogmodeller, som er meget gode til at forstå og generere tekst. Vores API giver adgang til disse modeller og kan bruges til at løse stort set enhver opgave, der involverer sprogbehandling.
Nøgleord 2: OpenAI, sprogmodeller, tekstbehandling, API.
##
Tekst 3: {text}
Nøgleord 3:

✅Finjustér: se bedste praksis for finjustering her.

6. Reducér »floskelfyldte« og upræcise beskrivelser

Mindre effektivt ❌:

Beskrivelsen af dette produkt bør være ret kort, kun nogle få sætninger og ikke meget mere.

Bedre ✅:

Brug et afsnit på 3 til 5 sætninger til at beskrive dette produkt.

7. I stedet for kun at sige, hvad der ikke skal gøres, så sig, hvad der skal gøres i stedet

Mindre effektivt ❌:

Følgende er en samtale mellem en agent og en kunde. SPØRG IKKE OM BRUGERNAVN ELLER ADGANGSKODE. GENTAG IKKE.

Kunde: Jeg kan ikke logge ind på min konto.
Agent:

Bedre ✅:

Følgende er en samtale mellem en agent og en kunde. agenten vil forsøge at diagnosticere problemet og foreslå en løsning, mens den afholder sig fra at stille spørgsmål relateret til PII. I stedet for at bede om PII, såsom brugernavn eller adgangskode, henvis brugeren til hjælpeartiklen www.samplewebsite.com/help/faq

Kunde: Jeg kan ikke logge ind på min konto.
Agent:

8. Specifikt for kodegenerering – brug »indledende ord« til at skubbe modellen mod et bestemt mønster

Mindre effektivt ❌:

# Skriv en simpel Python-funktion, der
# 1. Beder mig om et tal i miles
# 2. Konverterer miles til kilometer

I kodeeksemplet nedenfor antyder tilføjelsen af »import« over for modellen, at den skal begynde at skrive i Python. (Tilsvarende er »SELECT« et godt hint til starten på en SQL-sætning.)

Bedre ✅:

# Skriv en simpel Python-funktion, der
# 1. Beder mig om et tal i miles
# 2. Konverterer miles til kilometer

import

9. Brug funktionen »Generér hvad som helst«

Udviklere kan bruge funktionen »Generér hvad som helst« til at beskrive en opgave eller et forventet output i naturligt sprog og modtage en skræddersyet prompt.


Få mere at vide om at bruge funktionen »Generér hvad som helst«.

Parametre

Generelt ser vi, at `model` og `temperature` er de mest anvendte parametre til at ændre modellens output.

  1. `model` - Modeller med højere ydeevne er generelt dyrere og kan have højere latenstid.

  2. `temperature` - Et mål for, hvor ofte modellen udsender en mindre sandsynlig token. Jo højere temperature, desto mere tilfældigt (og normalt kreativt) er outputtet. Dette er dog ikke det samme som »sandfærdighed«. Til de fleste faktuelle anvendelser såsom dataudtræk og sandfærdige spørgsmål og svar er en temperature på 0 bedst.

  3. `max_completion_tokens` (maksimal længde) - Styrer ikke outputtets længde, men er en hård grænse for tokengenerering. Ideelt set rammer du ikke denne grænse ofte, da din model stopper enten, når den tror, den er færdig, eller når den rammer en stopsekvens, du har defineret.

  4. `stop` (stopsekvenser) - Et sæt tegn (tokens), der, når de genereres, får tekstgenereringen til at stoppe.

Se andre parameterbeskrivelser i API-referencen.

Var denne artikel nyttig?