OpenAI
Această pagină a fost tradusă automat. Vezi articolul original în limba engleză.

Bune practici pentru inginerie solicitare cu API-ul OpenAI

Cum să dai instrucțiuni clare și eficiente modelelor OpenAI

Actualizat: 15 days ago

Cum funcționează ingineria solicitare

Datorită modului în care sunt antrenate modelele OpenAI, există formate de solicitare specifice care funcționează deosebit de bine și duc la rezultate mai utile ale modelului. Ghidul oficial de inginerie solicitare de la OpenAI este, de obicei, cel mai bun punct de plecare pentru sfaturi privind solicitările.

Mai jos prezentăm o serie de formate de solicitare care, din experiența noastră, funcționează bine, dar nu ezitați să explorați formate diferite, care se pot potrivi mai bine sarcinii dvs.

Reguli practice și exemple

Notă: „{text input here}” este un substituent pentru text/context real

1. Utilizați cel mai recent model

Pentru cele mai bune rezultate, recomandăm, în general, utilizarea celor mai recente și mai capabile modele. Modelele mai noi tind să fie mai ușor de optimizat prin inginerie solicitare.


Notă: Există unele diferențe de luat în considerare atunci când formulați solicitări pentru un model de raţionament față de un model GPT. Mai multe detalii aici.

2. Puneți instrucțiunile la începutul solicitării și folosiți ### sau """ pentru a separa instrucțiunea de context

Mai puțin eficient ❌:

Rezumă textul de mai jos ca listă cu puncte a celor mai importante idei.

{text input here}

Mai bine ✅:

Rezumă textul de mai jos ca listă cu puncte a celor mai importante idei.

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

3. Fiți cât mai specific, descriptiv și detaliat posibil în privința contextului, rezultatului, lungimii, formatului, stilului dorit etc.

Fiți specific în privința contextului, rezultatului, lungimii, formatului, stilului etc.

Mai puțin eficient ❌:

Scrie un poem despre OpenAI. 

Mai bine ✅:

Scrie un poem scurt și inspirațional despre OpenAI, concentrându-te pe recenta lansare a produsului DALL-E (DALL-E este un model ML text-imagine), în stilul lui {famous poet}

4. Exprimați formatul de ieșire dorit prin exemple

Mai puțin eficient ❌:

Extrage entitățile menționate în textul de mai jos. Extrage următoarele 4 tipuri de entități: nume de companii, nume de persoane, subiecte specifice și teme.

Text: {text}

Arătați și explicați - modelele răspund mai bine când li se prezintă cerințe specifice de format. Acest lucru facilitează și analizarea programatică fiabilă a mai multor rezultate.

Mai bine ✅:

Extrage entitățile importante menționate în textul de mai jos. Mai întâi extrage toate numele de companii, apoi extrage toate numele de persoane, apoi subiectele specifice care se potrivesc conținutului și, în final, temele generale dominante

Format dorit:
Nume de companii: <listă_de_nume_de_companii_separate_prin_virgulă>
Nume de persoane: -||-
Subiecte specifice: -||-
Teme generale: -||-

Text: {text}

5. Începeți cu zero exemple, apoi cu câteva exemple; dacă niciuna nu funcționează, faceți ajustare fină

✅ Zero exemple

Extrage cuvinte-cheie din textul de mai jos.

Text: {text}

Cuvinte-cheie:

✅ Câteva exemple - furnizați câteva exemple

Extrage cuvinte-cheie din textele corespunzătoare de mai jos.

Text 1: Stripe oferă API-uri pe care dezvoltatorii web le pot folosi pentru a integra procesarea plăților în site-urile și aplicațiile lor mobile.
Cuvinte-cheie 1: Stripe, procesarea plăților, API-uri, dezvoltatori web, site-uri, aplicații mobile
##
Text 2: OpenAI a antrenat modele lingvistice de ultimă generație care sunt foarte bune la înțelegerea și generarea textului. API-ul nostru oferă acces la aceste modele și poate fi folosit pentru a rezolva practic orice sarcină care implică procesarea limbajului.
Cuvinte-cheie 2: OpenAI, modele lingvistice, procesarea textului, API.
##
Text 3: {text}
Cuvinte-cheie 3:

✅ Ajustare fină: consultați cele mai bune practici de ajustare fină aici.

6. Reduceți descrierile „stufoase” și imprecise

Mai puțin eficient ❌:

Descrierea acestui produs ar trebui să fie destul de scurtă, doar câteva propoziții și nu cu mult mai mult.

Mai bine ✅:

Folosește un paragraf de 3 până la 5 propoziții pentru a descrie acest produs.

7. În loc să spuneți doar ce nu trebuie făcut, spuneți ce trebuie făcut în schimb

Mai puțin eficient ❌:

Următorul este un dialog între un agent și un client. NU CERE NUMELE DE UTILIZATOR SAU PAROLA. NU REPETA.

Client: Nu mă pot conecta la contul meu.
Agent:

Mai bine ✅:

Următorul este un dialog între un agent și un client. Agentul va încerca să diagnosticheze problema și să sugereze o soluție, evitând totodată să pună întrebări legate de PII. În loc să ceară PII, cum ar fi numele de utilizator sau parola, îndrumă utilizatorul către articolul de ajutor www.samplewebsite.com/help/faq

Client: Nu mă pot conecta la contul meu.
Agent:

8. Specific generării de cod - Folosiți „cuvinte de început” pentru a orienta modelul către un anumit tipar

Mai puțin eficient ❌:

# Scrie o funcție python simplă care
# 1. Îmi cere un număr în mile
# 2. Convertește milele în kilometri

În exemplul de cod de mai jos, adăugarea „import” îi sugerează modelului că ar trebui să înceapă să scrie în Python. (În mod similar, „SELECT” este un indiciu bun pentru începutul unei instrucțiuni SQL.)

Mai bine ✅:

# Scrie o funcție python simplă care
# 1. Îmi cere un număr în mile
# 2. Convertește milele în kilometri

import

9. Utilizați funcția Generează orice

Dezvoltatorii pot folosi funcția „Generează orice” pentru a descrie o sarcină sau un rezultat așteptat în limbaj natural și pentru a primi o solicitare personalizată.


Aflați mai multe despre utilizarea funcției „Generează orice”.

Parametri

În general, constatăm că `model` și `temperature` sunt parametrii utilizați cel mai frecvent pentru a modifica rezultatul modelului.

  1. `model` - Modelele cu performanțe mai ridicate sunt, în general, mai costisitoare și pot avea o latență mai mare.

  2. `temperature` - O măsură a frecvenței cu care modelul produce un token mai puțin probabil. Cu cât temperature este mai mare, cu atât rezultatul este mai aleatoriu (și, de obicei, mai creativ). Totuși, acest lucru nu este același cu „veridicitatea”. Pentru majoritatea cazurilor de utilizare factuale, cum ar fi extragerea datelor și întrebările și răspunsurile veridice, temperature de 0 este cea mai bună.

  3. `max_completion_tokens` (lungime maximă) - Nu controlează lungimea rezultatului, ci impune o limită strictă pentru generarea de tokeni. Ideal, nu veți atinge des această limită, deoarece modelul se va opri fie când consideră că a terminat, fie când ajunge la o secvență de oprire definită de dvs.

  4. `stop` (secvențe de oprire) - Un set de caractere (tokeni) care, atunci când sunt generate, vor determina oprirea generării textului.

Pentru descrieri ale altor parametri, consultați referința API.

A fost util acest articol?