Kurz: Sestavení a nasazení dotazu a odpovědi pomocí toku výzvy v Azure AI Studiu

Poznámka:

Azure AI Studio je aktuálně ve verzi Public Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

V tomto kurzu k Azure AI Studiu použijete generující AI a zobrazíte tok výzvy k sestavení, konfiguraci a nasazení copilotu pro maloobchodní společnost s názvem Contoso. Vaše maloobchodní společnost se specializuje na venkovní kempování a oblečení.

Copilot by měl odpovídat na otázky týkající se vašich produktů a služeb. Měl by také odpovídat na otázky týkající se vašich zákazníků. Kopírka může například odpovídat na otázky, jako je například "Kolik stojí turistické boty TrailWalker?" a "Kolik trailWalker hiking bot udělal Daniel Wilson?".

Postup v tomto kurzu:

  1. Vytvořte projekt Azure AI Studio.
  2. Nasaďte model Azure OpenAI a chatujte s daty.
  3. Vytvořte tok výzvy z dětského hřiště.
  4. Přizpůsobte tok výzvy s více zdroji dat.
  5. Vyhodnoťte tok pomocí datové sady vyhodnocení otázek a odpovědí.
  6. Nasaďte tok pro spotřebu.

Požadavky

  • Předplatné Azure – Vytvořte si ho zdarma.

  • Přístup k Azure OpenAI je udělován v požadovaném předplatném Azure.

    V současné době je přístup k této službě udělován pouze aplikací. Pokud chcete získat přístup k Azure OpenAI, vyplňte formulář na adrese https://aka.ms/oai/access. Pokud máte problém, otevřete problém v tomto úložišti a kontaktujte nás.

  • Potřebujete prostředek centra Azure AI a vaše role uživatele musí být Azure AI Developer, Přispěvatel nebo Vlastník prostředku centra Azure AI. Další informace najdete v tématu Prostředky centra Azure AI a role Azure AI.

    • Pokud je vaše role přispěvatel nebo vlastník, můžete v tomto kurzu vytvořit prostředek centra Azure AI.
    • Pokud je vaším úkolem Azure AI Developer, prostředek centra Azure AI už musí být vytvořený.
  • Aby bylo možné nasadit nový model v tomto kurzu, musí být vaše předplatné pod limitem kvóty. Jinak už potřebujete mít nasazený model chatu.

  • Potřebujete místní kopii produktů a zákaznických dat. Úložiště Azure/aistudio-copilot-sample na GitHubu obsahuje ukázkové informace o maloobchodním prodeji a produktech, které jsou relevantní pro tento scénář kurzu. Naklonujte úložiště nebo zkopírujte soubory z 1-customer-info a 3-product-info.

Vytvoření projektu Azure AI v Azure AI Studiu

Projekt Azure AI slouží k uspořádání práce a uložení stavu při sestavování kopírovaného objektu. V tomto kurzu váš projekt obsahuje vaše data, modul runtime toku, vyhodnocení a další prostředky. Další informace o projektech a prostředcích Azure AI najdete v tématu Prostředky centra Azure AI.

Pokud chcete vytvořit projekt Azure AI v Azure AI Studiu, postupujte takto:

  1. Vyberte kartu Sestavení v horní části stránky.

  2. Vyberte + Nový projekt AI.

    Snímek obrazovky s kartou Sestavení v sadě Azure AI Studio s možností vytvořit nový projekt viditelný

  3. Zadejte název projektu.

  4. V rozevíracím seznamu vyberte prostředek centra Azure AI, který chcete hostovat váš projekt. Pokud ještě nemáte přístup k prostředku centra Azure AI, vyberte Vytvořit nový prostředek.

    Snímek obrazovky se stránkou podrobností projektu v dialogovém okně vytvořit projekt

    Poznámka:

    Pokud chcete vytvořit prostředek centra Azure AI, musíte mít oprávnění vlastníka nebo přispěvatele k vybrané skupině prostředků. Doporučuje se sdílet prostředek centra Azure AI s vaším týmem. Díky tomu můžete sdílet konfigurace, jako jsou datová připojení, se všemi projekty a centrálně spravovat nastavení zabezpečení a útratu.

  5. Pokud vytváříte nový prostředek centra Azure AI, zadejte název.

  6. V rozevíracím seznamu vyberte své předplatné Azure. Zvolte konkrétní předplatné Azure pro váš projekt z důvodů fakturace, přístupu nebo správy. To například uděluje uživatelům a instančním objektům přístup k vašemu projektu na úrovni předplatného.

  7. Ponechte skupinu prostředků jako výchozí a vytvořte novou skupinu prostředků. Případně můžete v rozevíracím seznamu vybrat existující skupinu prostředků.

    Tip

    Zejména pro začátek se doporučuje vytvořit novou skupinu prostředků pro váš projekt. To vám umožní snadno spravovat projekt a všechny jeho zdroje společně. Při vytváření projektu se ve skupině prostředků vytvoří několik prostředků, včetně prostředku centra Azure AI, registru kontejneru a účtu úložiště.

  8. Zadejte umístění prostředku centra Azure AI a pak vyberte Další. Umístění je oblast, ve které je hostovaný prostředek centra Azure AI. Umístěním prostředku centra Azure AI je také umístění projektu. Dostupnost služeb Azure AI se liší v jednotlivých oblastech. Některé modely například nemusí být dostupné v určitých oblastech.

  9. V rozevíracím seznamu vyberte existující prostředek Azure OpenAI nebo vytvořte nový.

    Snímek obrazovky se stránkou vytvořit zdroj v dialogovém okně vytvořit projekt

  10. Na stránce Kontrola a dokončení se zobrazí název prostředku služby Azure OpenAI a další nastavení, která chcete zkontrolovat.

    Snímek obrazovky se stránkou revize a dokončení v dialogovém okně vytvořit projekt

  11. Zkontrolujte podrobnosti projektu a pak vyberte Vytvořit projekt AI. Uvidíte průběh vytváření zdrojů a po dokončení procesu se projekt vytvoří.

    Snímek obrazovky s průběhem vytváření zdrojů v dialogovém okně vytvořit projekt

Po vytvoření projektu můžete na levém navigačním panelu přistupovat k prostředkům nastavení projektů Nástroje, Součásti a AI. V případě projektu, který používá centrum Azure AI s podporou azure OpenAI, se v části Nástroje zobrazí možnost Navigace na dětském hřišti.

Nasazení modelu chatu

Pomocí těchto kroků nasadíte model chatu Azure OpenAI pro váš kopírovaný graf.

  1. Přihlaste se k Azure AI Studiu pomocí přihlašovacích údajů, které mají přístup k vašemu prostředku Azure OpenAI. Během nebo po přihlášení vyberte příslušný adresář, předplatné Azure a prostředek Azure OpenAI. Měli byste být na domovské stránce azure AI Studia.

  2. V horní nabídce vyberte Sestavit a pak vyberte Nasazení>vytvořit>koncový bod v reálném čase.

    Snímek obrazovky se stránkou nasazení s tlačítkem pro vytvoření nového projektu

  3. Na stránce Vybrat model vyberte model, který chcete nasadit, ze seznamu modelů. Vyberte například gpt-35-turbo-16k. Pak vyberte Potvrdit.

    Snímek obrazovky se stránkou výběru modelu

  4. Na stránce Nasadit model zadejte název nasazení a pak vyberte Nasadit. Po vytvoření nasazení se zobrazí stránka s podrobnostmi o nasazení. Podrobnosti zahrnují datum vytvoření nasazení a datum vytvoření a verzi modelu, který jste nasadili.

  5. Na stránce s podrobnostmi o nasazení z předchozího kroku vyberte Otevřít v dětském hřišti.

    Snímek obrazovky s podrobnostmi o nasazení chatu GPT

Další informace o nasazení modelů najdete v tématu nasazení modelů.

Chatování v dětském hřišti bez dat

V dětském prostředí Azure AI Studio můžete sledovat, jak váš model reaguje a bez vašich dat. V této části otestujete model bez dat. V další části přidáte data do modelu, abyste jim pomohli lépe zodpovědět otázky týkající se vašich produktů.

  1. V dětském hřišti se ujistěte, že je v rozevíracím seznamu Režim vybraný chat. V rozevíracím seznamu Nasazení vyberte nasazený chatovací model GPT.

    Snímek obrazovky chatovacího hřiště s vybraným režimem chatu a modelem

  2. V textovém poli Systémová zpráva v podokně nastavení Pomocníka zadejte tuto výzvu k vedení asistenta: "Jste asistent AI, který pomáhá lidem najít informace." Můžete přizpůsobit výzvu pro svůj scénář. Další informace najdete v ukázkách výzvy.

  3. Pokud chcete změny uložit, vyberte Použít změny a po zobrazení výzvy k zobrazení, jestli chcete aktualizovat systémovou zprávu, vyberte Pokračovat.

  4. V podokně relace chatu zadejte následující otázku: "Kolik stojí turistické boty TrailWalker", a pak vyberte ikonu šipky doprava, kterou chcete odeslat.

    Snímek obrazovky s první otázkou chatu bez podkladových dat

  5. Asistent odpoví, že odpověď nezná. Model nemá přístup k informacím o produktech o turistických botách TrailWalker.

    Snímek obrazovky s odpovědí asistenta bez podkladových dat

V další části přidáte data do modelu, aby vám pomohla zodpovědět otázky týkající se vašich produktů.

Přidání dat a opětovné vyzkoušení modelu chatu

Potřebujete místní kopii ukázkových informací o produktu. Další informace a odkazy na ukázková data najdete v požadavcích.

Místní datové soubory nahrajete do služby Azure Blob Storage a vytvoříte index služby Azure AI Search. Zdroj dat se používá k tomu, aby pomohl stabilizovat model s konkrétními daty. Základ znamená, že model používá vaše data, aby mu pomohl pochopit kontext vaší otázky. Neměníte samotný nasazený model. Vaše data se ukládají samostatně a bezpečně ve vašem předplatném Azure. Další informace najdete v tématu Azure OpenAI o vašich datech.

Tímto postupem přidáte data do dětského hřiště a pomůžete asistentovi zodpovědět otázky týkající se vašich produktů.

  1. Pokud ještě nejste v dětském prostředí Azure AI Studio , vyberte v horní nabídce možnost Sestavit a pak v levé sbalitelné nabídce vyberte Dětské hřiště .

  2. V podokně nastavení Pomocníka vyberte Přidat data (Preview)>+ Přidat zdroj dat.

    Snímek obrazovky chatovacího hřiště s možností přidat viditelný zdroj dat

  3. Na stránce Zdroj dat, která se zobrazí, vyberte v rozevíracím seznamu Vybrat zdroj dat možnost Nahrát soubory.

    Snímek obrazovky s možnostmi výběru zdroje dat produktu

    Tip

    Informace o možnostech zdroje dat a podporovaných typech a formátech souborů najdete v tématu Azure OpenAI na vašich datech.

  4. Jako název indexu informací o produktu zadejte informace o produktu.

    Snímek obrazovky s prostředky a informacemi potřebnými k nahrání souborů

  5. Vyberte nebo vytvořte prostředek Azure AI Search s názvem contoso-outdoor-search a vyberte potvrzení, že připojení k němu způsobuje využití vašeho účtu.

    Poznámka:

    Index product-info a prostředek Azure AI Search contoso-outdoor-search použijete v toku výzvy později v tomto kurzu. Pokud se zadané názvy liší od zadaných jmen, nezapomeňte použít názvy, které jste zadali ve zbývající části kurzu.

  6. Vyberte předplatné Azure, které obsahuje prostředek Azure OpenAI, který chcete použít. Pak vyberte Další.

  7. Na stránce Nahrát soubory vyberte Vyhledat soubor a vyberte soubory, které chcete nahrát. Vyberte soubory s informacemi o produktu, které jste stáhli nebo vytvořili dříve. Podívejte se na požadavky. Pokud chcete nahrát více než jeden soubor, udělejte to teď. Další soubory nemůžete přidat později ve stejné relaci dětského hřiště.

  8. Výběrem možnosti Nahrát soubor nahrajte do účtu služby Azure Blob Storage. Potom v dolní části stránky vyberte Další .

    Snímek obrazovky s dialogovým oknem pro výběr a nahrání souborů

  9. Na stránce Správa dat v části Typ hledání vyberte Klíčové slovo. Toto nastavení pomáhá určit, jak model reaguje na požadavky. Pak vyberte Další.

    Poznámka:

    Pokud jste přidali vektorové vyhledávání na stránce Vybrat nebo přidat zdroj dat, budou zde k dispozici další možnosti pro další náklady. Další informace najdete v tématu Azure OpenAI o vašich datech.

  10. Zkontrolujte zadané podrobnosti a vyberte Uložit a zavřít. Teď můžete chatovat s modelem a k vytvoření odpovědi používá informace z vašich dat.

    Snímek obrazovky se stránkou revize a dokončení pro přidání dat

  11. Teď v podokně nastavení Pomocníka uvidíte, že probíhá příjem dat. Než budete pokračovat, počkejte, až se místo stavu zobrazí název zdroje dat a indexu.

    Snímek obrazovky chatovacího hřiště se stavem příjmu dat v zobrazení

  12. Teď můžete chatovat s modelem, který klade stejnou otázku jako předtím ("Kolik stojí turistické boty TrailWalker"), a tentokrát používá informace z vašich dat k vytvoření odpovědi. Tlačítko odkazy můžete rozbalit a zobrazit použitá data.

    Snímek obrazovky s odpovědí asistenta se zemskámi daty

Vytvoření výpočetních prostředků a modulu runtime potřebných pro tok výzvy

Tok výzvy slouží k optimalizaci zpráv odesílaných do chatovacího modelu copilotu. Tok výzvy vyžaduje výpočetní instanci a modul runtime. Pokud už máte výpočetní instanci a modul runtime, můžete tuto část přeskočit a zůstat v dětském hřišti.

Pokud chcete vytvořit výpočetní instanci a modul runtime, postupujte takto:

  1. Pokud nemáte výpočetní instanci, můžete ji vytvořit v Azure AI Studiu.
  2. Pak vytvořte modul runtime podle kroků v postupu vytvoření modulu runtime.

Pokud chcete dokončit zbytek kurzu, ujistěte se, že je modul runtime ve stavu Spuštěno . Možná budete muset vybrat Aktualizovat , abyste viděli aktualizovaný stav.

Důležité

Během jejich spouštění se vám účtují poplatky za výpočetní instance. Pokud se chcete vyhnout zbytečným nákladům na Azure, pozastavte výpočetní instanci, když aktivně nepracujete v toku výzvy. Další informace najdete v tématu spuštění a zastavení výpočetních prostředků.

Vytvoření toku výzvy z dětského hřiště

Teď, když nasazený chatovací model pracuje na dětském hřišti s vašimi daty, můžete z dětského hřiště nasadit kopírovací objekt jako webovou aplikaci.

Můžete se ale zeptat, jak můžu tento kopírovaný graf dále přizpůsobit? Můžete chtít přidat více zdrojů dat, porovnat různé výzvy nebo výkon více modelů. Tok výzvy slouží jako spustitelný pracovní postup, který zjednodušuje vývoj aplikace AI založené na LLM. Poskytuje komplexní architekturu pro správu toku dat a zpracování v rámci vaší aplikace.

V této části se dozvíte, jak přejít na tok výzvy z dětského hřiště. Exportujete chatovací prostředí dětského hřiště včetně připojení k přidaná datům. Později v tomto kurzu vyhodnotíte tok a pak ho nasadíte pro spotřebu.

Poznámka:

Změny provedené v toku výzvy se při aktualizaci prostředí dětského hřiště nepoužijí zpětně.

Tok výzvy můžete vytvořit z dětského hřiště pomocí následujícího postupu:

  1. Pokud ještě nejste v dětském prostředí Azure AI Studio , vyberte v horní nabídce možnost Sestavit a pak v levé sbalitelné nabídce vyberte Dětské hřiště .

  2. V nabídce nad podoknem relace chatu vyberte Otevřít v toku výzvy.

  3. Zadejte název složky pro tok výzvy. Pak vyberte Otevřít. Azure AI Studio exportuje chatovací prostředí dětského hřiště, včetně připojení k vašim datům, aby se zobrazila výzva k toku.

    Snímek obrazovky s otevřeným dialogovým oknem toku výzvy

V rámci toku se uzly stupňovaly ve středu, které představují konkrétní nástroje s jedinečnými možnostmi. Tyto uzly zpracovávají zpracování dat, spouštění úloh a algoritmické operace se vstupy a výstupy. Propojením uzlů vytvoříte bezproblémový řetěz operací, který provede tok dat prostřednictvím vaší aplikace. Další informace najdete v nástrojích toku výzvy.

Pro usnadnění konfigurace a jemného ladění uzlů se vizuální reprezentace struktury pracovního postupu poskytuje prostřednictvím grafu DAG (směrovaný Acyklické graf). Tento graf znázorňuje možnosti připojení a závislosti mezi uzly a poskytuje jasný přehled celého pracovního postupu. Zde zobrazené uzly představují prostředí chatu dětského hřiště, které jste exportovali do toku výzvy.

Snímek obrazovky s výchozím grafem exportovaným z dětského hřiště k zobrazení výzvy

Uzly je možné přidat, aktualizovat, změnit jejich uspořádání nebo je odebrat. Mezi uzly ve vašem toku v tomto okamžiku patří:

  • DetermineIntent: Tento uzel určuje záměr dotazu uživatele. K určení záměru používá výzvu systému. Můžete upravit výzvu k systému a poskytnout několik příkladů konkrétních scénářů.
  • ExtractIntent: Tento uzel naformátuje výstup uzlu DetermineIntent a odešle ho do uzlu RetrieveDocuments .
  • RetrieveDocuments: Tento uzel vyhledá hlavní dokumenty související s dotazem. Tento uzel používá typ hledání a všechny parametry, které jste předem nakonfigurovali v dětském hřišti.
  • FormatRetrievedDocuments: Tento uzel naformátuje výstup uzlu RetrieveDocuments a odešle ho do uzlu DetermineReply .
  • DetermineReply: Tento uzel obsahuje rozsáhlou systémovou výzvu, která požádá LLM, aby reagoval pouze pomocí načtených dokumentů. Existují dva vstupy:
    • Uzel RetrieveDocuments poskytuje nejlepší načtené dokumenty.
    • Uzel FormatConversation poskytuje formátovanou historii konverzací včetně nejnovějšího dotazu.

Uzel FormatReply formátuje výstup uzlu DetermineReply .

V toku výzvy byste měli vidět také:

  • Uložit: Tok výzvy můžete kdykoli uložit tak , že v horní nabídce vyberete Uložit . Při provádění změn v tomto kurzu nezapomeňte tok výzvy pravidelně ukládat.

  • Runtime: Modul runtime, který jste vytvořili dříve v tomto kurzu. Moduly runtime a výpočetní instance můžete spouštět a zastavovat prostřednictvím nastavení projektu AI v nabídce vlevo. Pokud chcete pracovat s tokem výzvy, ujistěte se, že je modul runtime ve stavu Spuštěno .

    Snímek obrazovky s editorem toku výzvy a okolními nabídkami

  • Nástroje: K toku výzvy se můžete kdykoli vrátit tak, že v nabídce Vlevo vyberete Tokvýzvy. Pak vyberte složku toku výzvy, kterou jste vytvořili dříve (nikoli ukázkový tok).

    Snímek obrazovky se seznamem toků výzvy

Přizpůsobení toku výzvy s více zdroji dat

Dříve v azure AI Studio playground jste přidali data , abyste vytvořili jeden vyhledávací index, který obsahoval údaje o produktech pro kopírovací objekt Contoso. Zatím mohou uživatelé pouze inquirovat o produktech s otázkami, jako je například "Kolik stojí trailWalker turistické boty?". Nemůžou ale získat odpovědi na otázky, jako je například "Kolik trailWalker hiking botů koupil Daniel Wilson?" Pokud chcete tento scénář povolit, přidáme do toku další index s informacemi o zákaznících.

Vytvoření indexu informací o zákazníci

Potřebujete místní kopii ukázkových informací o zákazníci. Další informace a odkazy na ukázková data najdete v požadavcích.

Postupujte podle těchto pokynů k vytvoření nového indexu:

  1. V nabídce vlevo vyberte Index . Pak vyberte + Nový index.

    Snímek obrazovky se stránkou indexů s tlačítkem pro vytvoření nového indexu

    Přejdete do průvodce vytvořením indexu.

  2. Na stránce Zdrojová data vyberte v rozevíracím seznamu Nahrát složku. Vyberte soubory s informacemi o zákazníci, které jste stáhli nebo vytvořili dříve. Podívejte se na požadavky.

    Snímek obrazovky s možnostmi výběru zdroje dat zákazníka

  3. V dolní části stránky vyberte Další .

  4. Vyberte stejný prostředek Azure AI Search (contoso-outdoor-search), který jste použili pro index informací o produktu (informace o produktu). Pak vyberte Další.

    Snímek obrazovky s vybraným prostředkem Azure AI Search

  5. Jako typ hledání vyberte Hybrid + Sémantic (Doporučeno). Tento typ by měl být ve výchozím nastavení vybraný.

  6. V rozevíracím seznamu prostředků Azure OpenAI vyberte Default_AzureOpenAI. Zaškrtnutím políčka potvrďte, že se model vkládání Azure OpenAI nasadí, pokud ještě není. Pak vyberte Další.

    Snímek obrazovky s možnostmi typu hledání indexu

    Poznámka:

    Vložený model je uvedený s dalšími nasazeními modelu na stránce Nasazení .

  7. Zadejte informace o zákazníci pro název indexu. Pak vyberte Další.

    Snímek obrazovky s názvem indexu a možnostmi virtuálního počítače

  8. Zkontrolujte zadané podrobnosti a vyberte Vytvořit.

    Snímek obrazovky se stránkou pro kontrolu a dokončení vytváření indexu

    Poznámka:

    Index customer-info a prostředek Azure AI Search contoso-outdoor-search použijete v toku výzvy později v tomto kurzu. Pokud se zadané názvy liší od zadaných jmen, nezapomeňte použít názvy, které jste zadali ve zbývající části kurzu.

  9. Přejdete na stránku s podrobnostmi indexu, kde uvidíte stav vytvoření indexu.

    Snímek obrazovky s podrobnostmi indexu informací o zákaznících

Další informace o tom, jak vytvořit index, naleznete v tématu Vytvoření indexu.

Přidání informací o zákaznících do toku

Po vytvoření indexu se vraťte do toku výzvy a podle těchto kroků přidejte do toku informace o zákaznících:

  1. Vyberte uzel RetrieveDocuments z grafu a přejmenujte ho RetrieveProductInfo. Teď můžete uzel načíst informace o produktu odlišit od uzlu načíst informace o zákaznících, který přidáte do toku.

    Snímek obrazovky s uzlem toku výzvy k načtení informací o produktu

  2. V horní nabídce vyberte + Python a vytvořte nový uzel Pythonu, který se používá k načtení informací o zákazníci.

    Snímek obrazovky s uzlem toku výzvy k načtení informací o zákaznících

  3. Pojmenujte uzel RetrieveCustomerInfo a vyberte Přidat.

  4. Zkopírujte a vložte kód Pythonu z uzlu RetrieveProductInfo do uzlu RetrieveCustomerInfo a nahraďte veškerý výchozí kód.

  5. Vyberte tlačítko Ověřit a parsovat vstupní tlačítko a ověřte vstupy pro uzel RetrieveCustomerInfo. Pokud jsou vstupy platné, výzva tok parsuje vstupy a vytvoří potřebné proměnné pro použití v kódu.

    Snímek obrazovky s tlačítkem ověřit a analyzovat vstup

  6. Upravte vstupy RetrieveCustomerInfo, které vás vyzve k analýze toku, aby se mohl připojit k indexu informací o zákaznících.

    Snímek obrazovky se vstupy pro úpravy v uzlu načíst informace o zákaznících

    Poznámka:

    Graf se aktualizuje hned po nastavení vstupní hodnoty dotazů na ExtractIntent.output.search_intents. V grafu vidíte, že RetrieveCustomerInfo získává vstupy z ExtractIntent.

    U vstupů se rozlišují malá a velká písmena, proto se ujistěte, že přesně odpovídají těmto hodnotám:

    Name Typ Hodnota
    embeddingModel Připojení ion Azure OpenAI Default_AzureOpenAI
    embeddingModelName string Nic
    indexName string informace o zákazníci
    Dotazy string ${ExtractIntent.output.search_intents}
    queryType string Jednoduché
    hledat Připojení ion Kognitivní hledání contoso-outdoor-search
    sémanticConfiguration string Nic
    TopK int 5
  7. Výběrem možnosti Uložit v horní nabídce uložte provedené změny.

Formátování načtených dokumentů na výstup

Teď, když máte v toku výzvy informace o produktech i zákaznících, naformátujete načtené dokumenty tak, aby je mohl používat velký jazykový model.

  1. V grafu vyberte uzel FormatRetrievedDocuments.

  2. Zkopírujte a vložte následující kód Pythonu , který nahradí veškerý obsah v bloku kódu FormatRetrievedDocuments .

    from promptflow import tool
    
    @tool
    def format_retrieved_documents(docs1: object, docs2: object, maxTokens: int) -> str:
      formattedDocs = []
      strResult = ""
      docs = [val for pair in zip(docs1, docs2) for val in pair]
      for index, doc in enumerate(docs):
        formattedDocs.append({
          f"[doc{index}]": {
            "title": doc['title'],
            "content": doc['content']
          }
        })
        formattedResult = { "retrieved_documents": formattedDocs }
        nextStrResult = str(formattedResult)
        if (estimate_tokens(nextStrResult) > maxTokens):
          break
        strResult = nextStrResult
    
      return {
              "combined_docs": docs,
              "strResult": strResult
          }
    
    def estimate_tokens(text: str) -> int:
      return (len(text) + 2) / 3
    
  3. Výběrem tlačítka Ověřit a analyzovat vstup ověřte vstupy pro uzel FormatRetrievedDocuments. Pokud jsou vstupy platné, výzva tok parsuje vstupy a vytvoří potřebné proměnné pro použití v kódu.

  4. Upravte vstupy FormatRetrievedDocuments, které vás vyzve k analýze toku, aby bylo možné extrahovat informace o produktech a zákaznících z uzlů RetrieveProductInfo a RetrieveCustomerInfo.

    Snímek obrazovky se vstupy pro úpravy ve formátu načteného uzlu dokumentů

    U vstupů se rozlišují malá a velká písmena, proto se ujistěte, že přesně odpovídají těmto hodnotám:

    Name Typ Hodnota
    docs1 objekt ${RetrieveProductInfo.output}
    docs2 objekt ${RetrieveCustomerInfo.output}
    maxTokens int 5000
  5. V grafu vyberte uzel DetermineReply.

  6. Nastavte vstup dokumentace na ${FormatRetrievedDocuments.output.strResult}.

    Snímek obrazovky s úpravou vstupní hodnoty dokumentace v uzlu určení odpovědi

  7. Vyberte uzel výstupu z grafu.

  8. Nastavte vstup fetched_docs na ${FormatRetrievedDocuments.output.combined_docs}.

    Snímek obrazovky s úpravou vstupní hodnoty fetched_docs v uzlu výstupu

  9. Výběrem možnosti Uložit v horní nabídce uložte provedené změny.

Chat v toku výzvy s informacemi o produktech a zákaznících

Teď máte v toku výzvy informace o produktu i zákazníkovi. Můžete chatovat s modelem v toku výzvy a získat odpovědi na otázky, jako je například "Kolik trailWalker hiking boty koupil Daniel Wilson?" Než budete pokračovat k formálnímu vyhodnocení, můžete s modelem volitelně chatovat a podívat se, jak odpovídá na vaše otázky.

  1. Výběrem možnosti Chat v horní nabídce v toku výzvy zkuste chatovat.

  2. Zadejte "Kolik trailWalker pěší obuvi koupil Daniel Wilson?" a pak vyberte ikonu šipky doprava, která se má odeslat.

  3. Odpověď je to, co očekáváte. Model používá k zodpovězení otázky informace o zákazníci.

    Snímek obrazovky s odpovědí asistenta s daty o produktech a uzemnění zákazníků

Vyhodnocení toku pomocí datové sady vyhodnocení otázek a odpovědí

V Azure AI Studiu chcete tok vyhodnotit před nasazením toku pro spotřebu.

V této části použijete integrované vyhodnocení k vyhodnocení toku s datovou sadou pro vyhodnocení otázek a odpovědí. Integrované vyhodnocení používá metriky asistované umělé inteligence k vyhodnocení toku: uzemnění, relevance a skóre načtení. Další informace najdete v předdefinovaných metrikách vyhodnocení.

Vytvoření vyhodnocení

Potřebujete datovou sadu vyhodnocení otázek a odpovědí, která obsahuje otázky a odpovědi, které jsou relevantní pro váš scénář. Vytvořte nový soubor místně s názvem qa-evaluation.jsonl. Zkopírujte a vložte do souboru následující otázky a odpovědi ("truth").

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

Teď, když máte testovací datovou sadu, můžete tok vyhodnotit pomocí následujících kroků:

  1. V horní nabídce v toku výzvy vyberte Vyhodnotit>předdefinované vyhodnocení.

    Snímek obrazovky s možností vytvoření integrovaného vyhodnocení z toku výzvy

    Přejdete do Průvodce vytvořením nového vyhodnocení .

  2. Zadejte název vyhodnocení a vyberte modul runtime.

  3. V možnostech scénáře vyberte páry otázek a odpovědí s generováním rozšířeného načítání .

    Snímek obrazovky s výběrem scénáře vyhodnocení

  4. Vyberte tok, který chcete vyhodnotit. V tomto příkladu vyberte venkovní tok Contoso nebo jakýkoli název toku . Pak vyberte Další.

  5. Vyberte metriky, které chcete použít k vyhodnocení toku. V tomto příkladu vyberte Uzemnění, Relevance a Skóre načtení.

    Snímek obrazovky s výběrem metrik vyhodnocení

  6. Vyberte model, který se má použít k vyhodnocení. V tomto příkladu vyberte gpt-35-turbo-16k. Pak vyberte Další.

    Poznámka:

    Vyhodnocení s metrikami asistovanými AI musí volat jiný model GPT, který provede výpočet. Pro zajištění nejlepšího výkonu použijte model, který podporuje alespoň 16k tokenů, jako je gpt-4-32k nebo gpt-35-turbo-16k model. Pokud jste takový model ještě nenasazovali, můžete pomocí kroků v části Nasazení chatovacího modelu nasadit jiný model. Pak se vraťte k tomuto kroku a vyberte model, který jste nasadili.

  7. Vyberte Přidat novou datovou sadu. Pak vyberte Další.

    Snímek obrazovky s možností použít novou nebo existující datovou sadu

  8. Vyberte Nahrát soubory, procházet soubory a vyberte soubor qa-evaluation.jsonl , který jste vytvořili dříve.

    Snímek obrazovky s tlačítkem nahrát soubory datové sady

  9. Po nahrání souboru je potřeba namapovat vlastnosti ze souboru (zdroje dat) na vlastnosti vyhodnocení. Pro každou vlastnost zdroje dat zadejte následující hodnoty:

    Snímek obrazovky s mapováním testovací datové sady

    Název Popis Typ Zdroj dat
    chat_history Historie chatu list ${data.chat_history}
    query Dotaz string ${data.question}
    Otázka Dotaz, který hledá konkrétní informace string ${data.question}
    Odpověď Odpověď na otázku vygenerovanou modelem jako odpověď string ${run.outputs.reply}
    Dokumenty Řetězec s kontextem z načtených dokumentů string ${run.outputs.fetched_docs}
  10. Vyberte Další.

  11. Zkontrolujte podrobnosti o vyhodnocení a pak vyberte Odeslat.

    Snímek obrazovky se stránkou revize a dokončení v dialogovém okně pro vytvoření vyhodnocení

    Přejdete na stránku vyhodnocení metrik.

Zobrazení stavu vyhodnocení a výsledků

Teď můžete zobrazit stav vyhodnocení a výsledky pomocí následujícího postupu:

  1. Pokud ještě po vytvoření vyhodnocení nepřejdete na vyhodnocení sestavení>. Na stránce Vyhodnocení metrik můžete zobrazit stav vyhodnocení a metriky, které jste vybrali. Možná budete muset po několika minutách vybrat Aktualizovat , abyste viděli stav Dokončeno .

    Snímek obrazovky se stránkou vyhodnocení metrik

    Tip

    Jakmile je vyhodnocení ve stavu Dokončeno , nepotřebujete k dokončení zbývající části tohoto kurzu modul runtime ani výpočetní prostředky. Výpočetní instanci můžete zastavit, abyste se vyhnuli zbytečným nákladům na Azure. Další informace najdete v tématu spuštění a zastavení výpočetních prostředků.

  2. Výběrem názvu vyhodnocení, které se dokončilo jako první (contoso-evaluate-from-flow_variant_0), zobrazí se podrobnosti o vyhodnocení se sloupci, které jste namapovali dříve.

    Snímek obrazovky se stránkou s podrobnými výsledky metrik

  3. Vyberte název vyhodnocení, které se dokončilo jako druhé (evaluation_contoso-evaluate-from-flow_variant_0) a zobrazí se metriky vyhodnocení: uzemnění, relevance a skóre načtení.

    Snímek obrazovky s průměrným skóre metrik

Další informace najdete v tématu zobrazení výsledků vyhodnocení.

Nasazení toku

Teď, když jste vytvořili tok a dokončili vyhodnocení založené na metrikách, je čas vytvořit online koncový bod pro odvozování v reálném čase. To znamená, že nasazený tok můžete použít k zodpovězení otázek v reálném čase.

Postupujte podle těchto kroků a nasaďte tok výzvy jako online koncový bod z Azure AI Studia.

  1. Připravte tok výzvy k nasazení. Pokud ho nemáte, podívejte se, jak vytvořit tok výzvy.

  2. Volitelné: Vyberte Chat a otestujte, jestli tok funguje správně. Doporučuje se otestovat tok před nasazením.

  3. V editoru toků vyberte Nasadit .

    Snímek obrazovky s tlačítkem Nasadit z editoru toku výzvy

  4. V průvodci nasazením zadejte požadované informace na stránce Základní Nastavení.

    Snímek obrazovky se stránkou základního nastavení v průvodci nasazením

  5. Výběrem možnosti Další přejdete na stránky upřesňujících nastavení.

  6. Na stránce Upřesnit nastavení – Koncový bod ponechte výchozí nastavení a vyberte Další.

  7. Na stránce Upřesnit nastavení – Nasazení ponechte výchozí nastavení a vyberte Další.

  8. Na stránce Upřesnit nastavení – Výstupy a připojení se ujistěte, že jsou všechny výstupy vybrané v části Zahrnuté v odpovědi koncového bodu.

    Snímek obrazovky se stránkou upřesňujícího nastavení v průvodci nasazením

  9. Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte nastavení a vytvořte nasazení.

  10. Výběrem možnosti Vytvořit nasadíte tok výzvy.

    Snímek obrazovky se stránkou nastavení nasazení toku výzvy ke kontrole

Další informace najdete v tématu nasazení toku.

Použití nasazeného toku

Vaše aplikace copilot může použít nasazený tok výzvy k zodpovězení otázek v reálném čase. K použití nasazeného toku můžete použít koncový bod REST nebo sadu SDK.

  1. Pokud chcete zobrazit stav nasazení v Azure AI Studiu, v levém navigačním panelu vyberte Nasazení . Po úspěšném vytvoření nasazení můžete výběrem nasazení zobrazit podrobnosti.

    Snímek obrazovky s probíhajícím stavem nasazení toku výzvy

    Poznámka:

    Pokud se zobrazí zpráva "V současné době tento koncový bod nemá žádné nasazení" nebo se stav stále aktualizuje, možná budete muset po několika minutách vybrat možnost Aktualizovat , aby se nasazení zobrazilo.

  2. Volitelně můžete na stránce podrobností změnit typ ověřování nebo povolit monitorování.

    Snímek obrazovky se stránkou s podrobnostmi o nasazení toku výzvy

  3. Vyberte kartu Spotřebovávat. Můžete si prohlédnout ukázky kódu a koncový bod REST pro vaši aplikaci copilotu pro použití nasazeného toku.

    Snímek obrazovky s koncovým bodem nasazení toku výzvy a ukázkami kódu

Vyčištění prostředků

Pokud se chcete vyhnout zbytečným nákladům na Azure, měli byste odstranit prostředky, které jste vytvořili v tomto kurzu, pokud už nejsou potřeba. Ke správě prostředků můžete použít Azure Portal.

Výpočetní instanci můžete také zastavit nebo odstranit v Azure AI Studiu.

Ukázka řešení chatu Azure AI Studio Enterprise

V tomto kompletním videu se dozvíte, jak vytvořit retail copilot pomocí dat v Azure AI Studiu.

Další kroky