Vývoj procesního toku (klasický)

Platí jenom pro:Portál Foundry (Classic). Tento článek není k dispozici pro nový portál Foundry. Přečtěte si další informace o novém portálu.

Poznámka

Odkazy v tomto článku můžou otevírat obsah v nové dokumentaci Microsoft Foundry místo dokumentace Foundry (classic), kterou si právě prohlížíte.

Upozornění

Prompt flow v Microsoft Foundry a Azure Machine Learning bude ukončena dne 20. dubna 2027. Prompt flow se již nedoporučuje pro nový vývoj. Migrujte existující aplikace a nasazení Prompt flow na Microsoft Agent Framework před 20. dubnem 2027.

Image kontejnerů Prompt flow již nejsou aktualizovány, včetně aktualizací zabezpečení a balíčků. To platí pro image běhového prostředí Prompt flow, včetně promptflow-runtime, promptflow-runtime-stable a promptflow-python.

Po 20. dubnu 2027 už Prompt flow, včetně webového prostředí pro vytváření v Microsoft Foundry a Azure Machine Learning, rozšíření VS Code a souvisejících imagí kontejnerů Prompt flow, nebude podporován ani dostupný.

Pokud vaše aplikace závisí na nasazeních Prompt flow nebo bitových kopiích modulu runtime, naplánujte přesun těchto úloh na podporované alternativy, jako je Microsoft Agent Framework, a to před datem vyřazení. Pokyny k migraci najdete v průvodci migrací nástroje Prompt flow a v ukázkách kódu pro migraci.

Prompt Flow je vývojový nástroj navržený ke zjednodušení celého vývojového cyklu aplikací umělé inteligence, které využívají Velké Jazykové Modely (LLM). Tok promptů poskytuje komplexní řešení, které zjednodušuje proces vytváření prototypů, experimentování, iterace a nasazování aplikací umělé inteligence.

Pomocí toku výzvy můžete:

  • Orchestrace spustitelných toků pomocí LLM, výzev a Python nástrojů 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 naučíte, jak vytvořit a rozvinout svůj první scénář toků v portálu Microsoft Foundry.

Požadavky

Důležité

Tento článek obsahuje starší verzi podpory pro projekty založené na centrech. Nebude fungovat pro projekty Foundry. Jak zjistím, jaký typ projektu mám?

Poznámky k kompatibilitě sady SDK: Příklady kódu vyžadují konkrétní verzi sady SDK Microsoft Foundry. Pokud narazíte na problémy s kompatibilitou, zvažte migraci z centra do projektu Foundry.

  • Průběh výzvy vyžaduje výpočetní relaci. Pokud nemáte runtime, můžete vytvořit na portálu Foundry.
  • Potřebujete nasazený model.
  • V projektu nakonfigurujte řízení přístupu pro úložný účet blobového úložiště. Přiřaďte roli Přispěvatel k datům objektů blob služby Storage svému uživatelskému účtu.
    • V levém dolním rohu portálu Foundry vyberte Centrum pro správu.
    • V Připojené prostředky pro vaše centrum vyberte odkaz odpovídající typu Azure Blob Storage.
    • Vyberte Zobrazit na portálu Azure
    • Na portálu Azure vyberte Řízení přístupu (IAM).
    • Vyberte Přidat>Přidat přiřazení role.
    • Vyhledejte Přispěvatel dat objektů blob služby Storage a pak ho vyberte.
    • Pomocí stránky Přidat přiřazení role se můžete přidat jako člen.
    • Vyberte Zkontrolovat + přiřadit pro kontrolu přiřazení.
    • Pokud chcete přiřadit roli, vyberte Zkontrolovat a přiřadit.

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 na portálu Foundry:

Tip

Vzhledem k tomu, že na portálu Microsoft Foundry můžete usouložit levé podokno, může se zobrazit jiné položky, než je znázorněno v tomto postupu. Pokud nevidíte, co hledáte, vyberte ... Další v dolní části levého podokna.

Přihlaste se k Microsoft Foundry. Ujistěte se, že je přepínač New Foundry vypnutý. Tyto kroky odkazují na Foundry (classic).

  1. Vyberte projekt.

  2. Pokud jste v Centru pro správu, vyberte Přejít k projektu a vraťte se do projektu.

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

  4. Vyberte + Vytvořit.

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

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

    Snímek obrazovky s výběrem a vytvořením standardního toku

  7. Otevře se stránka pro návrh toku úloh. Vyberte Spustit výpočetní relaci , aby se pro tok spustila výpočetní relace.

  8. 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 LLM a Python nástroje.

    Snímek obrazovky se vstupem a výstupem toku na stránce pro úpravy toku výzvy

    Poznámka

    Zobrazení grafu pouze pro vizualizaci. Zobrazuje strukturu toku, kterou vyvíjíte. Zobrazení grafu nemůžete 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.

  9. 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.

    Snímek obrazovky, kde najdete další nástroje na stránce toku výzvy pro úpravy

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

    Snímek obrazovky s vybraným připojením a nasazením v nástroji LLM na stránce toku výzvy pro úpravy

  11. V části Vstupy přidejte hodnotu tématu. Například "atomy".

  12. Vyberte Spustit pro spuštění toku.

    Snímek obrazovky, kde můžete vybrat spuštění na stránce toku výzvy pro úpravy

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

    Snímek obrazovky toku ve spuštěném stavu na stránce úprav vyzývacího toku

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

    Snímek obrazovky, kde můžete vybrat možnost zobrazení výsledků toku z stránky úprav výzvy toku.

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

    Snímek obrazovky s podrobnostmi výstupu

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ě možnosti úprav uzlu přímo ve výchozím zobrazení můžete také zapnout přepínač pro Raw file mode a zvolit název souboru k úpravě v otevřené kartě 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. V uzlech toku můžete později odkazovat na vstup toku pomocí syntaxe ${inputs.[input name]}.

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 Python uzlu, takže Python uzel může využívat výstup uzlu LLM a v zobrazení grafu můžete vidět, ž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 ${inputs.[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ý.

Otestování toku

Tok můžete otestovat dvěma způsoby:

  • Spusťte jeden uzel:

    • Pokud chcete spustit jeden uzel, vyberte ikonu Spustit na uzlu ve výchozím zobrazení. Po dokončení spuštění můžete rychle zkontrolovat výsledek v části Výstupy uzlu. Snímek obrazovky ukazuje tlačítko Spustit na kartě uzlu.
  • Spusťte celý proces:

    • Pokud chcete spustit celý tok, vyberte tlačítko Spustit v pravém horním rohu.

Zobrazení výsledků testu a trasování (Preview)

Trasování je ve výchozím nastavení zakázané, pokud chcete povolit trasování, musíte nastavit proměnnou PF_DISABLE_TRACING prostředí na false. Jedním ze způsobů, jak to udělat, je přidání následujícího kódu do uzlu Pythonu:

import os
os.environ["PF_DISABLE_TRACING"] = "false"

Po spuštění celého toku uvidíte stav spuštění v banneru spuštění. Pokud chcete zobrazit trasování pro kontrolu výsledku a sledování provádění toku, můžete vybrat Zobrazit výstupy a pak vybrat kartu trasování . Můžete zobrazit vstup a výstup celého toku a každého uzlu spolu s podrobnějšími informacemi pro ladění. Je k dispozici během procesu a po jeho dokončení.

Pochopte zobrazení trasování

Výběrem karty Trasování na obrazovce výstupů zobrazíte graf s informacemi o době trvání a souvisejících nákladech na tokeny v rámci toku. Výběrem toku pod názvem uzlu zobrazíte podrobné informace o přehledu toku v pravém podokně.

 Snímek obrazovky s podrobnostmi trasování

Poznámka

V SDK pro tok výzvy jsme definovali několik typů úseků, včetně LLM, Funkce, Vkládání, Načítání a Tok. A systém automaticky vytvoří úseky s informacemi o provedení v určených atributech a událostech.

Další informace o typech úseků najdete v tématu Úsek trasování.

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 chatů je tok chatu označen štítkem „chat“, 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íce vstupů; historie chatu a vstup chatu jsou v toku chatu povinné.

  • 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 sekce Vstupy chat_history je vyhrazena pro zobrazení 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

Funkce 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ého zpracování je nutné, aby uživatelé zahrnuli historii chatu do datové sady. Pokud není k dispozici žádná historie chatu pro testování, nastavte chat_history na prázdný seznam [] v datové sadě dávkového spuštění.

Autor 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é.
  4. Prohlížejte trasování přímo na místě pro rychlé pozorování a ladění.

Další kroky