Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Modely GPT-3, GPT-3.5, GPT-4 a GPT-4o z OpenAI jsou založené na příkazovém řádku. S modely založenými na dotazech uživatel komunikuje zadáním textového dotazu, na který model reaguje doplněním textu. Toto dokončení je pokračováním modelu ve vstupním textu. Tyto techniky se nedoporučuje pro modely řady o-series.
I když jsou tyto modely mimořádně výkonné, jejich chování je také velmi citlivé na konkrétní dotazy. Proto je konstrukce promptů důležitou dovedností, kterou je potřeba rozvíjet.
Konstrukce pokynů může být obtížná. V praxi výzva slouží ke konfiguraci vah modelu tak, aby splnila požadovaný úkol, ale je to spíše umění než věda, často vyžaduje zkušenosti a intuici k sestavení úspěšné výzvy. Cílem tohoto článku je pomoct vám začít s tímto procesem učení. Pokouší se zachytit obecné koncepty a vzory, které platí pro všechny modely GPT. Je ale důležité pochopit, že se každý model chová odlišně, takže učení nemusí platit stejně pro všechny modely.
Základy
Tato část popisuje základní koncepty a prvky výzev GPT.
Textové výzvy jsou způsob interakce uživatelů s modely GPT. Stejně jako u všech generativních jazykových modelů se modely GPT pokoušejí vytvořit další řadu slov, která budou pravděpodobně následovat z předchozího textu. Je to, jako bychom říkali , co je první věc, která přijde na vaši mysl, když říkám <prompt>
? Níže uvedené příklady ukazují toto chování. Vzhledem k prvním slovům slavného obsahu je model schopen přesně pokračovat v textu.
Výzva | Dokončení |
---|---|
Před osmdesáti sedmi lety naší | na tomto kontinentu vznikl nový národ, počatý ve svobodě a zasvěcený myšlence, že všichni lidé jsou si rovni. […] |
Říkej mi Ishmael. | "Před několika lety—nezáleží, jak dlouho přesně—mít málo nebo žádné peníze v kapse a nic zvláštního, co by mě na břehu zajímalo, myslel jsem, že se trochu poplavu po vodách světa." |
Při vývoji složitějších výzev je užitečné mít na paměti toto základní chování. Bez ohledu na poskytnutou výzvu model jednoduše reaguje tím, co považuje za nejpravděpodobnější (vzhledem k výcvikovým datům a výcvikovým cílům). Pokud ve výzvě položíte otázku, model nesleduje samostatnou cestu kódu „Q&A“, ale zdá se, že odpovídá na otázku, protože odpověď je nejpravděpodobnější reakcí na danou otázku, která byla zadána jako vstup.
Komponenty výzvy
Pokud používáte rozhraní Completion API a mezi různými částmi výzvy není žádné rozlišení, může být stále užitečné pro učení a diskusi identifikovat základní složky výzvy. Rozhraní API pro dokončování chatu obsahuje různé části výzvy, které se odesílají do rozhraní API ve formě pole slovníků s přidruženými rolemi: systém, uživatel a asistent. Tyto pokyny se obecněji zaměřují na to, jak se zamyslet nad vytvářením výzev, a ne na poskytování preskriptivních pokynů specifických pro jedno rozhraní API.
Je také důležité pochopit, že i když mohou existovat další platné způsoby, jak analyzovat výzvy, cílem tohoto rozboru je poskytnout relativně jednoduchý způsob, jak uvažovat o sestavování výzev. S rozhraním API pro dokončování jsou všechny komponenty volitelné, ale alespoň jedna musí být k dispozici a většina výzev obsahuje více než jednu komponentu. Mezi součástmi může být také šedá oblast. Pořadí uvedené níže přibližně odpovídá tomu, jak často se jednotlivé komponenty používají, od většiny po nejnižší.
Pokyny
Pokyny jsou pravděpodobně nejčastěji používanou komponentou výzvy. Pokyny jsou jednoduše následující: pokyny k modelu o tom, co dělat. I když jsou v konceptu jednoduché, můžou být v praxi složité. Následující tabulka to ilustruje zobrazením jednoduchých i složitějších instrukcí ve dvou různých formách.
Typ instrukce | Výzva | Dokončení |
---|---|---|
Jednoduché pokyny | Napište úvod do týdenního bulletinu. | Vítejte v našem týdenním bulletinu. Tento týden se zaměřujeme na produktivitu. Budeme sdílet tipy a triky o tom, jak být produktivní ve všech oblastech vašeho života. Doufáme, že se vám líbí a rádi se podělíte se svými přáteli! |
Složité pokyny | Napište úvod do týdenního bulletinu společnosti Contoso. Mělo by zmínit skvělé hromadné setkání, které jsme měli minulý týden, a poděkovat týmu za jejich tvrdou práci v uplynulých několika náročných měsících. | Vítejte v týdenním bulletinu společnosti Contoso! Měli jsme skvělé celofiremní setkání minulý týden a chci poděkovat týmu za všechnu tvrdou práci v uplynulých náročných měsících. Těšíme se na jasnou budoucnost a jsem si jistá, že s odhodláním a závazkem našeho týmu dosáhneme skvělých věcí. Děkujeme, že jste součástí našeho týmu a těším se na spolupráci se všemi v nadcházejících týdnech a měsících. Upřímně, [Vaše jméno]. |
Složité pokyny | Napište úvod do týdenního bulletinu, včetně následujících: – Moje společnost má název contoso - Radostný pozdrav - Děkujeme týmu za jejich tvrdou práci za pár náročných měsíců - Pozitivní výhled na nadcházející čtvrtletí Podepsáno od SLT |
Dobrý den, tým Společnosti Contoso! Chtěl jsem chvilku poděkovat za vaši tvrdou práci za posledních pár měsíců. Bylo to těžké pár měsíců, ale všichni jste se spojili a udělali úžasnou práci. Jsem na tebe opravdu hrdá. Při pohledu na další čtvrtletí jsem opravdu optimistický. Myslím, že dosáhneme některých skvělých věcí. Děkujeme znovu, vedoucí tým. |
Primární obsah
Primární obsah odkazuje na nějaký druh textu, který model zpracovává nebo transformuje. Primární obsah se obvykle používá ve spojení s pokyny. Jednoduchým příkladem by byl překlad jazyka. V následujícím příkladu by byl anglický text považován za primární obsah, zatímco "Translate to French:" je instrukce.
Výzva | Dokončení |
---|---|
Můžeš mi prosím říct, jak se dostat do muzea? Přeložit do francouzštiny: |
Pouvez-vous s'il vous plaît me dire comment aller au musée? |
Primární obsah může být také mnohem delší. V následujícím příkladu je primárním obsahem úvodní část z příspěvku na Wikipedii o časové složitosti, což je téměř 300 slov dlouhých. Tento obsah byl zkrácen v naší tabulce pro usnadnění zobrazení.
Výzva | Dokončení |
---|---|
V počítačových vědách je složitost času výpočetní složitost, která popisuje dobu potřebnou ke spuštění algoritmu. Časová složitost se běžně odhaduje [...] Shrnutí předchozího textu v několika větách: |
Složitost času je míra, jak dlouho trvá spuštění algoritmu. Obvykle se vyjadřuje jako funkce velikosti vstupu. Nejběžnějším měřítkem je složitost v nejhorším případě, což je maximální doba potřebná pro vstupy dané velikosti. |
V počítačových vědách je složitost času výpočetní složitost, která popisuje dobu potřebnou ke spuštění algoritmu. Časová složitost se běžně odhaduje [...]TL;DR (Příliš dlouho se nečetlo) |
Časová složitost algoritmu je doba, kterou trvá spuštění algoritmu. Složitost času se obvykle odhaduje počítáním počtu základních operací provedených algoritmem a předpokládá se, že provedení každé základní operace trvá pevně stanovenou dobu. Složitost času je obecně vyjádřena jako funkce velikosti vstupu. |
Modely GPT můžou také zpracovávat primární obsah, který je strukturovaný. V následujícím příkladu je modelu jako součást výzvy předán zkrácený TSV o pivech v Belgii pro zobrazení v tomto článku. Dokáže správně interpretovat obsah a odpovídat na otázky týkající se dat.
Výzva | Dokončení |
---|---|
Belgian Beer Brands Beer name Beer style color ABV Brewery "Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist) "Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00% […] Podle výše uvedené tabulky, kolik piv má méně než 6 % ABV? |
V tabulce je 10 piv, které jsou menší než 6 % ABV. |
Příklady
Úspěšné podněty se často spoléhají na praxi učení z jednoho příkladu nebo z několika příkladů. To se týká zahrnutí jednoho nebo více příkladů požadovaného chování modelu, obvykle zahrnutím vstupních a výstupních párů. Nejde o učení v tom smyslu, že by se model trvale změnil, ale spíše o to, že příklady lépe podmíní model, aby reagoval dle očekávání pouze pro aktuální použití. Použití podnětů bez příkladů se někdy označuje jako „zero-shot“ učení. Všimněte si, že u rozhraní API pro dokončování chatu se obvykle do pole zpráv přidávají few-shot learning příklady ve formě ukázkových interakcí uživatele/asistenta po počáteční systémové zprávě.
Typ výuky | Výzva | Dokončení |
---|---|---|
Nulový snímek | Nadpis: Trenér si je jistý, že zranění nezastaví Bojovníky. Téma: |
Trenér si je jistý, že zranění nezmáže sezónu Warriors. Tým se stále zaměřuje na své cíle a že bude i nadále tvrdě pracovat na jejich dosažení. |
Několik snímků | Nadpis: Correa z Twins využije klauzuli o odstoupení a zkusí trh volných hráčů Téma: Baseball Nadpis: Katar bude mít na Mistrovství světa zóny pro vystřízlivění Téma: Fotbal Nadpis: Yates: Informace o fantasy fotbale pro 6. týden Téma: Fotbal Nadpis: Trenér si je jistý, že zranění nezastaví Bojovníky. Téma: |
Basketbal |
Výše uvedený příklad znázorňuje užitečnost učení s omezeným počtem příkladů. Bez příkladů se zdá, že model odhaduje požadované chování, zatímco příklady čistě ukazují, jak pracovat s modelem. To také ukazuje sílu modelu, může odvodit kategorii popisku, která je chtěná, i bez "basketbalového" popisku v příkladech.
Tágo
Upozornění fungují jako "jumpstart" pro výstup modelu a pomáhají směrovat model na požadovaný výstup. Často jde o předponu, kterou může model využít. V následujícím příkladu si ukážeme upozornění, které nasměruje příběh tak, aby zahrnoval klíčové prvky. Upozornění se často používají spolu s pokyny, ale ne vždy. V následujících příkladech se model používá ke shrnutí dlouhého e-mailu s oznámením. V jednom případě se používá upozornění, které vám pomůže zaměřit výstup modelu a navrhnout konkrétní výstupní formát (odrážkové body) v druhém.
V kontextu pokynů rozhraní API pro dokončování chatu mají podobu systémové zprávy a několik příkladů je označeno poskytnutím řady ukázkových interakcí uživatele/asistenta, které pomůžou model předvést.
Počet signálů | Výzva | Dokončení |
---|---|---|
0 | Hodnocení výkonu jsou základní součástí našeho přístupu k výkonu a vývoje ve společnosti Contoso. […] Shrnutí výše uvedené e-mailové zprávy: |
Účelem tohoto e-mailu je informovat zaměstnance o nedávných změnách prostředí kontroly výkonu, což je součástí přístupu Společnosti Contoso k výkonu a vývoji. Změny zahrnují vylepšenou strukturu, upgradované uživatelské prostředí v nástroji a prioritní výzvy. Kromě toho je teď k dispozici volitelná část Úvodní konverzace pro zaměstnance, kteří chtějí označovat témata, která chtějí probrat se svými manažery. |
1 | Hodnocení výkonu jsou základní součástí našeho přístupu k výkonu a vývoje ve společnosti Contoso. […] Shrnutí výše uvedené e-mailové zprávy: Klíčovým aspektem zprávy je |
společnost Contoso vylepšuje možnosti kontroly výkonu tím, že se více zaměřuje na hlavní priority, očekávání a dopad. Kromě toho upgradují uživatelské prostředí v nástroji pomocí tipů, zdrojů a doprovodných materiálů. Nakonec přidávají pokyny k aktivaci základních priorit celé společnosti. |
2 | Hodnocení výkonu jsou základní součástí našeho přístupu k výkonu a vývoje ve společnosti Contoso. […] Shrnutí výše uvedené e-mailové zprávy: Klíčové body: • |
Společnost Contoso zavádí změny prostředí pro kontrolu výkonu na základě zpětné vazby od zaměstnanců. • Změny zahrnují nové zaměření na základní priority, očekávání a dopad; upgradované uživatelské prostředí; a nové pokyny k základním prioritám celé společnosti. Hodnocení výkonu jsou časem reflektovat na minulý výkon a získané poznatky, stejně jako plánovat budoucí priority a příležitosti růstu. • Zaměstnanci a manažeři by měli předem napsat komentáře ke schůzce kontroly výkonu. • Za rok by měly existovat alespoň dvě kontroly výkonu. • Časová investice pro každou recenzi by měla zůstat přibližně stejná. |
Podpůrný obsah
Podpůrný obsah je informace, které model může využít k ovlivnění výstupu. Liší se od primárního obsahu v tom, že není hlavním cílem úkolu, ale obvykle se používá společně s primárním obsahem. Mezi běžné příklady patří kontextové informace, jako je aktuální datum, jméno uživatele, uživatelské předvolby atd. Následující příklad používá podpůrný obsah, který pomáhá uspořádat sadu plánovaných workshopů pro uživatele. Bez podpory v podobě důležitých témat model pouze vypíše workshopy (zkrácené pro zobrazení), když je obeznámen o mých důležitých tématech, model umí přesně seskupit schůzky.
Podpůrný obsah | Výzva | Dokončení |
---|---|---|
Bez | Seznam workshopů: Popis názvu Zahájení workshopu. Připojte se k nám na zahájení našeho workshopu! Poslechněte si naše vedoucí pracovníky o prioritách a učení napříč skupinami pro nadcházející rok. Pozvánka na tuto událost již byla odeslána všem v [...] Shrňte výše uvedené workshopy seskupené podle tématu: |
Seznam workshopů: Zahájení plánování workshopu -Shrnutí workshopu o plánování – Základní meetup Perspektivy orientované na zákazníky -Dopad a klíčové oblasti zaměření -Osvědčené postupy -Urychlení přijetí aplikace [...] |
S | Seznam workshopů: Popis názvu Zahájení workshopu. Připojte se k nám na zahájení našeho workshopu! Poslechněte si naše vedoucí pracovníky o prioritách a učení napříč skupinami pro nadcházející rok. Pozvánka na tuto událost již byla odeslána všem v [...] Moje důležitá témata: prompt engineering, vyhledávání, modely GPT Shrňte výše uvedené workshopy seskupené podle mých důležitých témat: |
1. Návrh promptů: - Nové tipy pro tvorbu promptů - Umění navrhování výzev 2. Hledání: -Úvod do vektorového vyhledávání pomocí vkládání 3. Modely GPT: - Úvod do GPT-4 - GPT-35-Turbo podrobně. |
Pokyny pro konkrétní scénáře
Principy přípravy výzev je sice možné generalizovat napříč mnoha různými typy modelů, ale některé modely očekávají specializovanou strukturu výzev. U modelů GPT Azure OpenAI existují v současné době dvě různá rozhraní API, kde se uplatňuje tvorba promptů.
- API pro dokončení chatu
- Rozhraní API pro dokončování
Každé rozhraní API vyžaduje, aby se vstupní data naformátovala odlišně, což má vliv na celkový návrh výzvy. Rozhraní API pro dokončování chatu podporuje modely GPT-35-Turbo a GPT-4. Tyto modely jsou navržené tak, aby zpracovávaly vstupy naformátované v přepisu podobném chatu, uloženém v poli slovníků.
Rozhraní API pro dokončování podporuje starší modely GPT-3 a má mnohem flexibilnější požadavky na zadávání, protože přebírá řetězec textu bez konkrétních pravidel formátu.
Techniky v této části vás naučí strategie pro zvýšení přesnosti a základu odpovědí, které vygenerujete pomocí velkého jazykového modelu (LLM). Je však důležité si uvědomit, že i při efektivním použití přípravy výzvy je potřeba ověřit odpovědi, které modely vygenerují. Jen proto, že pečlivě sestavená výzva fungovala dobře pro konkrétní scénář, neznamená to, že se obecněji zobecní pro určité případy použití. Pochopení omezení LLM je stejně důležité jako pochopení toho, jak využívat své silné stránky.
Tato příručka nezabíná do hloubky mechaniky struktury zpráv pro dokončování chatu. Pokud nejste obeznámeni s programovým ovládáním modelů dokončování chatu, doporučujeme nejprve přečíst si našeho průvodce používáním rozhraní API pro dokončování chatu.
Poznámka:
Všechny příklady v této části příručky byly testovány na základní model GPT-4 v angličtině. Některé techniky můžou v novějších modelech, jako je gpt-4o, a gpt 4.5, vytvářet různé výsledky. Pokud čtete lokalizovanou verzi tohoto článku v jiném jazyce, představují tyto odpovědi lokalizovaný překlad výsledků v angličtině. Další informace o potenciálních omezeních v závislosti na tom, jaký jazyk používáte k zadání požadavku na model, najdete v naší poznámce k transparentnosti zodpovědného AI.
Učení s malým počtem příkladů
Běžným způsobem přizpůsobení jazykových modelů novým úkolům je použití few-shot učení. V rámci učení s několika málo příklady je jako součást podnětu poskytnuta sada tréninkových příkladů, které modelu poskytnou další kontext.
Při použití rozhraní API pro dokončování chatu může řada zpráv mezi uživatelem a asistentem (napsané v novém formátu výzvy) sloužit jako příklady pro few-shot učení. Tyto příklady lze použít k vytvoření modelu, aby reagoval určitým způsobem, emuloval konkrétní chování a odpovědi na běžné otázky.
Systémová zpráva | Příklady s omezeným počtem vzorků |
---|---|
Asistent je inteligentní chatovací robot navržený tak, aby uživatelům pomohl zodpovědět své otázky související s daněmi. Instrukce - Odpovězte pouze na otázky související s daněmi. - Pokud si nejste jistí odpovědí, můžete říct "Nevím" nebo "Nejsem si jistý" a doporučit uživatelům přejít na web IRS, kde najdete další informace. |
Uživatel – "Kdy potřebuji podat své daně?" Asistent - "V roce 2023 budete muset podat své daně do 18. dubna. Datum spadá po obvyklém termínu 15. dubna, protože 15. dubna spadá do soboty v roce 2023. Další podrobnosti najdete v tématu https://www.irs.gov/filing/individuals/when-to-file " Uživatel – "Jak můžu zkontrolovat stav refundace daně?" Asistent - "Stav refundace daně můžete zkontrolovat návštěvou https://www.irs.gov/refunds " |
Výše uvedená tabulka popisuje základní strukturu výzvy, ale podrobné vysvětlení přesného formátu výzvy, který budete potřebovat, najdete v průvodci dokončením chatu.
Nechatovací scénáře
I když je rozhraní API pro dokončování chatu optimalizované tak, aby fungovalo s více konverzacemi, můžete ho použít i pro nechatovací scénáře. Například pro scénář analýzy mínění můžete použít následující výzvu:
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent navržený tak, aby analyzoval mínění z dat řeči. Uživatelé vloží řetězec textu a odpovíte posouzením odpovědi mluvčího. Sazba v měřítku 1–10 (10 nejvyšší). Vysvětlete, proč bylo toto hodnocení uděleno. | Ahoj, děkuji vám za zavolání do lékárny Contoso. S kým dnes mluvím? Chápu vaše frustrace, Mary. Můžete mi říct, čeho přesně se snažíte dosáhnout? OK, jistě, rád to pro vás zkontroluji, jen chvíli prosím. Vidím zde, že jste užívala generickou formu Lipitoru. Je to tak správně? OK, vidím, že váš lékař přestal tyto léky předepisovat v roce 2021. OK, ano, rád to pro vás prověřím, protože někdy je v systému mezera, která se nehlásí. Podívám se na to, jen okamžik. Vidím tady, že vám váš lékař předepisoval tyto léky od roku 2012 do roku 2021. OK, podle nejnovějších záznamů od lékařské kanceláře užíváte nyní jiný lék, Metformin. Chcete, abychom pro vás vyplnili tento recept, abyste si mohli vyzvednout tablety ve formě 500 miligramů? Rádo se stalo, Mary. Prosím, dejte nám vědět, jestli je něco dalšího, co pro vás dnes můžeme udělat. | Hodnocení mínění: 8 Mluvčí v tomto textu se zdá být zdvořilý, užitečný a trpělivý při řešení problémů zákazníka. Vezmou si čas na kontrolu informací, poskytnou jasné vysvětlení a nabídnou pomoc. Hodnocení ale není 10, protože v některých částech konverzace stále existuje stopa nejistoty, která nemusí zákazníkovi sdělit úplnou důvěru. |
Začněte s jasnými pokyny
Důležité je, že informace o sekvenci se objeví v samotném podnětu. Je to proto, že modely stylu GPT jsou vytvořeny určitým způsobem, který definuje, jak zpracovávají vstup. Náš výzkum naznačuje, že sdělení úkolu, který chcete, aby model provedl, na začátku podnětu, ještě před sdílením dalších kontextových informací nebo příkladů, může pomoci vytvořit výstupy vyšší kvality.
Poznámka:
Přestože se tato technika stále obecně doporučuje, na rozdíl od předchozích verzí modelu (GPT-3 a předchozích), naše testování ukázalo, že odezva modelu s modely ChatGPT a GPT-4 byla stejná bez ohledu na to, jestli se technika využívá. V následujícím příkladu vidíme, že přidání příkazu "Několik zdrojů ... "erupce" na začátku nebo na konci podnětu nezpůsobila žádnou změnu v konečné odpovědi modelu.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Vaším úkolem je ověřit, jestli příkaz "Několik zdrojů zmíní šanci na další velkou erupci" je podporován konkrétní uvozovkou z následující sady fragmentů kódu. --- ÚRYVKY [1] Je 14% pravděpodobnost, že megazemětřesení zasáhne Seattle, říkají odborníci. SEATTLE - Podle odhadů amerického geologického průzkumu existuje 14% pravděpodobnost, že v příštích 50 letech zasáhne Seattle zemětřesení Cascadia o síle 9 stupňů. "Bohužel nemůžeme... [2] Odborníci na zemětřesení představují nejnovější prognózu pro Seattle a jeho „Really Big One“ "Říkáme, že v příštích 50 letech je přibližně 14% šance na další zemětřesení o velikosti-9," řekl geofyzik na University of Washington... --- Je výrok "Několik zdrojů zmiňuje šanci na další velkou erupci" přímo naznačují nebo uvádí úryvky? |
Ne, tvrzení není přímo naznačené ani uvedené úryvky. Úryvky zmiňují šanci na "megazemětřesení" a zemětřesení o magnitudě 9 v oblasti Kaskádie, které by mohlo zasáhnout Seattle během příštích 50 let, ale nezmiňují šanci na další velkou erupci. |
Pokyny opakujte na konci
Modely mohou být náchylné k předpojatosti aktuálnosti, což v tomto kontextu znamená, že informace na konci podnětu mohou mít větší vliv na výstup než informace na začátku podnětu. Proto je vhodné experimentovat s opakováním pokynů na konci výzvy a vyhodnocením dopadu na vygenerovanou odpověď.
Připravit výstup
To odkazuje na zahrnutí několika slov nebo frází na konec výzvy k získání odpovědi modelu, která následuje za požadovaným formulářem. Například používání upozornění, jako je “Here’s a bulleted list of key points:\n- ”
, může pomoct zajistit, aby byl výstup formátovaný jako seznam odrážek.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. Odpovězte co nejméně slovy. | John Smith je ženatý s Lucy Smith. Mají pět dětí a pracuje jako softwarový inženýr v Microsoftu. Jaké vyhledávací dotazy mám udělat, abych to zkontroloval? ## Jedním z možných vyhledávacích dotazů je: | John Smith se oženil s Lucy Smithovou a mají pět dětí. John je softwarový inženýr ve společnosti Microsoft. |
V předchozí výzvě je text Možný vyhledávací dotaz: nastaví model k produkci jediného výstupu. Bez tohoto upozornění model vytvoří jako výstup několik vyhledávacích dotazů.
Přidání jasné syntaxe
Použití jasné syntaxe pro váš příkaz, včetně interpunkce, nadpisů a značek oddílů, pomáhá komunikovat záměr a často usnadňuje porozumění výstupům.
V následujícím příkladu byly oddělovače (---
v tomto případě) přidány mezi různé zdroje informací nebo kroků. To umožňuje použití ---
jako stav zastavení pro generování. Kromě toho se nadpisy oddílů nebo speciální proměnné zobrazují velkými písmeny, aby se odlišily.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Přečtete si odstavec a pak vydáte dotazy vyhledávacímu webu, abyste ho mohli zkontrolovat. Vysvětlujte také dotazy. --- ODSTAVEC John Smith je ženatý s Lucy Smith. Mají pět dětí a pracuje jako softwarový inženýr v Microsoftu. Jaké vyhledávací dotazy mám udělat, abych to zkontroloval? --- DOTAZY |
1. "John Smith Microsoft" - Chcete-li zkontrolovat, zda je John Smith skutečně zaměstnaný v Microsoftu. 2. "John Smith Lucy Smith" - Chcete-li zkontrolovat, zda je John Smith ženatý s Lucy Smith. 3. "John Smith děti" - Chcete-li zkontrolovat, zda John Smith má pět dětí. |
Pokud si nejste jistí, jakou syntaxi použít, zvažte použití Jazyka Markdown nebo XML. Modely byly vytrénovány na rozsáhlém webovém obsahu v JAZYCE XML a Markdownu, což může poskytovat lepší výsledky.
Rozdělení úkolu
Velké jazykové modely (LLM) často fungují lépe, pokud je úloha rozdělená do menších kroků. Například ve výzvě vyhledávacího dotazu, na kterou jste odkazovali dříve, může být výzva restrukturalizována tak, aby byl model nejprve instruován k extrahování relevantních faktů a potom pokyn k vygenerování vyhledávacích dotazů, které lze použít k ověření těchto faktů.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Přečtete si odstavec a pak vydáte dotazy vyhledávacímu webu, abyste ho mohli zkontrolovat. --- ODSTAVEC John Smith je ženatý s Lucy Smith. Mají pět dětí a pracuje jako softwarový inženýr v Microsoftu. Jaké vyhledávací dotazy mám udělat, abych to zkontroloval? --- Teď extrahujete faktická tvrzení a formulujete dotazy pro jejich ověření. Při vydávání dotazu použijte funkci SEARCH("query") FAKTICKÉ NÁROKY |
1. John Smith je ženatý Lucy Smith 2. Mají pět dětí 3. Pracuje jako softwarový inženýr v Microsoftu DOTAZY SEARCH("John Smith se oženil Lucy Smith") HLEDAT("velikost rodiny Johna Smitha") SEARCH("John Smith softwarový inženýr Microsoftu") |
Všimněte si použití jasné syntaxe k rozlišení sekcí a optimalizaci výstupu. V tomto jednoduchém příkladu není rozdělení úkolu z jednoho na dva kroky velmi dramatické, ale když se to snažíte udělat pro větší část textu s mnoha faktickými tvrzeními, může rozdělení úkolu výrazně změnit.
Použití nabízených možností
Někdy můžeme model získat tak, aby používal příležitost místo aby se spoléhal na vlastní parametry pro získání informací a odpovědí. Hledání může být například možnost, jak pomoci omezit vymyšlené odpovědi a získat aktuální informace.
Jedním z jednoduchých způsobů, jak použít afordanci, je zastavit generování ve chvíli, kdy model vygeneruje volání afordance, a pak výsledky vložit zpět do podnětu. Níže je příklad toho, co by následné volání mohlo být po provedení výše uvedených volání SEARCH . Všimněte si, jak jsme výsledky hledání vložili do promptu a nahradili předchozí SEARCH.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Přečtete si odstavec, extrahujete faktické deklarace a pak je pomocí výsledků vyhledávacího webu zkontrolujete. --- ODSTAVEC John Smith je ženatý s Lucy Smith. Mají pět dětí a pracuje jako softwarový inženýr v Microsoftu. Jaké vyhledávací dotazy mám udělat, abych to zkontroloval? --- FAKTICKÉ NÁROKY John Smith je ženatý s Lucy Smith - John a Lucy mají pět dětí - John pracuje jako softwarový inženýr v Microsoftu --- Tady jsou různé vyhledávací dotazy vydané pro prozkoumání tvrzení uvedených výše: VYHLEDÁVACÍ DOTAZY John Smith se oženil s Lucy Smithovou - John Smith počet dětí – Softwarový inženýr John Smith od Microsoftu --- Tady jsou fragmenty výsledků hledání: ÚRYVKY: [1] Svatba Johna Smitha byla 25. září 2012 ... [2] John Smith byl doprovázen svou ženou Lucy na párty [3]John byl doprovázen fotbalovou hrou svými dvěma dcerami a třemi syny [4] Po deseti letech u Microsoftu založil Smith svůj startup, Tailspin Toys [5] John M je kovář města, který se oženil s Fionou. Mají dceru jménem Lucy --- Vzhledem k fragmentům kódu zkontrolujte každou z výše uvedených faktových tvrzení: |
John Smith je ženatý s Lucy Smith: Potvrzeno. Fragment kódu [1] a [2] zmiňují John Smithovu ženu jako Lucy. John a Lucy mají pět dětí: Potvrzeno. Fragment kódu [3] uvádí, že John byl doprovázen svými dvěma dcerami a třemi syny. - John pracuje jako softwarový inženýr v Microsoftu: Částečně potvrzeno. Fragment kódu [4] zmíní, že John strávil 10 let v Microsoftu, ale explicitně neuvádí, že tam aktuálně pracuje. Další výzkum může být nutný k potvrzení jeho současného pracovního stavu. |
Řetěz myšlenkových výzev
Jedná se o variantu techniky rozdělení úkolu. Místo rozdělení úkolu na menší kroky se v tomto přístupu dá odpověď modelu pokyn, aby postupoval krok za krokem a představil všechny příslušné kroky. Tím se snižuje možnost nepřesnosti výsledků a usnadňuje vyhodnocení odezvy modelu.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Kdo byl nejvíce oceněný (nejvíce medailemi) individuální sportovec na olympijských hrách, které se konaly v Sydney? V odpovědi proveďte podrobný přístup, citujte zdroje a před sdílením konečné odpovědi v následujícím formátu uveďte odůvodnění: ANSWER je: <name> |
Krok 1: Určete rok olympijských her v Sydney. Olympijské hry v Sydney se konaly v roce 2000. Krok 2: Najděte seznam jednotlivých sportovců, kteří vyhráli více medailí v olympijských hrách v Sydney 2000. Podle oficiálních webových stránek olympijských her bylo několik individuálních sportovců, kteří vyhráli více medailí v olympijských hrách v Sydney 2000. Mezi některé z významných jmen patří: • Ian Thorpe (Austrálie) - 3 zlato, 2 stříbro, 0 bronz • Pieter van den Hoogenband (Nizozemsko) - 2 zlato, 0 stříbro, 2 bronzové • Lenny Krayzelburg (USA) - 3 zlato, 0 stříbro, 0 bronzová • Inge de Bruijn (Nizozemsko) - 3 zlato, 1 stříbro, 0 bronz Krok 3: Určete sportovce s nejvíce medailemi. Po kontrole seznamu jednotlivých sportovců, kteří vyhráli více medailí v olympijských hrách v Sydney 2000, vidíme, že sportovce s největším počtem medailí je Ian Thorpe z Austrálie, který vyhrál celkem 5 medailí (3 zlaté a 2 stříbro). Odpověď je tedy: Ian Thorpe. |
Určení výstupní struktury
Použití výzvy k určení struktury výstupu může mít významný vliv na povahu a kvalitu výsledků. Někdy vstupy systémových zpráv jako "zapisovat pouze pravdivá fakta" nebo "nevytváření informací" nemusí být přiměřené zmírnění rizik. Místo toho můžete požádat o odpověď modelu tak, aby obsahovala citace, což může vést ke snížení prevalenci nesprávných odpovědí.
Pokud dáváte modelu pokyn, aby při vytváření příkazů citoval zdrojový materiál, jsou tyto příkazy mnohem pravděpodobnější, že budou uzemněny. Když žádáte o citace, musí model při každém vygenerování odpovědi provést dvě chyby: první chyba je vytvořenou odpovědí a druhá je chybná citace. Všimněte si, že čím blíž je citace textu, který podporuje, tím kratší vzdálenost musí model citaci předvídat, což naznačuje, že vložené citace jsou lepší prevencí proti generování nepravdivého obsahu než citace na konci obsahu.
Podobně pokud model požádáte o extrakci faktických tvrzení z odstavce, může extrahovat složené příkazy, jako je "X dělá Y AND Z" (což může být obtížnější ověřit). Můžete se tomu vyhnout zadáním výstupní struktury, například (entity1, relace, entita2).
Následující příklady ukazují použití citací a nasměrování odpovědi modelu tak, aby odpovídaly definované struktuře.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace | V následující konverzaci uveďte různé chování, které vykazuje agent zákaznické podpory. --- Ahoj, děkuji vám za zavolání do lékárny Contoso. S kým dnes mluvím? Chápu vaše frustrace, Mary. Můžete mi říct, čeho přesně se snažíte dosáhnout? OK, jistě, rád to pro vás zkontroluji, jen chvíli prosím. Vidím zde, že jste užívala generickou formu Lipitoru. Je to tak správně? OK, vidím, že váš lékař přestal tyto léky předepisovat v roce 2021. OK, ano, rád to pro vás prověřím, protože někdy je v systému mezera, která se nehlásí. Podívám se na to, jen okamžik. Vidím tady, že vám váš lékař předepisoval tyto léky od roku 2012 do roku 2021. OK, podle nejnovějších záznamů od lékařské kanceláře užíváte nyní jiný lék, Metformin. Chcete, abychom pro vás vyplnili tento recept, abyste si mohli vyzvednout tablety ve formě 500 miligramů? Rádo se stalo, Mary. Prosím, dejte nám vědět, jestli je něco dalšího, co pro vás dnes můžeme udělat. --- Jak reagoval agent zákaznické podpory? Klasifikujte a uveďte jejich různé chování a uveďte důvod klasifikace pomocí funkce BEHAVIOR("reason") formátu. |
1. Zdvořilý pozdrav BEHAVIOR("Agent zahájí konverzaci se zdvořilým pozdravem a požádá o jméno volající") 2. Empatitické CHOVÁNÍ("Agent uznává frustraci Mary a snaží se pochopit její obavy") 3. Pozorné CHOVÁNÍ("Agent naslouchá problému zákazníka a žádá o další podrobnosti") 4. Proaktivní CHOVÁNÍ ("Agent nabízí zkontrolovat problém pro zákazníka") 5. Informativní CHOVÁNÍ("Agent poskytuje relevantní informace o historii předpisů zákazníka") 6. Důkladné CHOVÁNÍ("Agent kontroluje případné mezery v systému a poskytuje úplnou odpověď") 7. Potvrzující CHOVÁNÍ("Agent potvrzuje aktuální medikaci se zákazníkem") 8. Chování zaměřené na řešení („Agent nabízí vyřídit nový recept pro zákazníka“) 9. Zdvořilé CHOVÁNÍ("Agent díky zákazníkovi a v případě potřeby nabízí další pomoc") |
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Seskupte následující titulky zpráv do kategorií témat na základě vzorů, které jsou vidět v textu. Uveďte také důvod, jak byly tyto kategorie definovány. Output format (Výstupní formát): Následujte tyto kroky: "TOPIC_NAME": "", "NADPISY": [], "DŮVOD": "" } Nadpisy vstupních zpráv: 1. "Od knih po prezentace v 10s s AR + ML" 2. "Demo z roku 1993 od 32letého Yanna LeCuna ukazující první světovou konvoluční síť pro rozpoznávání textu" 3. "Model pohybu prvního řádu použitý k animaci obrazů" 4. "Robinhood a další zprostředkovatelé doslova blokují nákup $GME, $NOK, $BB, $AMC; umožňují pouze prodej" 5. "Akcie společnosti United Airlines klesly o více než 5 % v předobchodním obchodování" Výstup: |
Následujte tyto kroky: "UMĚLÁ_INTELIGENCE": { "NADPISY": [ "Od knih k prezentacím v 10s s AR + ML", Demo z roku 1993, kdy 32letý Yann LeCun předváděl světově první konvoluční síť pro rozpoznávání textu. "Model pohybu prvního řádu použitý k animaci obrazů" ], "ODŮVODNĚNÍ": "Tyto nadpisy se vztahují k umělé inteligenci, strojovému učení a jejich aplikacím v různých oblastech." }, "FINANČNÍ_TRHY": { "NADPISY": [ Robinhood a další zprostředkovatelé doslova brání nákup $GME, $NOK, $BB, $AMC; pouze povolují prodej Akcie United Airlines klesly předobchodně o více než 5 %. Bitcoin měl před rokem přesně dnes hodnotu téměř 20 000 dolarů. ], "ODŮVODNĚNÍ": "Tyto nadpisy souvisejí s finančními trhy, akciemi, burzami a obchodními platformami." } } |
Parametry teploty a Top_p
Změna parametru teploty změní výstup modelu. Parametr teploty lze nastavit v rozmezí od 0 do 2. Vyšší hodnota, například 0,7, způsobí, že výstup bude náhodnější a vytvoří divergentnější odpovědi, zatímco nižší hodnota, například. 0.2, činí výstup soustředěnější a konkrétnější. Fiktivní příběh by mohl být generován pomocí vyšší teploty. Vzhledem k tomu, že k vygenerování právního dokumentu se doporučuje použít mnohem nižší teplotu. Top_probability je další parametr a podobá se teplotě v tom, že také řídí náhodnost odpovědi modelu, ale dělá to jiným způsobem. Obecné doporučení je změnit jeden z těchto dvou parametrů najednou, nikoli obojí.
Poskytněte základní kontext
Jedním z nejúčinnějších způsobů, jak získat spolehlivé odpovědi, je poskytnout modelu data, ze kterých čerpá své odpovědi (základní data). Pokud váš případ použití využívá aktuální a spolehlivé informace a nejedná se čistě o kreativní scénář, důrazně doporučujeme poskytovat podkladová data. Obecně platí, že čím blíže můžete získat zdrojový materiál k konečné formě požadované odpovědi, tím méně práce, kterou model potřebuje udělat, což znamená, že existuje menší příležitost k chybám. Tady je příklad, ve kterém je uveden nedávný blog popisující spuštění GPT-4 v Modelech Azure AI Foundry v Azure OpenAI, a je požádán, aby pojmenoval některé z jeho raných zákazníků.
Systémová zpráva | Uživatel | Pomocník |
---|---|---|
Jste asistent umělé inteligence, který pomáhá lidem najít informace. Odpovědi poskytnete výhradně z následujícího textu a odpovíte na 100 slov nebo méně: V Microsoftu neustále objevujeme nové způsoby, jak uvolnit kreativitu, zvýšit produktivitu a rozvíjet dovednosti, aby více lidí mohlo těžit z používání umělé inteligence. To umožňuje našim zákazníkům ... … tím snižuje pravděpodobnost, že model generuje škodlivou odpověď."1 Odpovězte na 100 slov nebo méně. Seznamy odrážek používejte všude, kde je to možné. |
Kdo jsou někteří z prvních zákazníků modelů Azure OpenAI GPT-4? | Tady jsou někteří z prvních zákazníků modelů Azure OpenAI GPT-4: - Epic Healthcare: Plánují používat GPT-4, aby pomohli lékařům a zdravotní sestram strávit méně času na zadávání a vyšetřování dat. – Coursera: Používají Azure OpenAI s GPT-4 k vytvoření nového výukového prostředí využívajícího AI na své platformě. - Coca-Cola: Používají Azure OpenAI k vytvoření znalostního centra a plánují využívat multimodální funkce GPT-4 pro marketing, reklamu, vztahy s veřejností a vztahy se zákazníky. – Ostatní společnosti všech velikostí používají Azure AI ke zlepšení zkušeností zákazníků, shrnutí dlouhodobého obsahu, psaní softwaru a snížení rizika předpovídáním správných daňových dat. |
1 Text z blogu o spuštění Azure OpenAI GPT-4.
Osvědčené postupy
- Buďte specifická. Ponechávejte co nejmenší prostor interpretaci. Omezte provozní prostor.
- Buďte popisní. Používejte analogii.
- Poklikejte dolů. Někdy se může stát, že budete muset opakovaně komunikovat s modelem. Udílejte pokyny před a po primárním obsahu, používejte instrukce a nápovědy atd.
- Záleží na pořadí. Pořadí, ve kterém prezentujete informace modelu, může mít vliv na výstup. Ať už vložíte pokyny před obsah ("shrnout následující…") nebo za ("shrnout výše uvedené…"), může to způsobit rozdíl ve výstupu. Dokonce i na pořadí několika příkladů může záležet. To se označuje jako zkreslení aktuálnosti.
- Dejte modelu možnost úniku. Někdy může být užitečné dát modelu alternativní cestu, pokud nemůže dokončit přiřazený úkol. Pokud například položíte otázku týkající se části textu, můžete zahrnout něco jako "odpovězte 'nenalezeno'", pokud odpověď není přítomna. To může modelu pomoci vyhnout se generování falešných odpovědí.
Prostorová efektivita
I když se velikost vstupu s každou novou generací modelů GPT zvětšuje, budou i nadále existovat scénáře, které poskytují více dat, než model dokáže zpracovat. Modely GPT rozdělují slova na "tokeny." I když běžná slova s více slabikami jsou často jedním tokenem, méně běžná slova se rozdělují na slabiky. Tokeny mohou být někdy nepředvídatelné, jak je znázorněno na příkladu níže, který ukazuje hranice tokenů pro různé formáty dat. V tomto případě je napsání celého názvu měsíce v textu prostorově efektivnější než plně číselné datum. Aktuální rozsah podpory tokenů pochází z 2 000 tokenů s dřívějšími modely GPT-3 až na 32 768 tokenů s 32k verzí nejnovějšího modelu GPT-4.
Vzhledem k tomuto omezenému prostoru je důležité ho co nejefektivněji používat.
- Tabulky – jak je znázorněno v příkladech v předchozí části, modely GPT dokážou snadno pochopit tabulková formátovaná data. Může to být prostorově efektivní způsob, jak zahrnout data, místo aby se u každého pole uváděl název (například ve formátu JSON).
- Prázdné znaky – po sobě jdoucí prázdné znaky jsou považovány za samostatné tokeny, což může být snadný způsob, jak ztrácet místo. Mezery před slovem se na druhou stranu obvykle považují za součást stejného tokenu jako slovo. Pečlivě sledujte používání mezer a nepoužívejte interpunkci, když stačí jen mezera.
Související obsah
- Další informace o Azure OpenAI.
- Začněte s modelem ChatGPT pomocí rychlého průvodce ChatGPT.
- Další příklady najdete v úložišti GitHub s ukázkami Azure OpenAI.