OpenAI
Ova stranica je mašinski prevedena. Pogledaj originalni članak na engleskom jeziku.

Najbolje prakse za izradu upita uz OpenAI API

Kako dati jasne i učinkovite upute OpenAI modelima

Ažurirano: 8 days ago

Kako funkcioniše izrada upita

Zbog načina na koji se OpenAI modeli treniraju, postoje specifični formati upita koji posebno dobro funkcionišu i dovode do korisnijih izlaza modela. Zvanični vodič za izradu upita kompanije OpenAI obično je najbolje mjesto za početak kada tražite savjete za upite.

U nastavku predstavljamo niz formata upita za koje smatramo da dobro funkcionišu, ali slobodno istražite i druge formate koji mogu bolje odgovarati vašem zadatku.

Pravila iz prakse i primjeri

Napomena: „{text input here}“ je rezervirano mjesto za stvarni tekst/kontekst

1. Koristite najnoviji model

Za najbolje rezultate općenito preporučujemo korištenje najnovijih i najsposobnijih modela. Kod novijih modela izrada upita obično je lakša.


Napomena: Postoje neke razlike koje treba uzeti u obzir kada se upit daje modelu rezonovanja u odnosu na GPT model. Više detalja ovdje.

2. Stavite upute na početak upita i koristite ### ili """ za odvajanje upute i konteksta

Manje učinkovito ❌:

Sažmi tekst ispod kao listu najvažnijih stavki s grafičkim oznakama.

{text input here}

Bolje ✅:

Sažmi tekst ispod kao listu najvažnijih stavki s grafičkim oznakama.

Tekst: """
{text input here}
"""

3. Budite što konkretniji, opisniji i detaljniji u vezi sa željenim kontekstom, ishodom, dužinom, formatom, stilom itd.

Budite konkretni u vezi s kontekstom, ishodom, dužinom, formatom, stilom itd.

Manje učinkovito ❌:

Napiši pjesmu o OpenAI. 

Bolje ✅:

Napiši kratku inspirativnu pjesmu o OpenAI, fokusirajući se na nedavno lansiranje proizvoda DALL-E (DALL-E je ML model za pretvaranje teksta u sliku) u stilu {famous poet}

4. Izrazite željeni format izlaza kroz primjere

Manje učinkovito ❌:

Izdvoji entitete spomenute u tekstu ispod. Izdvoji sljedeće 4 vrste entiteta: nazive kompanija, imena ljudi, specifične teme i opće teme.

Tekst: {text}

Pokažite i recite - modeli bolje reaguju kada im se pokažu specifični zahtjevi za format. To također olakšava pouzdano programsko parsiranje više izlaza.

Bolje ✅:

Izdvoji važne entitete spomenute u tekstu ispod. Prvo izdvoji sve nazive kompanija, zatim sva imena ljudi, potom specifične teme koje odgovaraju sadržaju i na kraju opće krovne teme

Željeni format:
Nazivi kompanija: <lista_naziva_kompanija_odvojenih_zarezom>
Imena ljudi: -||-
Specifične teme: -||-
Opće teme: -||-

Tekst: {text}

5. Počnite s učenjem bez primjera, zatim s učenjem s malim brojem primjera; ako nijedno ne uspije, fino podesite

✅ Učenje bez primjera

Izdvoji ključne riječi iz teksta ispod.

Tekst: {text}

Ključne riječi:

✅ Učenje s malim brojem primjera - navedite nekoliko primjera

Izdvoji ključne riječi iz odgovarajućih tekstova ispod.

Tekst 1: Stripe pruža 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čke modele koji su vrlo dobri u razumijevanju i generiranju teksta. Naš API pruža pristup ovim modelima i može se koristiti za rješavanje gotovo svakog zadatka koji uključuje obradu jezika.
Ključne riječi 2: OpenAI, jezički modeli, obrada teksta, API.
##
Tekst 3: {text}
Ključne riječi 3:

✅Fino podešavanje: najbolje prakse za fino podešavanje pogledajte ovdje.

6. Smanjite „prazne“ i neprecizne opise

Manje učinkovito ❌:

Opis ovog proizvoda treba biti prilično kratak, svega nekoliko rečenica i ne mnogo više od toga.

Bolje ✅:

Upotrijebi odlomak od 3 do 5 rečenica da opišeš ovaj proizvod.

7. Umjesto da samo kažete šta ne treba raditi, recite šta treba uraditi 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, uz suzdržavanje od postavljanja bilo kakvih pitanja vezanih za PII. Umjesto traženja PII-ja, kao što su korisničko ime ili lozinka, uputi korisnika na članak pomoći www.samplewebsite.com/help/faq

Korisnik: Ne mogu se prijaviti na svoj račun.
Agent:

8. Specifično za generisanje koda - koristite „vodeće riječi“ da usmjerite model prema određenom obrascu

Manje učinkovito ❌:

# Napiši jednostavnu python funkciju koja
# 1. Traži od mene broj u miljama
# 2. Pretvara milje u kilometre

U primjeru koda u nastavku dodavanje „import“ nagovještava modelu da treba početi pisati u Pythonu. (Slično tome, „SELECT“ je dobar nagovještaj za početak SQL naredbe.)

Bolje ✅:

# Napiši jednostavnu python funkciju koja
# 1. Traži od mene broj u miljama
# 2. Pretvara milje u kilometre

import

9. Koristite funkciju „Generiraj bilo šta“

Programeri mogu koristiti funkciju „Generiraj bilo šta“ da opišu zadatak ili očekivani izlaz na prirodnom jeziku i dobiju prilagođeni upit.


Saznajte više o korištenju funkcije „Generiraj bilo šta“.

Parametri

Općenito smatramo da su `model` i `temperature` najčešće korišteni parametri za promjenu izlaza modela.

  1. `model` - Modeli viših performansi općenito su skuplji i mogu imati veću latenciju.

  2. `temperature` - Mjera koliko često model daje manje vjerovatan token. Što je temperature viša, izlaz je nasumičniji (i obično kreativniji). Međutim, to nije isto što i „istinitost“. Za većinu činjeničnih slučajeva upotrebe, kao što su izdvajanje podataka i istiniti odgovori na pitanja, najbolja je vrijednost temperature od 0.

  3. `max_completion_tokens` (maksimalna dužina) - Ne kontroliše dužinu izlaza, već postavlja strogo ograničenje za generisanje tokena. U idealnom slučaju nećete često dosezati ovo ograničenje, jer će se model zaustaviti kada smatra da je završio ili kada naiđe na stop-sekvencu koju ste definisali.

  4. `stop` (stop-sekvence) - Skup znakova (tokena) koji, kada se generišu, uzrokuju zaustavljanje generisanja teksta.

Za opise drugih parametara pogledajte API referencu.

Da li je ovaj članak bio koristan?