Paano gumagana ang prompt engineering
Dahil sa paraan ng pagsasanay sa mga modelo ng OpenAI, may mga partikular na format ng prompt na mas epektibo at humahantong sa mas kapaki-pakinabang na output ng modelo. Ang opisyal na gabay sa prompt engineering ng OpenAI ang karaniwang pinakamagandang simulan para sa mga tip sa pag-prompt.
Sa ibaba, nagpapakita kami ng ilang format ng prompt na sa tingin namin ay gumagana nang mabuti, pero malaya kang sumubok ng iba’t ibang format na maaaring mas angkop sa iyong gawain.
Mga Panuntunan at Halimbawa
Tandaan: ang “{text input here}” ay placeholder para sa aktuwal na text/konteksto
1. Gamitin ang pinakabagong modelo
Para sa pinakamahusay na resulta, karaniwang inirerekomenda namin ang paggamit ng pinakabago at pinakakayang mga modelo. Mas madaling i-prompt engineer ang mas bagong mga modelo.
Tandaan: May ilang pagkakaibang dapat isaalang-alang kapag nagpo-prompt ng nangangatwirang modelo kumpara sa pagpo-prompt ng GPT model. Higit pang detalye dito.
2. Ilagay ang mga tagubilin sa simula ng prompt at gumamit ng ### o """ para paghiwalayin ang tagubilin at konteksto
Hindi gaanong epektibo ❌:
Ibuod ang teksto sa ibaba bilang listahang may bullet ng pinakamahahalagang punto.
{text input here}Mas mahusay ✅:
Ibuod ang teksto sa ibaba bilang listahang may bullet ng pinakamahahalagang punto.
Teksto: """
{text input here}
"""3. Maging tiyak, mapaglarawan, at detalyado hangga’t maaari tungkol sa gustong konteksto, resulta, haba, format, estilo, atbp.
Maging tiyak tungkol sa konteksto, resulta, haba, format, estilo, atbp.
Hindi gaanong epektibo ❌:
Sumulat ng tula tungkol sa OpenAI. Mas mahusay ✅:
Sumulat ng isang maikli at nakaaantig na tulang pampasigla tungkol sa OpenAI, na nakatuon sa kamakailang paglulunsad ng produktong DALL-E (ang DALL-E ay isang text-to-image ML model) sa istilo ni {famous poet}4. Ipahayag ang gustong format ng output sa pamamagitan ng mga halimbawa
Hindi gaanong epektibo ❌:
Kunin ang mga entity na binanggit sa teksto sa ibaba. Kunin ang sumusunod na 4 na uri ng entity: mga pangalan ng kumpanya, mga pangalan ng tao, mga partikular na paksa at mga tema.
Teksto: {text}Ipakita at sabihin - mas mahusay tumugon ang mga modelo kapag ipinapakita ang mga partikular na kinakailangan sa format. Ginagawa rin nitong mas madaling i-parse nang programmatically ang maraming output nang maaasahan.
Mas mahusay ✅:
Kunin ang mahahalagang entity na binanggit sa teksto sa ibaba. Unahin ang lahat ng pangalan ng kumpanya, pagkatapos ay ang lahat ng pangalan ng tao, pagkatapos ay ang mga partikular na paksa na akma sa nilalaman at panghuli ay ang mga pangkalahatang tema
Ninanais na format:
Mga pangalan ng kumpanya: <comma_separated_list_of_company_names>
Mga pangalan ng tao: -||-
Mga partikular na paksa: -||-
Mga pangkalahatang tema: -||-
Teksto: {text}5. Magsimula sa zero-shot, pagkatapos ay few-shot; kung wala sa mga ito ang gumana, mag-fine-tune
✅ Zero-shot
Kunin ang mga keyword mula sa teksto sa ibaba.
Teksto: {text}
Mga keyword:✅ Few-shot - magbigay ng ilang halimbawa
Kunin ang mga keyword mula sa kaukulang mga teksto sa ibaba.
Teksto 1: Nagbibigay ang Stripe ng mga API na magagamit ng mga web developer upang isama ang pagproseso ng bayad sa kanilang mga website at mobile application.
Mga keyword 1: Stripe, pagproseso ng bayad, mga API, mga web developer, mga website, mga mobile application
##
Teksto 2: Nagsanay ang OpenAI ng mga makabagong modelo ng wika na napakahusay sa pag-unawa at pagbuo ng teksto. Ang aming API ay nagbibigay ng access sa mga modelong ito at maaaring gamitin upang lutasin ang halos anumang gawain na may kinalaman sa pagproseso ng wika.
Mga keyword 2: OpenAI, mga modelo ng wika, pagproseso ng teksto, API.
##
Teksto 3: {text}
Mga keyword 3:✅Fine-tune: tingnan ang best practices sa fine-tune dito.
6. Bawasan ang “paligoy-ligoy” at hindi tiyak na mga paglalarawan
Hindi gaanong epektibo ❌:
Ang paglalarawan para sa produktong ito ay dapat na medyo maikli, ilang pangungusap lamang, at hindi masyadong mahaba.Mas mahusay ✅:
Gumamit ng talatang may 3 hanggang 5 pangungusap upang ilarawan ang produktong ito.7. Sa halip na sabihin lang kung ano ang hindi dapat gawin, sabihin kung ano ang dapat gawin
Hindi gaanong epektibo ❌:
Ang sumusunod ay isang usapan sa pagitan ng isang Agent at isang Customer. HUWAG MANGHINGI NG USERNAME O PASSWORD. HUWAG ULITIN.
Customer: Hindi ako makapag-log in sa aking account.
Agent:Mas mahusay ✅:
Ang sumusunod ay isang usapan sa pagitan ng isang agent at isang customer. Susubukan ng agent na tukuyin ang problema at magmungkahi ng solusyon, habang umiiwas sa pagtatanong ng anumang tanong na may kaugnayan sa PII. Sa halip na humingi ng PII, tulad ng username o password, ituro ang user sa help article na www.samplewebsite.com/help/faq
Customer: Hindi ako makapag-log in sa aking account.
Agent:8. Partikular sa Code Generation - Gumamit ng “mga panimulang salita” para itulak ang modelo patungo sa isang partikular na pattern
Hindi gaanong epektibo ❌:
# Sumulat ng simpleng python function na
# 1. Hihingi sa akin ng numero sa mile
# 2. Kino-convert nito ang miles sa kilometersSa halimbawa ng code sa ibaba, ang pagdaragdag ng “import” ay nagpapahiwatig sa modelo na dapat itong magsimulang magsulat sa Python. (Katulad nito, magandang pahiwatig ang “SELECT” para sa simula ng SQL statement.)
Mas mahusay ✅:
# Sumulat ng simpleng python function na
# 1. Hihingi sa akin ng numero sa mile
# 2. Kino-convert nito ang miles sa kilometers
import9. Gamitin ang feature na “Bumuo ng Anuman”
Maaaring gamitin ng mga developer ang feature na 'Bumuo ng Anuman' para ilarawan ang isang gawain o inaasahang natural language output at makatanggap ng iniangkop na prompt.
Matuto pa tungkol sa paggamit ng feature na 'Bumuo ng Anuman'.
Mga Parameter
Sa pangkalahatan, nakikita naming ang `model` at `temperature` ang mga pinakakaraniwang ginagamit na parameter para baguhin ang output ng modelo.
`model` - Sa pangkalahatan, mas mahal ang mga modelo na may mas mataas na performance at maaaring mas mataas ang latency.
`temperature` - Sukatan kung gaano kadalas naglalabas ang modelo ng token na mas mababa ang posibilidad. Kapag mas mataas ang
temperature, mas random (at karaniwang mas malikhain) ang output. Gayunpaman, hindi ito kapareho ng “pagiging makatotohanan”. Para sa karamihan ng factual na use case gaya ng data extraction at makatotohanang Q&A, pinakamainam angtemperaturena 0.`max_completion_tokens` (maximum na haba) - Hindi nito kinokontrol ang haba ng output, kundi isang hard cutoff limit para sa pagbuo ng token. Mainam na hindi mo madalas maabot ang limitasyong ito, dahil hihinto ang iyong modelo kapag sa tingin nito ay tapos na ito, o kapag naabot nito ang stop sequence na tinukoy mo.
`stop` (mga stop sequence) - Isang set ng mga character (token) na, kapag nabuo, ay magpapahinto sa pagbuo ng text.
Para sa iba pang paglalarawan ng parameter, tingnan ang API reference.
