OpenAI
Aquesta pàgina s'ha traduït automàticament. Mostra l'article original en anglès.

Bones pràctiques per a l'enginyeria d'indicacions amb l'API d'OpenAI

Com donar instruccions clares i efectives als models d'OpenAI

Actualització: 2 days ago

Com funciona l’enginyeria d'indicacions

A causa de la manera com s’entrenen els models d’OpenAI, hi ha formats d’indicació específics que funcionen especialment bé i generen sortides del model més útils. La guia oficial d’enginyeria d'indicacions d’OpenAI sol ser el millor punt de partida per obtenir consells sobre indicacions.

A continuació presentem diversos formats d’indicació que hem comprovat que funcionen bé, però no dubteu a explorar altres formats que s’adaptin millor a la vostra tasca.

Regles generals i exemples

Nota: «{text input here}» és un marcador de posició per al text/context real

1. Utilitzeu el model més recent

Per obtenir els millors resultats, en general recomanem utilitzar els models més recents i més capaços. Els models més nous tendeixen a ser més fàcils d’optimitzar amb enginyeria d'indicacions.


Nota: Hi ha algunes diferències a tenir en compte entre indicar a un model de raonament i indicar a un model GPT. Més detalls aquí.

2. Poseu les instruccions al començament de la indicació i feu servir ### o """ per separar la instrucció del context

Menys eficaç ❌:

Resumeix el text següent com una llista amb vinyetes dels punts més importants.

{text input here}

Millor ✅:

Resumeix el text següent com una llista amb vinyetes dels punts més importants.

Text: """
{text input here}
"""

3. Sigueu específics, descriptius i tan detallats com sigui possible sobre el context, el resultat, la longitud, el format, l’estil, etc. desitjats

Sigueu específics sobre el context, el resultat, la longitud, el format, l’estil, etc.

Menys eficaç ❌:

Escriu un poema sobre OpenAI. 

Millor ✅:

Escriu un poema inspirador curt sobre OpenAI, centrat en el recent llançament del producte DALL-E (DALL-E és un model de ML de text a imatge) a l'estil de {famous poet}

4. Expliciteu el format de sortida desitjat mitjançant exemples

Menys eficaç ❌:

Extreu les entitats esmentades al text següent. Extreu aquests 4 tipus d'entitat: noms d'empreses, noms de persones, temes específics i temes generals.

Text: {text}

Mostreu-ho i expliqueu-ho: els models responen millor quan se’ls mostren requisits de format específics. Això també facilita analitzar programàticament diverses sortides de manera fiable.

Millor ✅:

Extreu les entitats importants esmentades al text següent. Primer extreu tots els noms d'empreses, després tots els noms de persones, després els temes específics que s'ajustin al contingut i, finalment, els temes generals predominants

Format desitjat:
Noms d'empreses: <llista_de_noms_d'empreses_separats_per comes>
Noms de persones: -||-
Temes específics: -||-
Temes generals: -||-

Text: {text}

5. Comenceu sense exemples, després amb pocs exemples i, si cap dels dos funciona, feu un ajust fi

✅ Sense exemples

Extreu paraules clau del text següent.

Text: {text}

Paraules clau:

✅ Amb pocs exemples: proporcioneu un parell d’exemples

Extreu paraules clau dels textos corresponents següents.

Text 1: Stripe ofereix API que els desenvolupadors web poden fer servir per integrar el processament de pagaments als seus llocs web i aplicacions mòbils.
Paraules clau 1: Stripe, processament de pagaments, API, desenvolupadors web, llocs web, aplicacions mòbils
##
Text 2: OpenAI ha entrenat models de llenguatge d'avantguarda que són molt bons per entendre i generar text. La nostra API proporciona accés a aquests models i es pot fer servir per resoldre pràcticament qualsevol tasca que impliqui processar llenguatge.
Paraules clau 2: OpenAI, models de llenguatge, processament de text, API.
##
Text 3: {text}
Paraules clau 3:

✅ Ajust fi: consulteu les pràctiques recomanades d’ajust fi aquí.

6. Reduïu les descripcions «farcides» i imprecises

Menys eficaç ❌:

La descripció d'aquest producte hauria de ser força curta, només unes quantes frases i no gaire més.

Millor ✅:

Fes servir un paràgraf de 3 a 5 frases per descriure aquest producte.

7. En lloc de dir només què no s’ha de fer, digueu què cal fer en canvi

Menys eficaç ❌:

El següent és una conversa entre un Agent i un Client. NO DEMANIS EL NOM D'USUARI NI LA CONTRASENYA. NO HO REPETEIXIS.

Client: No puc iniciar sessió al meu compte.
Agent:

Millor ✅:

El següent és una conversa entre un Agent i un Client. L'agent intentarà diagnosticar el problema i suggerir una solució, evitant fer qualsevol pregunta relacionada amb PII. En lloc de demanar PII, com ara el nom d'usuari o la contrasenya, deriva l'usuari a l'article d'ajuda www.samplewebsite.com/help/faq

Client: No puc iniciar sessió al meu compte.
Agent:

8. Específic per a la generació de codi: utilitzeu «paraules inicials» per orientar el model cap a un patró concret

Menys eficaç ❌:

# Escriu una funció simple en python que
# 1. Em demani un nombre en milles
# 2. Converteixi les milles a quilòmetres

En l’exemple de codi següent, afegir «import» indica al model que hauria de començar a escriure en Python. (De manera similar, «SELECT» és una bona pista per a l’inici d’una instrucció SQL.)

Millor ✅:

# Escriu una funció simple en python que
# 1. Em demani un nombre en milles
# 2. Converteixi les milles a quilòmetres

import

9. Utilitzeu la funció «Genera qualsevol cosa»

Els desenvolupadors poden utilitzar la funció «Genera qualsevol cosa» per descriure una tasca o la sortida esperada en llenguatge natural i rebre una indicació adaptada.


Més informació sobre l’ús de la funció «Genera qualsevol cosa».

Paràmetres

En general, considerem que `model` i `temperature` són els paràmetres més utilitzats per modificar la sortida del model.

  1. `model` - Els models de més rendiment solen ser més cars i poden tenir una latència més alta.

  2. `temperature` - Una mesura de la freqüència amb què el model genera un segment menys probable. Com més alta sigui la temperature, més aleatòria (i normalment creativa) serà la sortida. Tanmateix, això no és el mateix que la «veracitat». Per a la majoria de casos d’ús factuals, com l’extracció de dades i les preguntes i respostes veraces, una temperature de 0 és la millor opció.

  3. `max_completion_tokens` (longitud màxima) - No controla la longitud de la sortida, sinó que estableix un límit estricte per a la generació de segments. Idealment, no arribareu sovint a aquest límit, ja que el model s’aturarà quan consideri que ha acabat o quan arribi a una seqüència d’aturada que hàgiu definit.

  4. `stop` (seqüències d’aturada) - Un conjunt de caràcters (segments) que, quan es generen, fan que la generació de text s’aturi.

Per a les descripcions d’altres paràmetres, consulteu la referència de l’API.

T'ha estat útil aquest article?