Přehled dokončování textu a OpenAI v Azure
Služba Azure OpenAI poskytuje rozhraní REST API přístup k výkonným jazykovým modelům OpenAI včetně řady modelů GPT-3.5 a GPT-4. Tyto modely se dají snadno přizpůsobit konkrétnímu úkolu, včetně generování obsahu, sumarizace, sémantického vyhledávání a přirozeného jazyka na překlad kódu.
Kromě přístupu k rozhraní REST API existuje sada .NET SDK pro přístup ke službě Azure OpenAI. A to použijeme k sestavení aplikace. Než ale aplikaci sestavíme, pojďme se trochu dozvědět, co je Azure OpenAI a jaké jsou dokončování textu. Znalost toho, že nám poskytne základ, který potřebujeme k vytváření úžasných aplikací pomocí AI.
Přehled Azure OpenAI
Azure OpenAI Service poskytuje zákazníkům pokročilou jazykovou AI s modely OpenAI GPT-3.5, GPT-4, Codex a DALL-E s využitím zabezpečení a podnikového příslibu Azure. Azure OpenAI codevelops rozhraní API s OpenAI zajišťuje kompatibilitu a hladký přechod z jednoho na druhý.
Zákazníci s Azure OpenAI získají možnosti zabezpečení Microsoft Azure a zároveň spouštět stejné modely jako OpenAI. Azure OpenAI nabízí privátní sítě, regionální dostupnost, zodpovědné filtrování obsahu AI a možnost rozšířit model o vlastní data.
Koncový bod dokončení je základní komponentou služby API. Toto rozhraní API poskytuje přístup k textovému rozhraní modelu. Uživatelé jednoduše potřebují zadat vstupní výzvu obsahující příkaz anglického textu a model vygeneruje dokončování textu.
Dokončování textu
V této lekci se seznámíme s dokončováním textu. Koncový bod dokončení je možné použít pro širokou škálu úloh. Poskytuje jednoduché, ale výkonné textové rozhraní pro libovolný z modelů Azure OpenAI. Jako výzvu zadáte nějaký text a model vygeneruje dokončování textu, které se pokusí spárovat s jakýmkoli kontextem nebo vzorem, který jste mu dali. Pokud například dáte rozhraní API výzvu", "Jak řekl Descartes, myslím, proto", vrátí dokončení "Jsem" s vysokou pravděpodobností.
Skutečné výsledky dokončení, které vidíte, se mohou lišit, protože AI je ve výchozím nastavení stochastická. Jinými slovy, při každém volání se může zobrazit trochu jiné dokončení, i když výzva zůstane stejná.
Toto jednoduché rozhraní "text in, text out" znamená, že model můžete "programovat" poskytnutím pokynů nebo několika příkladů toho, co chcete udělat. Jeho úspěch obecně závisí na složitosti úkolu a kvality výzvy. Obecným pravidlem je zamyslet se nad tím, jak byste napsali slovní problém pro mladého studenta, který by vyřešil. Dobře napsaná výzva poskytuje dostatek informací pro model, aby věděl, co chcete a jak by měl reagovat.
Podíváme se na to, jak o něco později napsat dobrou výzvu, ale prozatím se podíváme na různé typy dokončení.
Typy dokončování Azure OpenAI
Jak už bylo zmíněno, předáte do rozhraní API Azure OpenAI výzvu, která obsahuje pokyny k tomu, co chcete udělat. A můžete dělat věci, jako je klasifikace textu, generování nápadů nebo dokonce překlad textu do emoji.
Klasifikace
Pro tento první typ dokončení se podrobně podíváme na to, jak model "programovat" s pokyny.
Model, který chcete, říct, aby se data seřadila do předdefinovaných kategorií. Tento typ dokončení se označuje jako Klasifikace.
Můžete například předat pokyny nebo výzvu, která se podobá následujícímu rozhraní API pro dokončování:
This is a sentiment classifier
Example: "I loved the new movie!"
Sentiment: Positive
Example: "I hate it when my phone battery dies"
Sentiment: Negative
Example: "My day has been 👍"
Sentiment: Positive
Example: "This is the link to the article"
Sentiment: Neutral
Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"
Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive
Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"
Sentiment classifications:
1.
Po zobrazení 4 příkladů věty klasifikované míněním ji pak poskytneme seznam příkladů a seznam hodnocení mínění se stejným indexem čísel. Rozhraní API z toho dokáže získat výstup klasifikovaných mínění.
A to nás vede k tomu, co chceme, aby model dělal: dáváme mu 5 mínění, aby klasifikovala a pak by měla vypsat klasifikaci každého z nich v seřazených nácích.
To umožňuje modelu ohodnotit pět (a ještě více) příkladů v jediném volání.
Můžete začít vidět, jak se zobrazí výzva nebo text předaný modelu je programovací jazyk.
Generace
Jedním z nejvýkonnějších, ale nejjednodušších úkolů, které můžete provést s různými modely GPT, je generování nových nápadů nebo verzí vstupu. Modelu můžete poskytnout seznam několika nápadů na příběh a pokusí se ho přidat do tohoto seznamu. Viděli jsme, že vytváří obchodní plány, popisy znaků a marketingové heslo, a to tak, že jí poskytneme několik příkladů.
Konverzace
Model je extrémně neslušný při konverzacích s lidmi a dokonce i se sebou. S pouhými několika řádky instrukcí jsme viděli, že model funguje jako chatovací robot zákaznických služeb, který inteligentně odpovídá na otázky, aniž by se někdy dostal k flusteringu nebo moudrý konverzační partner, který dělá vtipy a punčochy.
Transformace
Model je jazykový model, který je obeznámen s různými způsoby, jak lze slova a znaky použít k vyjádření informací. To se pohybuje od textu přirozeného jazyka po kód a jazyky jiné než angličtina. Model také dokáže pochopit obsah na úrovni, která umožňuje shrnout, převést a vyjádřit ho různými způsoby.
Překlad
Model už má přehled o mnoha jazycích, jako je francouzština, takže ho nemusíte učit. Místo toho stačí zadat dostatek příkladů překladu v příkazovém řádku, aby pochopil, že se překládá z jednoho jazyka do druhého.
Převod
V tomto příkladu převedeme název filmu na emoji. To ukazuje přizpůsobitelnost modelu pro vyzvednutí vzorů a práci s jinými znaky.
Zde očekáváme, že výstup bude reprezentací emoji filmu Spider-Man.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Souhrn
Model dokáže pochopit kontext textu a přehrát ho různými způsoby. Může například vzít blok textu a vytvořit vysvětlení, kterému dítě rozumí.
Dokončení
I když všechny výzvy vedou k dokončení, může být užitečné uvažovat o dokončení textu jako o jejím vlastním úkolu v případech, kdy má model vyzvednout místo, kde jste skončili. Pokud se například zobrazí tato výzva, model bude pokračovat v trénování myšlení o vertikálním zemědělství.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Faktické odpovědi
Velké jazykové modely (LLM) mají spoustu znalostí, které se naučili z dat, na kterých se trénovali. Mají také schopnost poskytovat odpovědi, které zní skutečně, ale jsou ve skutečnosti tvořeny. Existují dva způsoby, jak omezit pravděpodobnost, že LLM tvoří odpověď.
1. Zadejte základní pravdu pro rozhraní API , pokud modelu poskytnete text, na který odpovíte na otázky (jako je položka Wikipedie), bude méně pravděpodobné, že se odpověď sloučí.
2. Použijte nízkou pravděpodobnost a ukažte rozhraní API, jak říct "Nevím" Pokud model rozumí tomu, že v případech, kdy je méně jisté o odpovědi, která říká, že "Nevím" nebo je vhodná nějaká varianta, je méně náchylná k vytváření odpovědí.
V tomto příkladu poskytujeme příklady otázek a odpovědí modelu, které zná, a pak příklady věcí, které by nevěděly a poskytly otazníky. Také nastavíme pravděpodobnost na nulu, takže model bude pravděpodobněji reagovat "?" v případě jakýchkoli pochybností.
Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.
Shrnutí
Služba Azure OpenAI poskytuje rozhraní REST API přístup k výkonným jazykovým modelům OpenAI včetně řady modelů GPT-3.5 a GPT-4. Poskytuje také funkce zabezpečení a podnikových funkcí, které jste přišli při spoléhat na cloud Azure.
Jednou z nejužitečnějších funkcí jazykových modelů OpenAI je dokončování textu. Předáte výzvu nebo popis jazyka ve formátu prostého jazyka, který má model dělat, a může provádět úlohy, jako je klasifikace textu, generování textu nebo shrnutí textu.