Příprava výzvy OpenAI

Dokončeno

Kvalita vstupních výzev, které odesíláme do modelu AI, jako jsou ty, které jsou k dispozici v Azure OpenAI, přímo ovlivňuje kvalitu toho, co se vrátíme. Pečlivým vytvořením výzev, které odešleme do modelu, může model poskytovat lepší a zajímavější odpovědi.

Co je vytváření efektivních dotazů

Příprava výzvy je proces návrhu a optimalizace výzev k lepšímu využití modelů AI. Návrh efektivních výzev je zásadní pro úspěch přípravy výzev a může výrazně zlepšit výkon modelu AI u konkrétních úloh. Poskytnutí relevantních, specifických, jednoznačných a dobře strukturovaných výzev může modelu lépe porozumět kontextu a generovat přesnější odpovědi.

Pokud například chceme, aby model OpenAI vygeneroval popisy produktů, můžeme mu poskytnout podrobný popis, který popisuje funkce a výhody produktu. Poskytnutím tohoto kontextu může model generovat přesnější a relevantnější popisy produktů.

Příprava výzvy může také pomoct zmírnit předsudky a zlepšit nestrannost v modelech AI. Návrhem výzev, které jsou různorodé a inkluzivní, můžeme zajistit, aby model nebyl zkreslený vůči konkrétní skupině nebo perspektivě.

Důležité

Bez ohledu na to, jak dobrou výzvu můžete navrhnout, by odpovědi z modelů AI nikdy neměly být považovány za fakt nebo zcela bez předsudků. Vždy používejte AI zodpovědně. Další informace najdete v poznámce k transparentnosti Microsoftu o principech Azure OpenAI a AI od Microsoftu.

Kromě toho nám inženýring výzvy může pomoct pochopit, které odkazy na model používá k vygenerování odpovědi. Modely generující AI mají tunu parametrů a logika, která následuje, je pro uživatele z velké části neznámá, takže může být matoucí, jak dorazí na odpověď, která dává. Návrhem výzev, které jsou snadno pochopitelné a interpretované, můžeme lidem pomoct lépe pochopit, jak model generuje své odpovědi. To může být zvlášť důležité v oblastech, jako je zdravotní péče, kde je důležité pochopit, jak model provádí rozhodnutí.

Při vytváření vlastních výzev můžete využít různé metody. Patří sem pokyny, kontextový obsah, upozornění nebo příklady s několika snímky a správné řazení obsahu ve výzvě. Zde popsané metody nejsou vyčerpávající, protože tato oblast je nuancí a fluidní téma.

Důležité informace o koncových bodech rozhraní API

Příklady ve zbývající části této lekce se zaměří na ChatCompletion. Je vhodné poznamenat, že ChatCompletion je možné použít také pro ne chatové scénáře, kde jsou všechny pokyny zahrnuté do systémové zprávy a uživatelský obsah je poskytován ve zprávě role uživatele. Většina z těchto příkladů se dá v případě potřeby změnit tak, aby používala Completion koncový bod.

Z hlediska dostupnosti Completion modelu je možné koncový bod používat s dřívějšími verzemi gpt-3 a ChatCompletion lze ho používat s gpt-35-turbo modely a novějšími modely.

Úprava parametrů modelu

Kromě technik probíraných v této lekci může mít úprava parametrů modelu významný dopad na odpověď. temperature Konkrétně a top_p (top_probability) jsou nejpravděpodobnějším dopadem na odpověď modelu, protože oba řídí náhodnost v modelu, ale různými způsoby.

Vyšší hodnoty vytvářejí kreativní a náhodné odpovědi, ale pravděpodobně budou méně konzistentní nebo zaměřené. Očekává se, že odpovědi budou fiktivní nebo jedinečné výhody vyšších hodnot pro tyto parametry, zatímco obsah by měl být konzistentnější a beton by měl používat nižší hodnoty.

Konkrétně vysoká temperature umožňuje větší variaci ve struktuře vět a vysoké top_p umožňuje více variace ve slovech, která se používají (pomocí různých synonym).

Zkuste tyto parametry upravit pomocí stejné výzvy, abyste viděli, jak ovlivňují odpověď. Doporučuje se změnit buď temperature nebo top_p najednou, ale ne obojí.

Psaní efektivních výzev

Modely Azure OpenAI umožňují generovat odpovědi na dotazy v přirozeném jazyce s pozoruhodnou přesností. Kvalita odpovědí však do značné míry závisí na tom, jak dobře je výzva napsána. Vývojáři můžou optimalizovat výkon modelů Azure OpenAI pomocí různých technik ve svých výzev, což vede k přesnějším a relevantním odpovědím.

Zadejte jasné pokyny.

Dotazování modelu Azure OpenAI jasně na to, co chcete, je jedním ze způsobů, jak získat požadované výsledky. Model může být co nejvýstižnější a může vygenerovat odpověď, která nejvíce odpovídá tomu, co hledáte.

Řekněme například, že chcete vytvořit popis produktu pro novou láhev vody. Zvažte odpověď spojenou s jednotlivými výzvami:

Instrukce

Write a product description for a new water bottle

Response

Introducing the latest addition to our product line - the innovative and eco-friendly water bottle.
Made from high-quality, BPA-free materials, this bottle is designed to keep your beverages at the
perfect temperature for hours. Its sleek and stylish design makes it the perfect accessory for any
outdoor activity or workout session. With its convenient carrying handle and leak-proof lid, you 
can take it with you wherever you go, without worrying about spills or leaks. Plus, its easy-to-clean
design ensures that you can use it again and again, making it the perfect choice for anyone looking 
for a reliable and sustainable water bottle.

Versus podobná výzva s jasnými pokyny.

Instrukce

Write a product description for a new water bottle that is 100% recycled. Be sure to include that
it comes in natural colors with no dyes, and each purchase removes 10 pounds of plastic from our 
oceans

Response

Introducing our newest water bottle, the eco-friendly choice for the conscious consumer. Made from 
100% recycled materials and available in natural colors with no dyes, this bottle is not only 
stylish but also sustainable. Each purchase of this bottle removes 10 pounds of plastic from 
our oceans, making it a responsible choice for those who care about the environment. Its durable 
and leak-proof design makes it perfect for outdoor activities, while its easy-to-carry handle 
makes it convenient to take on the go. Join us in our mission to reduce plastic waste and choose 
this eco-friendly water bottle for your daily hydration needs.

Včetně specifik, které je potřeba zahrnout, umožní modelu zjistit, jaké informace přidat do popisu, aby byl přesnější pro nový produkt.

Tuto metodu lze extrapolovat tak, aby zahrnovala složité instrukce, například seznam podrobností s odrážkami, které mají být zahrnuty do výstupu, délku odpovědi nebo požadované formáty. Zkuste se zeptat přesně na to, co chcete ve výsledku vidět, a možná vás překvapí, jak dobře model splňuje vaši žádost.

Formát pokynů

Způsob formátování instrukcí může mít vliv na to, jak model interpretuje výzvu. Předsudky ekence můžou ovlivnit modely, kdy informace umístěné na konci výzvy můžou mít větší vliv na výstup než informace na začátku. Lepší odpovědi získáte tak, že na konci výzvy zopakujete pokyny a vyhodnotíte, jak to ovlivní vygenerovanou odpověď.

Při použití ChatCompletion v chatovém scénáři může dojít i k přehrání této předsudky, kdy novější zprávy v konverzaci zahrnuté do výzvy mají větší dopad na odpověď.

Primární, podpůrný a uzemněný obsah

Zahrnutí obsahu pro model, který se má použít v odpovědi, umožňuje modelu zodpovědět s větší přesností. Tento obsah si můžete představit dvěma způsoby: primárním a podpůrným obsahem.

Primární obsah odkazuje na obsah, který je předmětem dotazu, například větu pro překlad nebo článek, který se má sumarizovat. Tento obsah je často zahrnutý na začátku nebo na konci výzvy (jako instrukce a diferencované bloky --- ) s pokyny vysvětlující, co s ním dělat.

Řekněme například, že máme dlouhý článek, který chceme shrnout. Mohli bychom ho dát do --- bloku do výzvy a pak ukončit instrukce.

---
<insert full article here, as primary content>
---

Summarize this article and identify three takeaways in a bulleted list

Podpůrný obsah je obsah, který může změnit odpověď, ale není fokus nebo předmět výzvy. Mezi příklady podpůrného obsahu patří například názvy, předvolby, budoucí datum, které se mají zahrnout do odpovědi atd. Poskytnutí podpůrného obsahu umožňuje modelu úplněji, přesněji a s větší pravděpodobností zahrnout požadované informace.

Například vzhledem k velmi dlouhému propagačnímu e-mailu dokáže model extrahovat klíčové informace. Pokud pak do výzvy přidáte podpůrný obsah, který určuje něco konkrétního, co hledáte, může model poskytnout užitečnější odpověď. V tomto případě je e-mail primárním obsahem s konkrétními informacemi o tom, co vás zajímá, jako podpůrný obsah.

---
<insert full email here, as primary content>
---
<the next line is the supporting content>
Topics I'm very interested in: AI, webinar dates, submission deadlines

Extract the key points from the above email, and put them in a bulleted list:

Uzemnění obsahu umožňuje modelu poskytovat spolehlivé odpovědi tím, že poskytuje obsah, ze něhož by model nakreslil odpovědi. Základní obsah může být esej nebo článek, na který se pak ptáte, na dokument s nejčastějšími dotazy společnosti nebo na informace, které jsou novější než data, na které byl model natrénován. Pokud potřebujete spolehlivější a aktuální odpovědi nebo potřebujete odkazovat na nepublikované nebo konkrétní informace, důrazně doporučujeme uzemnění obsahu.

Základní obsah se liší od primárního obsahu, protože se jedná o zdroj informací pro odpověď na dotaz výzvy, místo toho, aby se obsah provozoval pro věci, jako je sumarizace nebo překlad. Pokud jste například poskytli nepublikovaný výzkumný dokument o historii umělé inteligence, může odpovědět na otázky pomocí tohoto základního obsahu.

---
<insert unpublished paper on the history of AI here, as grounding content>
---

Where and when did the field of AI start?

Tato podkladová data umožňují modelu poskytovat přesnější a informované odpovědi, které nemusí být součástí datové sady, na které byl trénován.

Narážky

Upozornění jsou předními slovy, na kterých má model vycházet, a často pomáhají tvarovat odpověď správným směrem. Často se používají s pokyny, ale ne vždy. Upozornění jsou užitečná zejména v případě, že se zobrazí výzva k generování kódu modelu. Generování kódu je podrobněji popsáno v následující lekci.