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 smatramo da su `model` i `temperature` najčešće upotrebljavani parametri za mijenjanje izlaza modela.
`model` - Modeli s boljim performansama općenito su skuplji i mogu imati veću latenciju.
`temperature` - Mjera koliko često model generira manje vjerojatan token. Što je
temperatureviši, izlaz je nasumičniji (i obično kreativniji). To, međutim, nije isto što i „istinitost”. Za većinu činjeničnih slučajeva upotrebe, kao što su izdvajanje podataka i istinito odgovaranje na pitanja, najbolja je vrijednosttemperature0.`max_completion_tokens` (maksimalna duljina) - Ne upravlja duljinom izlaza, već postavlja strogu granicu za generiranje tokena. U idealnom slučaju nećete često dosegnuti tu granicu jer će se model zaustaviti ili kad procijeni da je završio ili kad dosegne sekvencu zaustavljanja koju ste definirali.
`stop` (sekvence zaustavljanja) - Skup znakova (tokena) koji će, kad se generiraju, zaustaviti generiranje teksta.
Opise ostalih parametara potražite u referenci API-ja.
