Hogyan működik az utasítás tervezés
Az OpenAI modelljeinek betanítási módja miatt vannak olyan konkrét utasításformátumok, amelyek különösen jól működnek, és hasznosabb modellkimenetekhez vezetnek. Az OpenAI hivatalos utasítás tervezési útmutatója általában a legjobb kiindulópont az utasításokkal kapcsolatos tippekhez.
Az alábbiakban bemutatunk több olyan utasításformátumot, amelyek tapasztalataink szerint jól működnek, de nyugodtan próbálj ki más formátumokat is, amelyek jobban illeszkedhetnek a feladatodhoz.
Ökölszabályok és példák
Megjegyzés: a „{text input here}” a tényleges szöveg/kontextus helyőrzője
1. Használd a legújabb modellt
A legjobb eredmények érdekében általában a legújabb, legképességesebb modellek használatát javasoljuk. Az újabb modellek esetében általában könnyebb az utasítás tervezés.
Megjegyzés: Van néhány különbség, amelyet figyelembe kell venni, amikor érvelési modellhez adsz utasítást, szemben egy GPT modellhez adott utasítással. További részletek itt.
2. Tedd az utasításokat az utasítás elejére, és használj ### vagy """ jelet az utasítás és a kontextus elválasztására
Kevésbé hatékony ❌:
Foglald össze az alábbi szöveget a legfontosabb pontokból álló felsorolásként.
{text input here}Jobb ✅:
Foglald össze az alábbi szöveget a legfontosabb pontokból álló felsorolásként.
Szöveg: """
{text input here}
"""3. Légy konkrét, leíró és a lehető legrészletesebb a kívánt kontextusról, eredményről, hosszról, formátumról, stílusról stb.
Légy konkrét a kontextusról, eredményről, hosszról, formátumról, stílusról stb.
Kevésbé hatékony ❌:
Írj egy verset az OpenAI-ról. Jobb ✅:
Írj egy rövid, inspiráló verset az OpenAI-ról, amely a DALL-E közelmúltbeli termékbevezetésére összpontosít (a DALL-E egy szövegből képet létrehozó ML modell), {famous poet} stílusában4. Példákon keresztül fogalmazd meg a kívánt kimeneti formátumot
Kevésbé hatékony ❌:
Nyerd ki az alábbi szövegben említett entitásokat. A következő 4 entitástípust nyerd ki: cégnevek, személynevek, konkrét témák és témakörök.
Szöveg: {text}Mutasd és mondd el – a modellek jobban reagálnak, ha konkrét formátumkövetelményeket mutatunk nekik. Ez azt is megkönnyíti, hogy programozottan, megbízhatóan feldolgozz több kimenetet.
Jobb ✅:
Nyerd ki az alábbi szövegben említett fontos entitásokat. Először az összes cégnevet nyerd ki, aztán az összes személynevet, majd a tartalomhoz illő konkrét témákat, végül az általános, átfogó témákat
Kívánt formátum:
Cégnevek: <vesszővel_elválasztott_cégnevek_listája>
Személynevek: -||-
Konkrét témák: -||-
Általános témák: -||-
Szöveg: {text}5. Kezdd zéró lövésessel, majd kevés lövésessel; ha egyik sem működik, finomhangolj
✅ Zéró lövéses
Nyerd ki a kulcsszavakat az alábbi szövegből.
Szöveg: {text}
Kulcsszavak:✅ Kevés lövéses – adj meg néhány példát
Nyerd ki a kulcsszavakat az alábbi kapcsolódó szövegekből.
1. szöveg: A Stripe olyan API-kat biztosít, amelyeket a webfejlesztők fizetésfeldolgozás integrálására használhatnak a weboldalaikba és mobilalkalmazásaikba.
1. kulcsszavak: Stripe, fizetésfeldolgozás, API-k, webfejlesztők, weboldalak, mobilalkalmazások
##
2. szöveg: Az OpenAI élvonalbeli nyelvi modelleket tanított be, amelyek nagyon jók a szöveg megértésében és generálásában. Az API-nk hozzáférést biztosít ezekhez a modellekhez, és gyakorlatilag bármilyen, nyelvfeldolgozással járó feladat megoldására használható.
2. kulcsszavak: OpenAI, nyelvi modellek, szövegfeldolgozás, API.
##
3. szöveg: {text}
3. kulcsszavak:✅Finomhangolás: a finomhangolási bevált gyakorlatokat itt találod.
6. Csökkentsd a „fellengzős” és pontatlan leírásokat
Kevésbé hatékony ❌:
Ennek a terméknek a leírása legyen viszonylag rövid, csak néhány mondat, és ne legyen sokkal hosszabb annál.Jobb ✅:
Használj egy 3–5 mondatos bekezdést a termék leírására.7. Ne csak azt mondd meg, mit ne tegyen, hanem azt is, mit tegyen helyette
Kevésbé hatékony ❌:
Az alábbiak egy Ügynök és egy Ügyfél közötti beszélgetést mutatnak. NE KÉRJ FELHASZNÁLÓNEVET VAGY JELSZÓT. NE ISMÉTELD.
Ügyfél: Nem tudok bejelentkezni a fiókomba.
Ügynök:Jobb ✅:
Az alábbiak egy Ügynök és egy Ügyfél közötti beszélgetést mutatnak. Az ügynök megpróbálja diagnosztizálni a problémát és megoldást javasolni, miközben tartózkodik a személyazonosításra alkalmas adatokkal kapcsolatos kérdésektől. Ahelyett, hogy PII-t, például felhasználónevet vagy jelszót kérne, irányítsa a felhasználót a következő súgócikkhez: www.samplewebsite.com/help/faq
Ügyfél: Nem tudok bejelentkezni a fiókomba.
Ügynök:8. Kifejezetten kódgeneráláshoz – használj „vezető szavakat”, hogy a modellt egy adott minta felé tereld
Kevésbé hatékony ❌:
# Írj egy egyszerű python függvényt, amely
# 1. Bekér tőlem egy mérföldben megadott számot
# 2. Átváltja a mérföldeket kilométerreAz alábbi kódpéldában az „import” hozzáadása jelzi a modellnek, hogy Pythonban kezdjen írni. (Hasonlóképpen a „SELECT” jó jelzés egy SQL-utasítás elejére.)
Jobb ✅:
# Írj egy egyszerű python függvényt, amely
# 1. Bekér tőlem egy mérföldben megadott számot
# 2. Átváltja a mérföldeket kilométerre
import9. Használd a „Bármi generálása” funkciót
A fejlesztők a „Bármi generálása” funkcióval leírhatnak egy feladatot vagy egy várt természetes nyelvű kimenetet, és személyre szabott utasítást kaphatnak.
Tudj meg többet a „Bármi generálása” funkció használatáról.
Paraméterek
Általában azt tapasztaljuk, hogy a `model` és a `temperature` a leggyakrabban használt paraméterek a modell kimenetének módosítására.
`model` - A nagyobb teljesítményű modellek általában drágábbak, és nagyobb késleltetésük lehet.
`temperature` - Azt méri, milyen gyakran ad ki a modell kevésbé valószínű tokent. Minél magasabb a
temperature, annál véletlenszerűbb (és általában kreatívabb) a kimenet. Ez azonban nem azonos az „igazságtartalommal”. A legtöbb tényszerű felhasználási esethez, például adatkinyeréshez és igazsághű kérdés-válaszhoz, a 0-stemperaturea legjobb.`max_completion_tokens` (maximális hossz) - Nem a kimenet hosszát szabályozza, hanem a tokengenerálás kemény felső korlátja. Ideális esetben ritkán éred el ezt a korlátot, mert a modelled akkor áll le, amikor úgy gondolja, hogy végzett, vagy amikor elér egy általad meghatározott leállítási szekvenciát.
`stop` (leállítási szekvenciák) - Karakterek (tokenek) készlete, amelyek generálásakor a szöveggenerálás leáll.
Más paraméterek leírásához lásd az API-referenciát.
