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.
Tyto techniky se nedoporučují pro modely jako GPT-5 a O-series.
Konstrukce výzvy může být obtížná. V praxi se výzva chová tak, aby pomohla modelu dokončit požadovaný úkol, ale je to spíše umění než věda, často vyžadují zkušenosti a intuici k vytvoření úspěšné výzvy. Cílem tohoto článku je pomoct vám začít s tímto procesem učení. Tento článek se pokouší zachytit obecné koncepty a vzory, které platí pro všechny modely GPT. Je ale důležité pochopit, že se každý model chová jinak, takže učení nemusí platit stejně pro všechny modely.
Poznámka
Aktuální pokyny a příklady rozhraní API najdete v tématu Responses API a Azure OpenAI v referenčních informacích k rozhraní API Microsoft Foundry Models.
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 byl založen nový národ, založený na principech svobody a zasvěcený myšlence, že všichni lidé jsou stvořeni jako rovní. […] |
| "Zavolej mi Ishmael." | "Před několika lety — nevadí, jak dlouho přesně — měl jsem málo nebo žádné peníze u sebe, a nic zvláštního, co by mě zajímalo na břehu, takže jsem myslel, že se trochu poplavil a podíval se na vodní svět." |
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, že vybírá to, co považuje za pravděpodobně nejvhodnější, s ohledem na svá tréninková data a cíle tréninku. Pokud ve výzvě položíte otázku, model neposkytuje samostatnou cestu kódu pro Q&A, ale zdá se, že odpovídá na otázku, protože odpověď je nejpravděpodobnější odpovědí pro danou otázku jako vstup.
Komponenty výzvy
Pokud používáte rozhraní API pro dokončování a mezi různými částmi výzvy není žádné rozlišení, může být stále užitečné pro výuku a diskuzi k identifikaci podkladových komponent výzvy. V rozhraní API pro dokončování chatu se do rozhraní API odešlou různé části výzvy jako 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 rozebrat výzvy, cílem tohoto rozpisu je poskytnout relativně jednoduchý způsob, jak uvažovat o konstrukci 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é v následující části přibližně odpovídá tomu, jak často se jednotlivé komponenty používají, od většiny po nejméně.
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 tuto složitost 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. Podělíme se o tipy a triky, 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ěl by zmínit skvělé setkání všech zaměstnanců, které jsme měli minulý týden, a poděkovat týmu za veškerou jejich pilnou práci během obtížných posledních několika měsíců. | Vítejte v týdenním bulletinu společnosti Contoso! Minulý týden jsme měli skvělé celofiremní setkání a chtěl bych poděkovat týmu za veškerou jejich tvrdou práci v průběhu posledních pár měsíců. 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 vedením 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 sešli a udělali úžasnou práci. Jsem na tebe opravdu hrdá. Když se dívám na další čtvrtletí, cítím se skutečně pozitivně. 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 text, který model zpracovává nebo transformuje. Obvykle používáte primární obsah s pokyny. Jednoduchým příkladem je překlad jazyka. V následujícím příkladu je anglický text primárním obsahem a "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 se v tabulce zkracuje, aby se snadno zobrazoval.
| 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í, které algoritmus provádí, za předpokladu, že 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 součástí promptu TSV o pivech v Belgii (zkrácený pro účely zobrazení v tomto článku). Model 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%[…] Na základě výše uvedené tabulky, kolik piv má obsah alkoholu pod 6%? |
V tabulce je 10 piv, které jsou menší než 6% ABV. |
Příklady
Úspěšné výzvy se často spoléhají na praxi učení "jeden snímek" nebo "pár snímků". Tento postup zahrnuje zahrnutí jednoho nebo více příkladů požadovaného chování modelu, obvykle zahrnutím vstupních a výstupních párů. Tento přístup nepředstavuje učení v tom smyslu, že by se model trvale změnil, ale spíše to, že příklady model lépe navedou k tomu, aby reagoval požadovaným způsobem pouze v rámci aktuální inference. Použití výzev bez příkladů se někdy označuje jako „učení bez příkladů“. Všimněte si, že pomocí rozhraní API pro dokončování chatu obvykle za počáteční systémovou zprávu přidáte do messages pole několik příkladů učení ve formě ukázkových interakcí uživatelů a asistentů.
| Typ výuky | Výzva | Dokončení |
|---|---|---|
| Nulový snímek | Nadpis: Trenér věří, že zranění neohrozí Warriors 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 právo na odstoupení a vyzkouší volnou agenturu Téma: Baseball Titul: Mistrovství světa ve fotbale v Kataru bude mít zóny pro vystřízlivění Téma: Fotbal Nadpis: Yates: Informace o fantasy fotbalu pro 6. týden Téma: Fotbal Nadpis: Trenér věří, že zranění neohrozí Warriors Téma: |
Basketbal |
Předchozí příklad ukazuje užitečnost few-shot learningu. Bez příkladů se zdá, že model odhaduje požadované chování, zatímco příklady čistě ukazují, jak pracovat s modelem. Tento příklad také ukazuje sílu modelu. Může odvodit kategorii hledaného popisku, a to i bez "basketbalového" popisku v příkladech.
Signál
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, na kterou může model navázat. V následujícím příkladu pokyn usměrňuje vyprávění tak, aby zahrnovalo klíčové prvky. Často používáte nápovědy 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. Upozornění se používá v jednom případě k tomu, abyste se mohli zaměřit na výstup modelu a navrhnout konkrétní výstupní formát (odrážkové body).
V kontextu rozhraní API pro dokončování chatu jsou pokyny ve formě systémových zpráv a příklady s několika snímky jsou označené tím, že poskytují řadu ukázkových interakcí uživatelů a asistentů, které pomůžou vytvořit model.
| Počet podnětů | 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, ve které můžou zaměstnanci 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 vylepšují uživatelský zážitek v nástroji pomocí tipů, zdrojů a pokynů. Nakonec přidávají pokyny k aktivaci základních priorit pro celou společnost. |
| 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 příležitostí zamyslet se nad minulým výkonem a získanými znalostmi, stejně jako naplánovat budoucí priority a možnosti 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 použí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á spolu 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 podpůrných informací (důležitých témat) model pouze vypíše seznam seminářů (zkrácený pro účely zobrazení). Když je o mých důležitých tématech informován, model přesně seskupí schůzky.
| Podpůrný obsah | Výzva | Dokončení |
|---|---|---|
| Bez | Seznam workshopů: Popis názvu Zahájení workshopu: Prosím, připojte se k nám, abychom mohli zahájit náš workshop! 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 -Závěr plánovacího workshopu – Základní meetup Zákaznické perspektivy -Dopad a klíčové oblasti zaměření -Osvědčené postupy -Urychlení přijetí aplikace [...] |
| S | Seznam workshopů: Popis názvu Zahájení workshopu: Prosím, připojte se k nám, abychom mohli zahájit náš workshop! 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 prompt engineering - Umění návrhu 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 do hloubky. |
Pokyny pro konkrétní scénáře
Techniky v této části vás naučí strategie pro zvýšení přesnosti a základu odpovědí, které vygenerujete pomocí rozsáhlého jazykového modelu (LLM). Je ale důležité si uvědomit, že i když efektivně používáte rychlé inženýrství, stále potřebujete 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 používáním modelů dokončování chatu, doporučujeme si nejprve přečíst průvodce pro 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 mohou přinést různé výsledky s novějšími modely, jako je gpt-4.1, a gpt-4.5. 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 zobrazení výzvy k modelu, najdete v naší poznámce k transparentnosti zodpovědné umělé inteligence.
Učení s několika snímky
Běžným způsobem přizpůsobení jazykových modelů novým úkolům je použití učení z několika příkladů. V rámci few-shot učení je jako součást výzvy poskytnuta sada tréninkových příkladů, která modelu poskytuje další kontext.
Při použití rozhraní API pro dokončování chatu může řada zpráv mezi uživatelem a asistentem (napsaných v novém formátu výzvy) sloužit jako příklady pro few-shot learning. 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 několika ukázkami |
|---|---|
| Asistent je inteligentní chatovací robot navržený tak, aby uživatelům pomohl zodpovědět své otázky související s daněmi. Pokyny - 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ší informace 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 | Asistent |
|---|---|---|
| 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 volání do lékárny Contoso, kým dnes hovořím? Chápu vaši frustraci, Mary. Můžete mi říct, co přesně se snažíte dosáhnout? OK, určitě rád vám to ověřím, chvilku prosím. Vidím zde, že jste užívali generickou formu Lipitoru, je to správně? Dobře, zdá se, že váš lékař přestal předepisovat tyto léky v roce 2021. Určitě, rád bych to pro vás zkontroloval, protože někdy může být v systému mezera a není to hlášeno. Podívejme se. Vidím zde, že váš lékař měl tyto léky předepsané od roku 2012 do roku 2021. Podle nejnovějších záznamů, které poskytla ordinace lékaře, nyní užíváte jiný lék - Metformin. Máte zájem, abychom vám připravili tento předpis k vyzvednutí? Metformin 500 mg? Rádo se stalo, Mary. Dejte nám prosí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
Pořadí informací v promptu je důležité. 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 pokud modelu na začátku zadání sdělíte, jaký úkol má vykonat, může to přispět k vytvoření výstupů vyšší kvality před sdílením dalších kontextových informací nebo příkladů.
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 tomto příkladu vidíme, že přidání výroku „Několik zdrojů ... erupce" na začátku nebo na konci výzvy nezpůsobila žádnou změnu v konečné odpovědi modelu.
| Systémová zpráva | Uživatel | Asistent |
|---|---|---|
| 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] 14% pravděpodobnost, že mega zemětřesení udeří do Seattlu, tvrdí odborníci. SEATTLE - Podle odhadů Amerického geologického ústavu je 14% pravděpodobnost, že v příštích 50 letech zasáhne Seattle zemětřesení o magnitudě 9 v oblasti Cascadia. "Bohužel nemůžeme... [2] Odborníci na zemětřesení představují nejnovější výhled na 'Velký zlom' v Seattlu "Říkáme, že v příštích 50 letech došlo k přibližně 14% šanci na další zemětřesení o velikosti-9," řekl geofyzikista na University of Washington... --- Je výrok "Několik zdrojů uvádí možnost další velké erupce" přímo implikován nebo uveden úryvky textu? |
Ne, tvrzení není přímo naznačené ani uvedené úryvky. Úryvky zmiňují šanci na "megaquake" a zemětřesení Cascadia o síle 9, které zasáhne Seattle v příštích 50 letech, ale nezmiňují šanci na další velkou erupci. |
Zopakujte pokyny na konci
Modely mohou být náchylné k předsudkům nedávnosti, což v tomto kontextu znamená, že informace na konci výzvy mohou mít větší vliv na výstup než informace na začátku výzvy. Proto je vhodné experimentovat s opakováním pokynů na konci výzvy a vyhodnocením dopadu na vygenerovanou odpověď.
Připravení výstupu
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žití značky, jako je “Here’s a bulleted list of key points:\n- ”, může pomoci zajistit, že výstup bude formátovaný jako seznam odrážek.
| Systémová zpráva | Uživatel | Asistent |
|---|---|---|
| Jste asistent umělé inteligence, který pomáhá lidem najít informace. Odpovězte co nejméně slov. | John Smith je ženatý s Lucy Smith. Mají pět dětí a pracuje jako softwarový inženýr v Microsoft. 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 Smith a mají pět dětí, pracuje jako softwarový inženýr ve společnosti Microsoft. |
V předchozí výzvě text Jedním možným vyhledávacím dotazem je: připraví model tak, aby vytvořil jediný výstup. Bez tohoto upozornění model vytvoří jako výstup několik vyhledávacích dotazů.
Přidání jasné syntaxe
Pomocí jasné syntaxe výzvy můžete komunikovat záměr a usnadnit parsování výstupů.
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 | Asistent |
|---|---|---|
| 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 Microsoft. 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 Microsoft. 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 | Asistent |
|---|---|---|
| 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 Microsoft. Jaké vyhledávací dotazy mám udělat, abych to zkontroloval? --- Teď budete extrahovat faktická tvrzení a vydáte dotazy k 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 ve společnosti Microsoft DOTAZY SEARCH("John Smith se oženil Lucy Smith") SEARCH("John Smith velikost rodiny") SEARCH("John Smith Microsoft softwarový inženýr") |
Všimněte si použití jasné syntaxe k rozlišení oddílů a přípravě 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í cenových možností
Někdy můžeme model získat tak, aby používal možnost místo spoléhání se na své vlastní parametry pro informace a odpovědi. Například vyhledávání může být funkcí, která pomáhá zmírnit falešné odpovědi a získat aktuální informace.
Jedním z jednoduchých způsobů, jak použít užitnou funkci, je zastavit generování, jakmile model vygeneruje volání těchto funkcí, a potom vložit výsledky zpět do pokynu. 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 okna a nahradili předchozí volání SEARCH.
| Systémová zpráva | Uživatel | Asistent |
|---|---|---|
| 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 Microsoft. 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 ve společnosti Microsoft --- Tady jsou různé vyhledávací dotazy zadané pro výzkum výše uvedených tvrzení: VYHLEDÁVACÍ DOTAZY John Smith se oženil s Lucy Smithovou - John Smith počet dětí - Softwarový inženýr John Smith Microsoft --- 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 strávených v Microsoftu založil Smith vlastní startup, Tailspin Toys. [5] John M je kovářem města a oženil se 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 Microsoft: Částečně potvrzeno. Fragment kódu [4] uvádí, že John strávil 10 let na Microsoft, 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
Důležité
Tato technika se vztahuje pouze na modely bez odůvodnění. Pokus o extrahování odůvodnění modelu prostřednictvím jiných metod než parametr souhrnu odůvodnění není podporován, může narušit zásady přijatelného použití a při zjištění může dojít k omezování nebo pozastavení.
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 | Asistent |
|---|---|---|
| Jste asistent umělé inteligence, který pomáhá lidem najít informace. | Kdo byl nejvíce oceněný (maximální počet medailí) 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ýznačný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íže je citace k textu, který je podporován, tím kratší vzdálenost musí model předvídat pro citaci. To naznačuje, že vložené citace jsou lepším opatřením 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).
Tento příklad ukazuje použití citací a nasměrování odpovědi modelu tak, aby odpovídala definované struktuře.
| Systémová zpráva | Uživatel | Asistent |
|---|---|---|
| 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 volání do lékárny Contoso, kým dnes hovořím? Chápu vaši frustraci, Mary. Můžete mi říct, co přesně se snažíte dosáhnout? OK, určitě rád vám to ověřím, chvilku prosím. Vidím zde, že jste užívali generickou formu Lipitoru, je to správně? Dobře, zdá se, že váš lékař přestal předepisovat tyto léky v roce 2021. Určitě, rád bych to pro vás zkontroloval, protože někdy může být v systému mezera a není to hlášeno. Podívejme se. Vidím zde, že váš lékař měl tyto léky předepsané od roku 2012 do roku 2021. Podle nejnovějších záznamů, které poskytla ordinace lékaře, nyní užíváte jiný lék - Metformin. Máte zájem, abychom vám připravili tento předpis k vyzvednutí? Metformin 500 mg? Rádo se stalo, Mary. Dejte nám prosí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("Agent začne konverzaci zdvořilým pozdravem a požádá o jméno volajícího") 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. Confirmatory BEHAVIOR("Agent potvrzuje aktuální léky u zákazníka") 8. Chování orientované na řešení ("Agent nabízí zařídit nový předpis 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 | Asistent |
|---|---|---|
| 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. Výstupní formát: { "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 32letého Yann LeCun představujícího 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é skutečně blokují nákup $GME, $NOK, $BB, $AMC a povolují prodej" 5. "Akcie United Airlines klesly o více než 5 % v předobchodní fázi" Výstup: |
{ "UMĚLÁ_INTELIGENCE": { "NADPISY": [ "Od knih k prezentacím v 10s s AR + ML," "Demonstrační ukázka z roku 1993, ve které 32letý Yann LeCun předvádí první konvoluční síť na světě 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é zcela blokují nákup $GME, $NOK, $BB, $AMC; umožňují prodej." Akcie United Airlines se propadly o více než 5 % v předotevíracím obchodování. Bitcoin byl přesně před rokem téměř 20 000 $. ], "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ří více divergentní odpovědi, zatímco nižší hodnota, například. 0.2, činí výstup zaměřeně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í.
Poskytnutí základního kontextu
Jedním z nejúčinnějších způsobů, jak poskytnout spolehlivé odpovědi, je poskytnout modelu data, aby mohl z nich čerpat své odpovědi (základní data). Pokud váš případ použití závisí na aktuálních, spolehlivých informacích a nejde čistě o kreativní scénář, důrazně doporučujeme poskytnout 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, kde je systému předán blog popisující uvedení GPT-4 v Azure OpenAI v Microsoft Foundry Models a je požádán, aby pojmenoval některé z jeho prvních zákazníků.
| Systémová zpráva | Uživatel | Asistent |
|---|---|---|
| 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ě: Ve společnosti Microsoft neustále objevujeme nové způsoby, jak uvolnit kreativitu, odemknout produktivitu a zlepšovat dovednosti, aby více lidí mohlo využívat AI. 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ánování využití multimodálních schopností GPT-4 pro marketing, reklamu, veřejné vztahy 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, pomoc při psaní softwaru a snížení rizika předpovídáním správných daňových údajů. |
1 Text z Azure OpenAI GPT-4 launch blog.
Osvědčené postupy
- Buďte specifická. Ponechte co nejmenší interpretaci. Omezte provozní prostor.
- Buďte popisní. Použijte analogie.
- Poklikejte dolů. Někdy se může stát, že se budete muset modelu opakovat. Před a po primárním obsahu dejte pokyny, použijte instrukce a upozornění 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 obsahem ("sumarizovat následující...") nebo za ním ("sumarizovat výše uvedené..."), může to ovlivnit výsledek. I pořadí příkladů s několika ukázkami může být důležité. Tento rozdíl se označuje jako zkreslení způsobené nedávností.
- Dejte modelu „východisko“. Někdy může být užitečné dát modelu alternativní cestu, pokud není možné dokončit přiřazený úkol. Například při kladení otázky nad částí textu můžete zahrnout něco jako "Odpovědět s nenalezena", pokud odpověď není k dispozici. Tento doplněk může modelu pomoct vyhnout se generování falešných odpovědí.
Efektivita prostoru
I když se velikost vstupu zvyšuje při každé nové generaci modelů GPT, můžete stále narazit na scénáře, které poskytují více dat, než dokáže model zpracovat. Modely GPT rozdělují slova na tokeny. I když běžná více slabiková slova jsou často jedním tokenem, méně běžná slova jsou rozdělená na slabiky. Tokeny můžou být někdy neintuitivní, jak je znázorněno v následujícím příkladu, což ukazuje hranice tokenů pro různé formáty kalendářních dat. V tomto případě je vypsání celého měsíce efektivnější z hlediska prostoru než plně číselné datum.
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 můžou snadno pochopit tabulková formátovaná data. Tento formát může být prostorově úsporným způsobem, jak zahrnout data, aniž by bylo nutné před každým polem uvádět název (jako například v JSON).
- Prázdné místo – po sobě jdoucí prázdné znaky se považují za samostatné tokeny, což může vést k plýtvání místem. Mezery před slovem se na druhou stranu obvykle považují za součást stejného tokenu jako slovo. Pečlivě dbejte na používání mezer a nepoužívejte interpunkci, když stačí samotná mezera.