Vývoj toku výzvy

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.

Tok výzvy je vývojový nástroj navržený tak, aby zjednodušil celý vývojový cyklus aplikací umělé inteligence využívajících velké jazykové modely (LLM). Tok výzvy poskytuje komplexní řešení, které zjednodušuje proces vytváření prototypů, experimentování, iterace a nasazování aplikací AI.

Pomocí toku výzvy můžete:

  • Orchestrace spustitelných toků pomocí LLM, výzev a nástrojů Pythonu prostřednictvím vizualizovaného grafu
  • Snadné testování, ladění a iterace toků
  • Vytvořte varianty výzvy a porovnejte jejich výkon.

V tomto článku se dozvíte, jak vytvořit a vyvíjet první tok výzvy v Azure AI Studiu.

Požadavky

Vytvoření a vývoj toku výzvy

Tok můžete vytvořit buď klonováním ukázek dostupných v galerii, nebo vytvořením toku úplně od začátku. Pokud už máte soubory toku v místním prostředí nebo sdílené složce, můžete je také importovat a vytvořit tok.

Vytvoření toku výzvy z galerie v Azure AI Studiu:

  1. Přihlaste se k Azure AI Studiu a vyberte svůj projekt na stránce Sestavení .

  2. V levé sbalitelné nabídce vyberte Tok výzvy.

  3. Vyberte + Vytvořit.

  4. Na dlaždici Standardní tok vyberte Vytvořit.

  5. Na stránce Vytvořit nový tok zadejte název složky a pak vyberte Vytvořit.

    Screenshot of selecting and creating a standard flow.

  6. Otevře se stránka pro vytváření toku výzvy. Teď můžete začít vytvářet tok. Ve výchozím nastavení se zobrazí ukázkový tok. Tento ukázkový tok obsahuje uzly pro nástroje LLM a Python.

    Screenshot of flow input and output on the edit prompt flow page.

    Poznámka:

    Zobrazení grafu pouze pro vizualizaci. Zobrazuje strukturu toku, kterou vyvíjíte. Zobrazení grafu nelze upravovat přímo, ale můžete zobrazení přiblížit, oddálit a posunout. V zobrazení grafu můžete vybrat uzel, který chcete zvýraznit a přejít na uzel v zobrazení pro úpravy nástroje.

  7. Volitelně můžete do toku přidat další nástroje. Viditelné možnosti nástroje jsou LLM, Prompt a Python. Pokud chcete zobrazit další nástroje, vyberte + Další nástroje.

    Screenshot of where you can find more tools on the edit prompt flow page.

  8. V editoru nástrojů LLM vyberte připojení a nasazení.

    Screenshot of the selected connection and deployment in the LLM tool on the edit prompt flow page.

  9. Vyberte Spustit , aby se tok spustil.

    Screenshot of where to select run on the edit prompt flow page.

  10. Stav spuštění toku se zobrazuje jako Spuštěno.

    Screenshot of the flow in the running state on the edit prompt flow page.

  11. Po dokončení spuštění toku vyberte Zobrazit výstupy a zobrazte výsledky toku.

    Screenshot of where you can select to view flow results from the edit prompt flow page.

  12. Stav spuštění toku a výstup můžete zobrazit v části Výstupy .

    Screenshot of the output details.

Vytvoření toku

Každý tok je reprezentován složkou, která obsahuje soubor flow.dag.yaml, soubory zdrojového kódu a systémové složky. Můžete přidávat nové soubory, upravovat existující soubory a odstraňovat soubory. Soubory můžete také exportovat do místního prostředí nebo importovat soubory z místního prostředí.

Kromě vložené úpravy uzlu v zploštěném zobrazení můžete také zapnout přepínač režimu nezpracovaného souboru a vybrat název souboru pro úpravu souboru na kartě otevírání souboru.

Vstup a výstup toku

Vstupem toku jsou data předaná do toku jako celek. Definujte vstupní schéma zadáním názvu a typu. Nastavte vstupní hodnotu každého vstupu pro otestování toku. Vstup toku můžete odkazovat později v uzlech toku pomocí ${input.[input name]} syntaxe.

Výstupem toku jsou data vytvořená tokem jako celek, která shrnuje výsledky provádění toku. Výstupní tabulku můžete zobrazit a exportovat po dokončení spuštění toku nebo dávkového spuštění. Definujte výstupní hodnotu toku odkazováním na výstup jednoho uzlu toku pomocí syntaxe ${[node name].output} nebo ${[node name].output.[field name]}.

Odkazováním na výstup uzlu můžete propojit uzly dohromady. Můžete například odkazovat na výstup uzlu LLM ve vstupu uzlu Pythonu, takže uzel Pythonu může využívat výstup uzlu LLM a v zobrazení grafu vidíte, že jsou oba uzly propojené.

Povolení podmíněného řízení toku

Prompt Flow nabízí nejen zjednodušený způsob, jak tok spustit, ale přináší také výkonnou funkci pro vývojáře – podmíněné řízení, které uživatelům umožňuje nastavit podmínky pro spuštění jakéhokoli uzlu v toku.

Podmíněný ovládací prvek v jádru poskytuje možnost přidružit každý uzel v toku k konfiguraci aktivace. Tato konfigurace je v podstatě příkaz "when", který určuje, kdy se má uzel spustit. Výkon této funkce je realizován, když máte složité toky, kde provádění určitých úkolů závisí na výsledku předchozích úkolů. Pomocí podmíněného řízení můžete nakonfigurovat konkrétní uzly tak, aby se spouštěly pouze v případě splnění zadaných podmínek.

Konkrétně můžete nastavit konfiguraci aktivace uzlu tak , že na kartě uzlu vyberete tlačítko Aktivovat konfiguraci . Můžete přidat příkaz "when" a nastavit podmínku. Podmínky můžete nastavit odkazem na vstup toku nebo výstup uzlu. Podmínku ${input.[input name]} můžete například nastavit jako konkrétní hodnotu nebo ${[node name].output} konkrétní hodnotu.

Pokud podmínka není splněná, uzel se přeskočí. Stav uzlu se zobrazuje jako Vynechaný.

Testování toku

Tok můžete otestovat dvěma způsoby: spustit jeden uzel nebo spustit celý tok.

Pokud chcete spustit jeden uzel, vyberte ikonu Spustit na uzlu v plochém zobrazení. Po dokončení provádění zkontrolujte výstup v sekci výstupu uzlu.

Pokud chcete spustit celý tok, vyberte tlačítko Spustit v pravém horním rohu. Pak můžete zkontrolovat stav spuštění a výstup každého uzlu a výsledky výstupů toku definovaných v toku. Vstupní hodnotu toku můžete kdykoli změnit a tok spustit znovu.

Vývoj toku chatu

Tok chatu je navržený pro vývoj konverzačních aplikací, který vychází z možností standardního toku a poskytuje vylepšenou podporu pro vstupy a výstupy chatu a správu historie chatu. Pomocí toku chatu můžete snadno vytvořit chatovacího robota, který zpracovává vstup a výstup chatu.

Na stránce pro vytváření toku chatu je tok chatu označený popiskem chatu, aby se odlišil od standardního toku a toku vyhodnocení. Pokud chcete otestovat tok chatu, vyberte tlačítko Chat a aktivujte chatovací pole pro konverzaci.

Vstup/výstup chatu a historie chatu

Nejdůležitější prvky, které odlišují tok chatu od standardního toku, jsou vstup chatu, historie chatu a výstup chatu.

  • Vstup chatu: Vstup chatu odkazuje na zprávy nebo dotazy odeslané uživateli do chatovacího robota. Efektivní zpracování vstupu chatu je zásadní pro úspěšnou konverzaci, protože zahrnuje pochopení záměrů uživatelů, extrahování relevantních informací a aktivaci vhodných odpovědí.
  • Historie chatu: Historie chatu je záznam všech interakcí mezi uživatelem a chatovacím robotem, včetně uživatelských vstupů i výstupů generovaných AI. Udržování historie chatu je nezbytné pro sledování kontextu konverzace a zajištění toho, aby AI mohl generovat kontextově relevantní odpovědi.
  • Výstup chatu: Výstup chatu odkazuje na zprávy generované AI, které se odesílají uživateli v reakci na jejich vstupy. Generování kontextově vhodného a poutavého výstupu chatu je nezbytné pro pozitivní uživatelské prostředí.

Tok chatu může mít v toku chatu více vstupů, historii chatu a vstup chatu.

  • V části vstupy toku chatu můžete vstup toku označit jako vstup chatu. Vstupní hodnotu chatu pak můžete vyplnit zadáním do pole chatu.

  • Tok výzvy může uživateli pomoct spravovat historii chatu. Část chat_history Vstupy je vyhrazena pro reprezentaci historie chatu. Všechny interakce v chatovacím poli, včetně vstupů uživatelských chatů, vygenerovaných výstupů chatu a dalších vstupů a výstupů toku, se automaticky ukládají v historii chatu. Uživatel nemůže ručně nastavit hodnotu chat_history v části Vstupy. Je strukturovaná jako seznam vstupů a výstupů:

    [
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    },
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    }
    ]
    

Poznámka:

Možnost automatického ukládání nebo správy historie chatu je funkce na stránce vytváření při provádění testů v chatovacím poli. U dávkových spuštění je nutné, aby uživatelé zahrnuli historii chatu do datové sady dávkového spuštění. Pokud není k dispozici žádná historie chatu pro testování, jednoduše nastavte chat_history na prázdný seznam [] v datové sadě dávkového spuštění.

Vytvoření výzvy s historií chatu

Začlenění historie chatu do vašich výzev je nezbytné pro vytváření kontextových a poutavých odpovědí chatbota. Na výzvy můžete odkazovat chat_history na načtení minulých interakcí. Díky tomu můžete odkazovat na předchozí vstupy a výstupy a vytvářet kontextově relevantní odpovědi.

Pomocí gramatiky smyčky jazyka Jinja zobrazíte seznam vstupů a výstupů z chat_history.

{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}

Testování pomocí chatovacího pole

Chatovací pole nabízí interaktivní způsob, jak otestovat tok chatu simulací konverzace s chatovacím robotem. Pokud chcete otestovat tok chatu pomocí chatovacího pole, postupujte takto:

  1. Výběrem tlačítka Chat otevřete chatovací pole.
  2. Zadejte testovací vstupy do chatovacího pole a stisknutím klávesy Enter je odešlete chatovacímu robotu.
  3. Zkontrolujte odpovědi chatbota a ujistěte se, že jsou kontextově vhodné a přesné.

Další kroky