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
import9. 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.
model – Modelele mai performante sunt, în general, mai scumpe și pot avea o latență mai mare.
temperature – O măsură a frecvenței cu care modelul generează un token mai puțin probabil. Cu cât valoarea temperature este mai mare, cu atât rezultatul este mai aleatoriu (și, de obicei, mai creativ). Totuși, acest lucru nu este sinonim cu „veridicitatea”. Pentru majoritatea utilizărilor bazate pe informații factuale, precum extragerea datelor și răspunsurile corecte la întrebări, valoarea optimă pentru temperature este 0.
max_completion_tokens (lungime maximă) – Nu controlează lungimea rezultatului, ci stabilește o limită strictă la care generarea de tokeni este întreruptă. În mod ideal, această limită va fi atinsă rar, deoarece modelul se va opri fie când consideră că a terminat, fie când ajunge la o secvență de oprire definită de dvs.
stop (secvențe de oprire) – Un set de caractere (tokeni) care, odată generate, determină oprirea generării textului.
Pentru descrierea celorlalți parametri, consultați documentația de referință API.
