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.
Vytváření aplikací AI může být složité. Díky technologiím LangChain.js, Azure Functions a bezserverových technologií můžete tento proces zjednodušit. Tyto nástroje spravují infrastrukturu a škálují se automaticky a umožňují soustředit se na funkce chatbota. Chatbot používá podnikové dokumenty k vygenerování odpovědí umělé inteligence.
Kód obsahuje ukázková data pro fiktivní společnost. Zákazníci můžou klást dotazy na podporu týkající se produktů společnosti. Data zahrnují dokumenty týkající se podmínek služby, zásad ochrany osobních údajů a průvodce podporou společnosti.
Poznámka:
Tento článek používá jednu nebo více šablon aplikací AI jako základ pro příklady a pokyny v článku. Šablony aplikací AI poskytují dobře udržované a snadno použitelné referenční implementace, které pomáhají zajistit vysoce kvalitní výchozí bod pro vaše aplikace AI.
Přehled architektury
Chatovací aplikace
Uživatel komunikuje s aplikací:
- Rozhraní chatu v klientské webové aplikaci pro konverzaci.
- Webová aplikace klienta odešle dotaz uživatele do bezserverového rozhraní API prostřednictvím volání HTTP.
- Bezserverové rozhraní API vytvoří řetěz pro koordinaci interakcí mezi Azure AI a Azure AI Search za účelem vygenerování odpovědi.
- Načtení dokumentu PDF pomocí služby Azure Blob Storage.
- Vygenerovaná odpověď se pak odešle zpět do webové aplikace a zobrazí se uživateli.
Jednoduchá architektura chatovací aplikace je znázorněná v následujícím diagramu:
Diagram znázorňující architekturu z klienta do back-endové aplikace
LangChain.js zjednodušuje složitost mezi službami.
Tok rozhraní API je užitečný k pochopení toho, jak je LangChain.js v tomto scénáři užitečné díky abstrahování interakcí. Koncový bod bezserverového API:
- Obdrží otázku od uživatele.
- Vytvoří objekty klienta:
- Azure OpenAI pro vkládání a chat
- Azure AI Search pro úložiště vektorů
- Vytvoří řetěz dokumentů s modelem LLM, zprávou chatu (systémovou a uživatelskou výzvou) a zdrojem dokumentu.
- Vytvoří řetěz načítání z řetězu dokumentů a úložiště vektorů.
- Streamuje odpovědi z řetězce vyhledávání.
Úkolem vývojáře je správně konfigurovat služby závislostí, jako jsou Azure OpenAI a Azure AI Search, a správně sestavit řetězce. Základní logika řetězu umožňuje vytvářet řetězy z mnoha různých služeb a konfigurací, pokud pracují s požadavky LangChain.js.
Kde je Azure v této architektuře?
Tato aplikace je vyrobena z více komponent:
Webová aplikace vytvořená s jedinou webovou komponentou pro chat využívající Lit a hostovaná na Azure Static Web Apps. Kód se nachází ve složce
packages/webapp.Serverless API vytvořené pomocí Azure Functions a používající LangChain.js pro ingestování dokumentů a generování odpovědí na dotazy uživatelského chatu. Kód se nachází ve složce
packages/api.Služba Azure OpenAI pro vytváření vektorových reprezentací a generování odpovědi.
Databáze pro uložení textu extrahovaného z dokumentů a vektorů generovaných pomocí LangChain.js, s využitím Azure AI Search.
Úložiště souborů k ukládání zdrojových dokumentů, které využívá Azure Blob Storage.
Požadavky
Vývojové prostředí kontejneru je k dispozici se všemi závislostmi potřebnými pro dokončení tohoto článku. Vývojový kontejner můžete spustit v GitHub Codespaces (v prohlížeči) nebo místně pomocí editoru Visual Studio Code.
Pokud chcete použít tento článek, potřebujete následující požadavky:
- Předplatné Azure – Vytvořit zdarma
- Oprávnění účtu Azure – Váš účet Azure musí mít oprávnění Microsoft.Authorization/roleAssignments/write, například User Access Administrator nebo Owner.
- Účet GitHubu.
Otevřené vývojové prostředí
Podle následujících pokynů nasaďte předkonfigurované vývojové prostředí obsahující všechny požadované závislosti pro dokončení tohoto článku.
- GitHub Codespaces (doporučeno)
- Visual Studio Code
GitHub Codespaces spouští vývojový kontejner spravovaný GitHubem s Visual Studio Code pro web jako uživatelským rozhraním. 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 GitHubu můžou každý měsíc používat Codespaces až 60 hodin zdarma se dvěma základními instancemi. Pro více informací si přečtěte GitHub Codespaces měsíčně zahrnuté úložiště a hodiny CPU.
Otevřete v 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í Azure Developer CLI.
azd auth loginDokončete proces ověřování.
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í bezserverové 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é
Prostředky Azure v této části začnou okamžitě účtovat peníze, a to i když zastavíte příkaz před jeho dokončením.
Zřiďte prostředky Azure a nasaďte zdrojový kód pomocí následujícího příkazu Azure Developer CLI:
azd upPomocí následující tabulky odpovězte na výzvy:
Podnět Odpověď Název prostředí Udržte to krátké a pište malými písmeny. Přidejte svoje jméno nebo alias. Například john-chat. Používá se jako součást názvu skupiny prostředků.Předplatné Vyberte předplatné pro vytváření prostředků. Umístění (pro hostování) V seznamu vyberte umístění blízko vás. Umístění modelu OpenAI V seznamu vyberte umístění 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 5 až 10 minut.
Po úspěšném nasazení aplikace se v terminálu zobrazí dvě adresy URL.
Vyberte tu adresu URL označenou
Deploying service webapppro otevření chatovací aplikace v prohlížeči.
Získání odpovědí ze souborů PDF pomocí chatovací aplikace
Chatovací aplikace je přednahraná informacemi o pronájmu z katalogu souborů PDF. Chatovací aplikaci můžete použít k kladení otázek ohledně procesu pronájmu. Následující kroky vás provedou procesem používání chatovací aplikace.
V prohlížeči vyberte nebo zadejte Jaká je politika vracení peněz.
Vyberte následnou otázku.
Výběrem citace v odpovědi zobrazíte zdrojový dokument. Azure Storage doručí dokument do prohlížeče. Až dokončíte kontrolu dokumentu, zavřete záložku a vraťte se do aplikace pro chat.
Vyčištění prostředků
Vyčištění prostředků Azure
Azure fakturuje prostředky vytvořené v tomto článku k vašemu předplatnému Azure. Pokud tyto prostředky v budoucnu nepotřebujete, odstraňte je, abyste se vyhnuli dalším poplatkům.
Odstraňte prostředky Azure a odeberte zdrojový kód pomocí následujícího příkazu Azure Developer CLI:
azd down --purge
Vyčištění služby GitHub Codespaces
- GitHub Codespaces
- Visual Studio Code
Odstraňte prostředí Codespaces na GitHubu pro maximální využití vašich bezplatných hodin pro jednotlivé jádro.
Důležité
Další informace o oprávněních účtu GitHub najdete v tématu GitHub Codespaces - měsíčně zahrnuté úložiště a hodiny jádra.
Získání pomoci
Toto ukázkové úložiště nabízí informace o řešení potíží.
Pokud se váš problém nevyřeší, založte jej v sekci Problémy úložiště.
Související obsah
- Začínáme s vyhodnocováním odpovědí v chatovací aplikaci v JavaScriptu
- Další informace o tom, jak se AZD používá v této šabloně:
Snímek obrazovky s původním dokumentem obsahujícím citaci
Snímek obrazovky všech spuštěných Codespaces, včetně jejich stavu a šablon.
Snímek obrazovky s možností Paleta příkazů pro opětovné otevření aktuální složky v místním prostředí