Używanie przepływów pracy w kodzie

Ukończone

Po zaprojektowaniu i przetestowaniu przepływu pracy w projektancie wizualnym rozwiązania Microsoft Foundry możesz zintegrować go z aplikacjami przy użyciu zestawu SDK usługi Azure AI Projects. Dzięki temu można osadzać automatyzację opartą na przepływach pracy w aplikacjach internetowych, interfejsach API, usługach zaplecza i innych rozwiązaniach oprogramowania.

Przepływy pracy są tworzone w portalu Foundry przy użyciu projektanta wizualnego, który generuje podstawową definicję YAML. Po zapisaniu przepływu pracy w projekcie można wywołać go programowo, odwołując się do jego nazwy. Możesz również pobrać definicję YAML przepływu pracy z portalu i dołączyć ją do bazy kodu.

Wywoływanie przepływu pracy

Przed uruchomieniem przepływu pracy ustanów połączenie z projektem Microsoft Foundry przy użyciu polecenia AIProjectClient. Ten klient obsługuje uwierzytelnianie i zapewnia dostęp do interfejsu API zgodnego z interfejsem OpenAI na potrzeby wykonywania konwersacji i wywoływania przepływów pracy. Aby uruchomić istniejący przepływ pracy w projekcie, utwórz konwersację i wywołaj przepływ pracy według nazwy.

# Reference a workflow created in the Foundry portal
workflow_name = "triage-workflow"

# Create a conversation context for the workflow
conversation = openai_client.conversations.create()

# Execute the workflow, passing input to drive the workflow logic
stream = openai_client.responses.create(
    conversation=conversation.id,
    extra_body={"agent": {"name": workflow_name, "type": "agent_reference"}},
    input="Users can't reset their password from the mobile app.",
    stream=True,
)

parametr input umożliwia przekazanie monitu lub komunikatu do przepływu pracy, który może wykorzystać go do sterowania swoją logiką—na przykład przetwarzania żądania użytkownika, klasyfikowania biletu pomocy technicznej lub odpowiadania na pytanie. W zależności od sposobu projektowania przepływu pracy te dane wejściowe mogą być następujące:

  • Pytanie użytkownika, na które agenci analizują i reagują
  • Opis biletu pomocy technicznej dla klasyfikacji i routingu
  • Ładunek danych wyzwalający logikę przetwarzania
  • Pusty ciąg, który po prostu uruchamia przepływ pracy bez określonych danych wejściowych

Przetwarzanie zdarzeń przepływu pracy

Po włączeniu przesyłania strumieniowego aplikacja odbiera zdarzenia podczas wykonywania przepływu pracy. Te zdarzenia umożliwiają wyświetlanie postępu w czasie rzeczywistym, przechwytywanie danych wyjściowych agenta i reagowanie na akcje przepływu pracy.

for event in stream:
    if event.type == "response.completed":
        print("Workflow completed:")
        for message in event.response.output:
            if message.content:
                for content_item in message.content:
                    if content_item.type == 'output_text':
                        print(content_item.text)
    if (event.type == "response.output_item.done") and event.item.type == ItemType.WORKFLOW_ACTION:
        print(f"Action '{event.item.action_id}' completed with status: {event.item.status}")

Typowe typy zdarzeń to:

Typ zdarzenia Description
response.completed Przepływ pracy zakończył wykonywanie i zwracał ostateczną odpowiedź
response.output_item.done Ukończono pojedyncze zadanie (na przykład akcję w ramach przepływu pracy)

Monitorując te zdarzenia, możesz zobaczyć, jak przepływ pracy postępuje w czasie rzeczywistym lub wyzwala akcje zewnętrzne na podstawie stanu przepływu pracy. Alternatywnie możesz poczekać na ukończenie całego procesu roboczego i przetworzyć ostateczną odpowiedź bez korzystania z przesyłania strumieniowego. W przypadku przepływów pracy, które zawierają wzorce procesu typu human-in-the-loop, aplikacja może wymagać obsługi przerw, gdzie przepływ pracy czeka na dane wejściowe od użytkownika. W takich przypadkach możesz wysłać dodatkowe wiadomości do konwersacji, aby dostarczyć żądane dane wejściowe i wznowić wykonywanie przepływu pracy.

Zalety integracji kodu

Integrowanie przepływów pracy z kodem umożliwia wykonanie kilku scenariuszy:

Scenario Korzyść
Aplikacje internetowe Osadzanie przepływów pracy opartych na sztucznej inteligencji bezpośrednio w aplikacjach przeznaczonych dla użytkowników
API i mikrousługi Uwidacznianie możliwości przepływu pracy za pośrednictwem punktów końcowych REST
Przetwarzanie wsadowe Programistyczne wywoływanie przepływów pracy dla operacji zbiorczych
Testowanie i walidacja Automatyzowanie testowania przepływu pracy w ramach potoków ciągłej integracji/ciągłego wdrażania
Interfejsy niestandardowe Tworzenie wyspecjalizowanych interfejsów użytkownika dostosowanych do określonych przypadków użycia przepływu pracy

Łącząc wizualne środowisko projektowania portalu Foundry z elastycznością integracji kodu, można tworzyć zaawansowane rozwiązania oparte na sztucznej inteligencji, które bezproblemowo mieszczą się w istniejącej architekturze oprogramowania.