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.
V tomto článku se dozvíte, jak nasadit a spustit Chat with your data sample for Java. Tato ukázka implementuje chatovací aplikaci pomocí Java, modelů Azure OpenAI v Microsoft Foundry a Retrieval Augmented Generation (RAG) ve službě Azure AI Vyhledávač, aby poskytla odpovědi na otázky týkající se zaměstnaneckých výhod ve fiktivní společnosti. Aplikace je oseděna soubory PDF, včetně příručky pro zaměstnance, dokumentu o výhodách a seznamu rolí a očekávání společnosti.
- Ukázkové video
V tomto článku provedete následující úlohy:
- Nasazení chatovací aplikace 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 článku můžete začít 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í modelů Azure OpenAI v Microsoft Foundry a Azure AI Vyhledávač. Mezi další články v kolekci patří:
- .NET
- JavaScript
- Python
Poznámka:
Tento článek je založen na několika šablonách AI aplikací, které slouží jako základ pro příklady a pokyny v tomto č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
Následující diagram znázorňuje jednoduchou architekturu chatovací aplikace:
Diagram znázorňující architekturu z klienta do back-endové aplikace
Mezi klíčové součásti architektury patří:
- Webová aplikace, která hostuje interaktivní chatovací prostředí.
- Prostředek Azure AI Vyhledávač, který získá odpovědi z vašich vlastních dat.
- Azure OpenAI Service, která poskytuje:
- Klíčová slova pro vylepšení hledání ve vašich vlastních datech.
- Odpovědi od modelu OpenAI.
- Vkládání z modelu ada
Náklady
Většina prostředků používaných v této architektuře spadá do základních cenových úrovní nebo cenových úrovní založených na spotřebě. Tento cenový model znamená, že platíte jenom za to, co používáte, a poplatky jsou obvykle během vývoje nebo testování minimální.
K dokončení této ukázky vám mohou vzniknout menší náklady při používání služeb, jako jsou Azure OpenAI, Azure AI Search a úložiště. Po vyhodnocení nebo nasazení aplikace odstraňte všechny zřízené prostředky, abyste se vyhnuli průběžným poplatkům.
Další informace o nákladech najdete v ukázkovém úložišti.
Požadavky
K dokončení tohoto článku potřebujete vývojové prostředí kontejneru 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 použít tento článek, potřebujete následující požadavky:
- Codespaces (doporučeno)
- Visual Studio Code
- Předplatné Azure – Vytvoření zdarma.
- Oprávnění účtu Azure – váš účet Azure musí mít oprávnění
Microsoft.Authorization/roleAssignments/write, jako například uživatelský správce přístupu nebo vlastník. - Účet GitHubu.
Otevřené vývojové prostředí
Nastavte vývojové prostředí, které má nainstalované všechny závislosti pro dokončení tohoto článku.
- GitHub Codespaces (doporučeno)
- Visual Studio Code
GitHub Codespaces spouští vývojový kontejner spravovaný GitHubem pomocí editoru Visual Studio Code pro web jako uživatelského 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 GitHubu můžou každý měsíc používat Codespaces až 60 hodin zdarma se dvěma základními instancemi. Další informace naleznete v části měsíčně zahrnuté úložiště a výpočetní hodiny pro GitHub Codespaces.
Klikněte pravým tlačítkem myši na následující tlačítko a vyberte Otevřít odkaz v novém okně , abyste měli k dispozici vývojové prostředí i dokumentaci najednou.
Otevřít v GitHub Codespaces
V okně Vytvořit codespace zkontrolujte nastavení konfigurace codespace a pak vyberte Vytvořit codespace.
Snímek obrazovky potvrzovací obrazovky před vytvořením nového codespace
Počkejte, až se codespace 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 login --use-device-codeZkopírujte kód z terminálu a vložte ho do prohlížeče. Postupujte podle pokynů k ověření pomocí úč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é
Prostředky Azure vytvořené v této části – zejména Azure AI Vyhledávač – mohou začít být zpoplatněny, jakmile jsou zřízeny, i v případě, že se nasazení před dokončením přeruší. Abyste se vyhnuli neočekávaným poplatkům, monitorujte využití Azure a po testování odstraňte nepoužívané prostředky okamžitě.
Spuštěním následujícího příkazu zřiďte prostředky Azure a nasaďte zdrojový kód:
azd upPokud se zobrazí výzva k zadání názvu prostředí, ponechte ho krátkým a malými písmeny, například
myenv. Název prostředí se používá jako součást názvu skupiny prostředků.Po zobrazení výzvy vyberte předplatné, ve kterém chcete prostředky vytvořit.
Po zobrazení výzvy k prvnímu výběru umístění vyberte umístění blízko vás. Toto umístění slouží 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 toto umístění.
Počkejte, až se aplikace nasadí, což může trvat 5 až 10 minut.
Po úspěšném nasazení aplikace se v terminálu zobrazí adresa URL.
Vyberte adresu URL s
Deploying service webpopiskem a otevřete chatovací aplikaci v prohlížeči.
Získání odpovědí ze souborů PDF pomocí chatovací aplikace
Chatovací aplikace je předem načtena s informacemi 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 vyberte nebo zadejte Co je součástí plánu Northwind Health Plus, který není standardní? v textovém poli chatu.
V odpovědi vyberte jednu z citací.
V pravém podokně můžete pomocí karet zjistit, jak byla odpověď vygenerována.
Tab Popis Myšlenkový proces Skript interakcí v chatu Podpůrný obsah Obsahuje informace pro zodpovězení vaší otázky a zdrojového materiálu. Citace Zobrazí stránku PDF, která obsahuje citaci. Až budete hotovi, znovu klikněte na vybranou kartu a zavřete tak podokno.
Změna chování odpovědí pomocí nastavení chatovací aplikace
Model OpenAI a nastavení, která používáte k interakci s modelem, určují inteligenci chatovací aplikace.
Snímek obrazovky s nastavením vývojáře chatu
| Nastavení | Popis |
|---|---|
| Přepsat šablonu promptu | Výzva, která se používá k vygenerování odpovědi |
| Načtení tohoto počtu výsledků hledání | Počet výsledků hledání, které se používají k vygenerování odpovědi Tyto zdroje můžete vidět ve vráceném myšlenkovém procesu a na kartách podpůrného obsahu citace. |
| Vyloučit kategorii | Kategorie dokumentů, které jsou vyloučené z výsledků hledání |
| Použijte sémantický ranker pro vyhledávání | Funkce azure AI Search, která využívá strojové učení ke zlepšení relevance výsledků hledání |
| Použití kontextových souhrnů dotazu místo celých dokumentů | Při zaškrtnutí obou možností Use semantic ranker a Use query-contextual summaries používá LLM titulky extrahované z klíčových pasáží namí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. |
| Režim získá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ů. |
| Odpovědi na dokončování chatu během streamu | Místo čekání na kompletní odpověď použijte streamování odpovědí, jakmile jsou k dispozici. |
Následující kroky vás provedou procesem změny nastavení.
V prohlížeči vyberte kartu Nastavení pro vývojáře.
Zaškrtněte políčko Navrhnout následné otázky a znovu položte stejnou otázku.
What is my deductible?Chat vrátí navrhované následné otázky, například tyto:
1. What is the cost sharing for out-of-network services? 2. Are preventive care services subject to the deductible? 3. How does the prescription drug deductible work?Ve kartě Nastavení zrušte výběr Použít sémantický ranker pro vyhledávání.
Položte stejnou otázku znovu?
What is my deductible?Jaký je rozdíl v odpovědích?
Například odpověď, která použila sémantický ranker, poskytla jedinou odpověď:
The deductible for the Northwind Health Plus plan is $2,000 per year.Odpověď bez sémantického řazení vrátila odpověď, která vyžadovala více práce k získání odpovědi:
Based on the information provided, it is unclear what your specific deductible is. The Northwind Health Plus plan has different deductible amounts for in-network and out-of-network services, and there is also a separate prescription drug deductible. I would recommend checking with your provider or referring to the specific benefits details for your plan to determine your deductible amount.
Vyčištění prostředků
Po dokončení cvičení odeberte všechny prostředky, které už nepotřebujete.
Vyčištění prostředků Azure
Prostředky Azure vytvořené v tomto článku se fakturují k vašemu předplatnému Azure. Pokud v budoucnu tyto prostředky nepotřebujete, odstraňte je, abyste se vyhnuli účtování dalších poplatků. Pomocí následujícího příkazu odstraňte prostředky Azure a odeberte zdrojový kód:
azd down --purge
Vyčištění služby GitHub Codespaces
- GitHub Codespaces
- Visual Studio Code
Odstraněním prostředí GitHub Codespaces zajistíte, že můžete maximalizovat nárok na počet bezplatných hodin za 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 GitHub Codespaces - měsíčně zahrnuté úložiště a hodiny jader.
Přihlaste se k řídicímu panelu GitHub Codespaces.
Najděte aktuálně spuštěné Codespaces, které pocházejí z úložiště Azure-Samples/azure-search-openai-demo-java GitHub.
Snímek obrazovky se všemi spuštěnými Codespaces včetně jejich stavu a šablon.
Otevřete kontextovou nabídku pro codespace a pak vyberte Odstranit.
Snímek obrazovky s místní nabídkou pro jeden prostor kódu se zvýrazněnou možností odstranit
Jak se otázka zodpoví?
Aplikace je oddělená do dvou aplikací:
- Front-endová javascriptová aplikace, která používá architekturu React s nástrojem pro sestavení Vite.
- Back-endová Java aplikace, která odpovídá na otázku.
Rozhraní API backendu /chat prochází procesem získávání odpovědi:
- Sestavení možností RAG: Vytvořte sadu možností, které se používají k vygenerování odpovědi.
- Vytvoření přístupu pomocí možností RAG modelů: Použijte kombinaci modelů založených na načítání a generování k vytvoření přístupu pro generování přesné a přirozeně znějící odezvy.
- Spusťte přístup s možnostmi RAG a předchozí konverzací: Pomocí přístupu a možností RAG vygenerujte odpověď na základě předchozí konverzace. Odpověď obsahuje informace o tom, které dokumenty byly použity k vygenerování odpovědi.
Získání pomoci
Toto ukázkové úložiště nabízí informace o řešení potíží. Pokud váš problém není vyřešen, zapište ho do úložiště, v sekci Problémy.
Další kroky
- Získejte zdrojový kód ke vzorovému kódu použitému v tomto článku
- Řízení přístupu v generativních aplikacích AI pomocí Azure AI Vyhledávač
- Vytvoření řešení OpenAI připravené pro podniky pomocí služby Azure API Management
- Vynikání nad vyhledáváním vektoru pomocí hybridních schopností vyhledávání a hodnocení
- Více komplexních end-to-end šablon Azure AI
Snímek obrazovky s první odpovědí chatovací aplikace