Kako funkcionira inženjering upita
Zbog načina na koji se OpenAI modeli treniraju, postoje posebni formati upita koji osobito dobro funkcioniraju i dovode do korisnijih izlaza modela. Službeni vodič za inženjering upita tvrtke OpenAI obično je najbolje mjesto za početak ako tražite savjete za pisanje upita.
U nastavku predstavljamo niz formata upita za koje smatramo da dobro funkcioniraju, ali slobodno istražite i druge formate koji mogu bolje odgovarati vašem zadatku.
Osnovna pravila i primjeri
Napomena: „{text input here}” rezervirano je mjesto za stvarni tekst/kontekst
1. Upotrijebite najnoviji model
Za najbolje rezultate općenito preporučujemo upotrebu najnovijih i najsposobnijih modela. Noviji su modeli obično lakši za inženjering upita.
Napomena: Postoje neke razlike koje treba uzeti u obzir pri pisanju upita za model za rasuđivanje u odnosu na pisanje upita za GPT model. Više pojedinosti pronađite ovdje.
2. Upute stavite na početak upita i upotrijebite ### ili „”” za odvajanje upute od konteksta
Manje učinkovito ❌:
Sažmite tekst u nastavku kao popis s grafičkim oznakama najvažnijih točaka.
{text input here}Bolje ✅:
Sažmite tekst u nastavku kao popis s grafičkim oznakama najvažnijih točaka.
Tekst: """
{text input here}
"""3. Budite što konkretniji, opisniji i detaljniji o željenom kontekstu, ishodu, duljini, formatu, stilu itd.
Budite konkretni u pogledu konteksta, ishoda, duljine, formata, stila itd.
Manje učinkovito ❌:
Napišite pjesmu o OpenAI-ju. Bolje ✅:
Napišite kratku nadahnjujuću pjesmu o OpenAI-ju, usredotočenu na nedavno lansiranje proizvoda DALL-E (DALL-E je ML model za pretvaranje teksta u sliku) u stilu {famous poet}4. Prikažite željeni format izlaza pomoću primjera
Manje učinkovito ❌:
Izdvojite entitete spomenute u tekstu u nastavku. Izdvojite sljedeće 4 vrste entiteta: nazive tvrtki, imena osoba, specifične teme i opće teme.
Tekst: {text}Pokažite i recite – modeli bolje reagiraju kad im se pokažu konkretni zahtjevi za format. To također olakšava pouzdano programsko raščlanjivanje više izlaza.
Bolje ✅:
Izdvojite važne entitete spomenute u tekstu u nastavku. Prvo izdvojite sve nazive tvrtki, zatim sva imena osoba, potom specifične teme koje odgovaraju sadržaju i na kraju opće krovne teme
Željeni format:
Nazivi tvrtki: <zarezima_odvojen_popis_naziva_tvrtki>
Imena osoba: -||-
Specifične teme: -||-
Opće teme: -||-
Tekst: {text}5. Počnite s učenjem bez primjera, zatim s učenjem s malim brojem primjera, a ako nijedno ne uspije, fino ugodite model
✅ Učenje bez primjera
Izdvojite ključne riječi iz teksta u nastavku.
Tekst: {text}
Ključne riječi:✅ Učenje s malim brojem primjera – navedite nekoliko primjera
Izdvojite ključne riječi iz odgovarajućih tekstova u nastavku.
Tekst 1: Stripe nudi API-je koje web-programeri mogu koristiti za integraciju obrade plaćanja u svoje web-stranice i mobilne aplikacije.
Ključne riječi 1: Stripe, obrada plaćanja, API-ji, web-programeri, web-stranice, mobilne aplikacije
##
Tekst 2: OpenAI je trenirao napredne jezične modele koji su vrlo dobri u razumijevanju i generiranju teksta. Naš API pruža pristup tim modelima i može se koristiti za rješavanje gotovo svakog zadatka koji uključuje obradu jezika.
Ključne riječi 2: OpenAI, jezični modeli, obrada teksta, API.
##
Tekst 3: {text}
Ključne riječi 3:✅Fino ugađanje: najbolje prakse finog ugađanja pogledajte ovdje.
6. Smanjite „prazne” i neprecizne opise
Manje učinkovito ❌:
Opis ovog proizvoda trebao bi biti prilično kratak, svega nekoliko rečenica i ne puno više od toga.Bolje ✅:
Upotrijebite odlomak od 3 do 5 rečenica da opišete ovaj proizvod.7. Umjesto da samo kažete što ne treba raditi, recite što treba raditi umjesto toga
Manje učinkovito ❌:
Slijedi razgovor između agenta i korisnika. NE TRAŽI KORISNIČKO IME ILI LOZINKU. NE PONAVLJAJ.
Korisnik: Ne mogu se prijaviti na svoj račun.
Agent:Bolje ✅:
Slijedi razgovor između agenta i korisnika. agent će pokušati dijagnosticirati problem i predložiti rješenje, pritom se suzdržavajući od postavljanja bilo kakvih pitanja povezanih s PII-jem. Umjesto traženja PII-ja, kao što su korisničko ime ili lozinka, uputite korisnika na članak pomoći www.samplewebsite.com/help/faq
Korisnik: Ne mogu se prijaviti na svoj račun.
Agent:8. Specifično za generiranje koda – upotrijebite „početne riječi” kako biste usmjerili model prema određenom obrascu
Manje učinkovito ❌:
# Napišite jednostavnu python funkciju koja
# 1. Traži od mene broj u miljama
# 2. Pretvara milje u kilometreU primjeru koda u nastavku dodavanje „import” daje modelu naznaku da treba početi pisati u Pythonu. (Slično tome, „SELECT” je dobra naznaka za početak SQL izraza.)
Bolje ✅:
# Napišite jednostavnu python funkciju koja
# 1. Traži od mene broj u miljama
# 2. Pretvara milje u kilometre
import9. Upotrijebite značajku Generiraj bilo što
Razvojni programeri mogu upotrijebiti značajku „Generiraj bilo što” kako bi opisali zadatak ili očekivani izlaz na prirodnom jeziku i dobili prilagođeni upit.
Saznajte više o upotrebi značajke „Generiraj bilo što”.
Parametri
Općenito, model i temperatura najčešće su korišteni parametri za promjenu izlaznog rezultata modela.
model – Modeli boljih performansi uglavnom su skuplji i mogu imati veću latenciju.
temperatura – Mjera učestalosti kojom model generira manje vjerojatan token. Što je temperatura viša, izlazni je rezultat nasumičniji (i obično kreativniji). Međutim, to nije isto što i „istinitost”. Za većinu činjeničnih slučajeva upotrebe, poput izdvajanja podataka te točnih pitanja i odgovora, najbolja je temperatura 0.
max_completion_tokens (maksimalna duljina) – Ne određuje duljinu izlaznog rezultata, već postavlja čvrstu granicu nakon koje se generiranje tokena prekida. U idealnom slučaju nećete često dosegnuti tu granicu jer će se model zaustaviti kada procijeni da je završio ili kada dođe do definiranog slijeda za zaustavljanje.
stop (sljedovi za zaustavljanje) – Skup znakova (tokena) koji će, kada se generiraju, zaustaviti generiranje teksta.
Opise ostalih parametara potražite u referentnoj dokumentaciji API-ja.
