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.
Tento článek ukazuje, jak nasadit a spustit Chat s vlastní ukázkou dat pro .NET. Tato ukázka implementuje chatovací aplikaci pomocí jazyka C#, Azure OpenAI Service a Retrieval Rozšířená generace (RAG) v Azure AI Vyhledávač, abyste získali odpovědi na výhody zaměstnanců ve fiktivní společnosti. Aplikace pro chatování o zaměstnaneckých výhodách obsahuje soubory PDF, včetně příručky pro zaměstnance, dokumentu o výhodách a seznamu pracovních rolí a očekávání ve společnosti.
V tomto článku:
- Nasaďte chatovací aplikaci do Azure.
- Získejte odpovědi na výhody zaměstnanců.
- Změňte nastavení a změňte chování odpovědí.
Po dokončení tohoto postupu začněte upravovat nový projekt pomocí vlastního kódu.
Tento článek je součástí kolekce článků, které ukazují, jak vytvořit chatovací aplikaci pomocí služby Azure OpenAI a Azure AI Vyhledávač.
Mezi další články v kolekci patří:
Přehled architektury
V této ukázkové aplikaci poskytuje fiktivní společnost Contoso Electronics prostředí chatovací aplikace svým zaměstnancům, aby se ptala na výhody, interní zásady a popisy a role pracovních míst.
Architektura chatovací aplikace se zobrazuje v následujícím diagramu:
- Uživatelské rozhraní – Chatovací rozhraní aplikace je aplikace Blazor WebAssembly . Toto rozhraní přijímá dotazy uživatelů, směruje požadavky do back-endu aplikace a zobrazuje vygenerované odpovědi.
-
Backend - Backend aplikace je ASP.NET Core Minimal API. Back-end hostuje statickou webovou aplikaci Blazor a orchestruje interakce mezi různými službami. Mezi služby používané v této aplikaci patří:
- Azure AI Vyhledávač – indexuje dokumenty z dat uložených v účtu Azure Storage. Díky tomu se dokumenty dají prohledávat pomocí funkcí vektorového vyhledávání .
- Azure OpenAI Service – poskytuje velké jazykové modely (LLM) pro generování odpovědí. Microsoft Agent Framework se používá společně s Azure OpenAI Service k orchestraci složitějších pracovních postupů AI.
Náklady
Většina prostředků v této architektuře používá cenovou úroveň Basic nebo Consumption. Ceny spotřeby jsou založené na využití, což znamená, že platíte jenom za to, co používáte. K dokončení tohoto článku se účtuje poplatek, ale je minimální. Až budete s článkem hotovi, odstraňte prostředky, abyste přestali účtovat poplatky.
Další informace najdete v sekci Azure Samples: Náklady v ukázkovém repozitáři.
Požadavky
Vývojové prostředí kontejneru je k dispozici se všemi závislostmi potřebnými k dokončení tohoto článku. Vývojový kontejner můžete spustit v GitHub Codespaces (v prohlížeči) nebo místně pomocí Visual Studio Code.
Pokud chcete postupovat podle tohoto článku, potřebujete následující požadavky:
- Předplatné Azure – Kreate si ho zdarma
- Azure oprávnění účtu – Váš účet Azure musí mít Microsoft.Authorization/roleAssignments/write oprávnění, například Správce přístupu uživatele nebo Owner.
- účet GitHub
Otevřené vývojové prostředí
Začněte teď s vývojovým prostředím, které má nainstalované všechny závislosti k dokončení tohoto článku.
GitHub Codespaces spouští vývojový kontejner spravovaný GitHub s Visual Studio Code pro web jako uživatelské rozhraní. Pro nejjednodušší vývojové prostředí použijte GitHub Codespaces, abyste měli předinstalované správné vývojářské nástroje a závislosti k dokončení tohoto článku.
Důležité
Všechny účty GitHub můžou každý měsíc používat Codespaces až 60 hodin zdarma se 2 základními instancemi. Další informace najdete v úložiště zahrnuté měsíčně a hodinách jádra na GitHub Codespaces.
Spusťte proces vytvoření nového prostoru kódu GitHub ve větvi
mainúložištěAzure-Samples/azure-search-openai-demo-csharpGitHub.Pokud chcete mít současně dostupné vývojové prostředí i dokumentaci, klikněte pravým tlačítkem myši na následující Otevřete v GitHub Codespaces tlačítko a vyberte odkaz Open v nových oknech.
Na stránce Create codespace zkontrolujte nastavení konfigurace codespace a pak vyberte Create new codespace:
Počkejte, až se prostor kódu spustí. Tento proces spuštění může trvat několik minut.
V terminálu v dolní části obrazovky se přihlaste k Azure pomocí rozhraní příkazového řádku pro vývojáře Azure.
azd auth loginZkopírujte kód z terminálu a vložte ho do prohlížeče. Postupujte podle pokynů k ověření u vašeho účtu Azure.
Zbývající úlohy v tomto článku probíhají v kontextu tohoto vývojového kontejneru.
Nasazení a spuštění
Ukázkové úložiště obsahuje všechny soubory kódu a konfigurace, které potřebujete k nasazení chatovací aplikace do Azure. Následující kroky vás provedou procesem nasazení ukázky do Azure.
Nasazení chatovací aplikace do Azure
Důležité
Azure prostředky vytvořené v této části způsobují okamžité náklady, především z prostředku Azure AI Vyhledávač. Tyto prostředky mohou generovat náklady, i když přerušíte příkaz před jeho dokončením.
Spusťte následující příkaz Azure Developer CLI ke zřízení prostředků Azure a nasazení aplikace ze zdrojového kódu:
azd upKdyž se zobrazí výzva k zadání názvu prostředí, ponechte ho krátkým a malými písmeny. Například
myenv. Používá se jako součást názvu skupiny prostředků.Po zobrazení výzvy vyberte předplatné, v němž chcete prostředky vytvořit.
Když se zobrazí výzva k prvnímu výběru umístění, vyberte umístění blízko vás. Toto umístění se používá pro většinu prostředků včetně hostingu.
Pokud se zobrazí výzva k zadání umístění modelu OpenAI, vyberte umístění, které je blízko vás. Pokud je stejné umístění dostupné jako vaše první umístění, vyberte ho.
Počkejte, až se aplikace nasadí. Dokončení nasazení může trvat až 20 minut.
Po úspěšném nasazení aplikace se v terminálu zobrazí adresa URL.
Vyberte tuto adresu URL označenou
Deploying service web, abyste otevřeli chatovací aplikaci v prohlížeči.
Získání odpovědí ze souborů PDF pomocí chatovací aplikace
Chatovací aplikace předem zahrnuje informace o výhodách zaměstnanců ze souborů PDF. Chatovací aplikaci můžete použít k kladení otázek ohledně výhod. Následující kroky vás provedou procesem používání chatovací aplikace.
V prohlížeči přejděte na stránku Chat pomocí levé navigace.
V textovém poli chatu vyberte nebo zadejte "Co je součástí plánu Northwind Health Plus, který není standardní?". Vaše odpověď je podobná následujícímu obrázku.
V odpovědi vyberte citaci. Otevře se automaticky otevírané okno zobrazující zdroj informací.
Navigujte mezi kartami v horní části pole odpovědi, abyste pochopili, jak se odpověď vygenerovala.
Tabulátor Popis Myšlenkový proces Toto je skript interakcí v chatu. Můžete zobrazit výzvu systému ( content) a otázku uživatele (content).Podpůrný obsah To zahrnuje informace pro zodpovězení vaší otázky a zdrojového materiálu. Počet zdrojových citací je uveden v nastavení pro vývojáře. Výchozí hodnota je 3. Citace Zobrazí se zdrojová stránka, která obsahuje citaci. Až budete hotovi, přejděte zpět na kartu odpovědi.
Změna chování odpovědí pomocí nastavení chatovací aplikace
Inteligenci chatu určuje model OpenAI a nastavení, která se používají k interakci s modelem.
| Nastavení | Popis |
|---|---|
| Přepsat šablonu výzvy | Toto je výzva, která slouží k vygenerování odpovědi. |
| Načtení tohoto počtu výsledků hledání | Toto je počet výsledků hledání, které se používají k vygenerování odpovědi. Tyto vrácené zdroje můžete vidět na záložkách myšlenkového procesu a podpůrného obsahu citace. |
| Vyloučit kategorii | Toto je kategorie dokumentů, které jsou vyloučené z výsledků hledání. |
| Použijte sémantický ranker pro vyhledávání | Toto je funkce Azure AI Vyhledávač, která využívá strojové učení ke zlepšení relevance výsledků hledání. |
| Režim vyhledávání | Vektory + Text znamenají, že výsledky hledání jsou založeny na textu dokumentů a vkládání dokumentů. Vektory znamenají, že výsledky hledání jsou založené na vkládání dokumentů. Text znamená, že výsledky hledání jsou založené na textu dokumentů. |
| Použití kontextových souhrnů dotazu místo celých dokumentů | Když jsou oba Use semantic ranker a Use query-contextual summaries zaškrtnuty, LLM používá popisky extrahované z klíčových pasáží místo všech pasáží v nejvýše hodnocených dokumentech. |
| Návrhy následných otázek | Požádejte chatovací aplikaci, aby na základě odpovědi navrhla následné otázky. |
Následující kroky vás provedou procesem změny nastavení.
V prohlížeči vyberte ikonu ozubeného kola v pravém horním rohu stránky.
Pokud není zaškrtnuté, zaškrtněte políčko Navrhnout následné otázky a znovu položte stejnou otázku.
What is included in my Northwind Health Plus plan that is not in standard?Chat se může vrátit s návrhy doplňujících otázek.
Na kartě Nastavení zrušte výběr Použít sémantický ranker pro načtení.
Položte stejnou otázku znovu.
What is my deductible?Jaký je rozdíl v odpovědích?
Odpověď, která použila sémantický ranker, poskytla jedinou odpověď. Odpověď bez sémantického řazení vrátila méně přímou odpověď.
Vyčištění prostředků
K dokončení vyčistěte Azure a GitHub prostředky CodeSpaces, které jste použili.
Vyčištění prostředků Azure
Prostředky Azure vytvořené v tomto článku se účtují na vaše předplatné Azure. Pokud v budoucnu tyto prostředky nepotřebujete, odstraňte je, abyste se vyhnuli účtování dalších poplatků.
Spuštěním následujícího příkazu rozhraní příkazového řádku pro vývojáře Azure odstraňte Azure prostředky a odeberte zdrojový kód:
azd down --purge
Vyčistit GitHub Codespaces
Odstraněním prostředí GitHub Codespaces zajistíte, že můžete maximalizovat nárok na počet bezplatných hodin na jádro, které získáte pro svůj účet.
Důležité
Další informace o oprávněních účtu GitHub najdete v tématu měsíčně zahrnuté úložiště a procesorové hodiny GitHub Codespaces.
Přihlaste se k řídicímu panelu GitHub Codespaces (https://github.com/codespaces).
Vyhledejte codespaces, které jsou aktuálně spuštěné a pocházejí z úložiště
Azure-Samples/azure-search-openai-demo-csharpGitHub.
Otevřete místní nabídku pro codespace a pak vyberte Odstranit.
Získání pomoci
Toto ukázkové úložiště nabízí informace pro řešení problémů.
Pokud se váš problém nevyřeší, zapište problém do Issues.
Další kroky
- Získat zdrojový kód pro ukázku použitou v tomto článku
- Vytvořte chatovou aplikaci s řešením optimální architektury pro Azure OpenAI
- řízení přístupu v aplikacích s generativní AI a Azure AI Vyhledávač
- Vytvořte řešení OpenAI připravené pro podnik s využitím Azure API Management
- Výkonnější než vyhledávání pomocí vektorů díky schopnostem hybridního vyhledávání a hodnocení