OpenAI
Denne siden ble maskinoversatt. Se den opprinnelige engelske artikkelen.

Beste praksis for promptutforming med OpenAI API

Hvordan gi klare og effektive instruksjoner til OpenAI-modeller

Oppdatert: 14 hours ago

Slik fungerer promptutforming

På grunn av måten OpenAI modeller trenes på, finnes det bestemte promptformater som fungerer spesielt godt og fører til mer nyttige modellutdata.

Den offisielle veiledningen i promptutforming fra OpenAI er vanligvis det beste stedet å starte for tips om prompting.

Nedenfor presenterer vi en rekke promptformater som vi synes fungerer godt, men utforsk gjerne ulike formater, som kan passe bedre til oppgaven din.

Tommelfingerregler og eksempler

Merk: «{text input here}» er en plassholder for faktisk tekst/kontekst

1. Bruk den nyeste modellen

For best resultat anbefaler vi generelt å bruke de nyeste og mest kapable modellene. Nyere modeller er vanligvis enklere å drive promptutforming for.


Merk: Det er noen forskjeller å ta hensyn til når du prompter en Resonneringsmodell kontra når du prompter en GPT-modell. Flere detaljer her.

2. Plasser instruksjoner i begynnelsen av prompten og bruk ### eller """ for å skille instruksjonen fra konteksten

Mindre effektivt ❌:

Oppsummer teksten nedenfor som en punktliste over de viktigste punktene.

{text input here}

Bedre ✅:

Oppsummer teksten nedenfor som en punktliste over de viktigste punktene.

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

3. Vær spesifikk, beskrivende og så detaljert som mulig om ønsket kontekst, resultat, lengde, format, stil osv.

Vær spesifikk om kontekst, resultat, lengde, format, stil osv.

Mindre effektivt ❌:

Skriv et dikt om OpenAI. 

Bedre ✅:

Skriv et kort inspirerende dikt om OpenAI, med fokus på den nylige produktlanseringen av DALL-E (DALL-E er en ML-modell som går fra tekst til bilde) i stilen til en {famous poet}

4. Formuler ønsket utdataformat gjennom eksempler

Mindre effektivt ❌:

Trekk ut entitetene som er nevnt i teksten nedenfor. Trekk ut følgende 4 entitetstyper: selskapsnavn, personnavn, spesifikke emner og temaer.

Tekst: {text}

Vis, og fortell – modellene svarer bedre når de får se spesifikke formatkrav. Dette gjør det også lettere å programmessig analysere flere utdata pålitelig.

Bedre ✅:

Trekk ut de viktige entitetene som er nevnt i teksten nedenfor. Trekk først ut alle selskapsnavn, deretter alle personnavn, så spesifikke emner som passer til innholdet, og til slutt generelle overordnede temaer

Ønsket format:
Selskapsnavn: <kommaseparert_liste_over_selskapsnavn>
Personnavn: -||-
Spesifikke emner: -||-
Generelle temaer: -||-

Tekst: {text}

5. Start med zero-shot, deretter med få eksempler, hvis ingen av delene fungerte, så finjuster

✅ Zero-shot

Trekk ut nøkkelord fra teksten nedenfor.

Tekst: {text}

Nøkkelord:

✅ Med få eksempler - gi et par eksempler

Trekk ut nøkkelord fra de tilhørende tekstene nedenfor.

Tekst 1: Stripe tilbyr API-er som nettutviklere kan bruke til å integrere betalingsbehandling i nettstedene og mobilapplikasjonene sine.
Nøkkelord 1: Stripe, betalingsbehandling, API-er, nettutviklere, nettsteder, mobilapplikasjoner
##
Tekst 2: OpenAI har trent banebrytende språkmodeller som er svært gode til å forstå og generere tekst. API-en vår gir tilgang til disse modellene og kan brukes til å løse praktisk talt enhver oppgave som innebærer språkbehandling.
Nøkkelord 2: OpenAI, språkmodeller, tekstbehandling, API.
##
Tekst 3: {text}
Nøkkelord 3:

✅Finjuster: se beste praksis for finjustering her.

6. Reduser «fluffy» og upresise beskrivelser

Mindre effektivt ❌:

Beskrivelsen for dette produktet bør være ganske kort, bare noen få setninger, og ikke stort mer.

Bedre ✅:

Bruk et avsnitt på 3 til 5 setninger for å beskrive dette produktet.

7. I stedet for bare å si hva du ikke skal gjøre, si hva du skal gjøre i stedet

Mindre effektivt ❌:

Følgende er en samtale mellom en agent og en kunde. IKKE BE OM BRUKERNAVN ELLER PASSORD. IKKE GJENTA.

Kunde: Jeg kan ikke logge inn på kontoen min.
Agent:

Bedre ✅:

Følgende er en samtale mellom en agent og en kunde. agenten vil forsøke å diagnostisere problemet og foreslå en løsning, samtidig som den avstår fra å stille spørsmål knyttet til PII. I stedet for å be om PII, som brukernavn eller passord, henvis brukeren til hjelpeartikkelen www.samplewebsite.com/help/faq

Kunde: Jeg kan ikke logge inn på kontoen min.
Agent:

8. Spesifikt for kodegenerering - bruk «ledende ord» for å dytte modellen mot et bestemt mønster

Mindre effektivt ❌:

# Skriv en enkel python-funksjon som
# 1. Ber meg om et tall i miles
# 2. Konverterer miles til kilometer

I kodeeksemplet nedenfor antyder det å legge til «import» for modellen at den bør begynne å skrive i Python. (På samme måte er «SELECT» et godt hint for starten på en SQL-setning.)

Bedre ✅:

# Skriv en enkel python-funksjon som
# 1. Ber meg om et tall i miles
# 2. Konverterer miles til kilometer

import

9. Bruk funksjonen Generate Anything

Utviklere kan bruke funksjonen 'Generate Anything' til å beskrive en oppgave eller forventet utdata i naturlig språk og motta en skreddersydd prompt.

Les mer om å bruke funksjonen 'Generate Anything'.

Parametere

Generelt opplever vi at model og temperature er de mest brukte parameterne for å endre modellutdata.

  1. model - Modeller med høyere ytelse er generelt dyrere og kan ha høyere latens.

  2. temperature - Et mål på hvor ofte modellen gir ut en mindre sannsynlig token. Jo høyere temperature, desto mer tilfeldig (og vanligvis kreativt) er resultatet. Dette er imidlertid ikke det samme som «sannferdighet». For de fleste faktabaserte bruksområder, som datauttrekk og sannferdig spørsmål og svar, er temperature på 0 best.

  3. max_completion_tokens (maksimal lengde) - Kontrollerer ikke lengden på utdataene, men en hard avskjæringsgrense for tokengenerering. Ideelt sett vil du ikke treffe denne grensen ofte, siden modellen stopper enten når den tror den er ferdig, eller når den treffer en stoppsekvens du har definert.

  4. stop (stoppsekvenser) - Et sett med tegn (token) som, når de genereres, vil få tekstgenereringen til å stoppe.

For andre parameterbeskrivelser, se API-referansen.

Var denne artikkelen nyttig?