Brug arbejdsgange i kode

Fuldført

Efter at have designet og testet en arbejdsgang i Microsoft Foundry visual designer, kan du integrere den i dine applikationer ved hjælp af Azure AI Projects SDK. Dette gør det muligt at integrere workflow-drevet automatisering i webapps, API'er, backend-tjenester og andre softwareløsninger.

Workflows oprettes i Foundry-portalen ved hjælp af den visuelle designer, som genererer den underliggende YAML-definition. Når en arbejdsgang er gemt i dit projekt, kan du aktivere den programmatisk ved at referere til dens navn. Du kan også downloade workflowets YAML-definition fra portalen og inkludere den i din kodebase.

Påkald en arbejdsgang

Før du kører en arbejdsgang, skal du etablere en forbindelse til dit Microsoft Foundry-projekt ved hjælp af .AIProjectClient Denne klient håndterer autentificering og giver adgang til det OpenAI-kompatible API til at udføre samtaler og igangsætte arbejdsgange. For at køre en eksisterende arbejdsgang i dit projekt, skal du oprette en samtale og starte arbejdsgangen ved navn.

# 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,
)

Parameteren input lader dig sende en prompt eller besked til workflowet, som workflowet kan bruge til at styre sin logik – såsom at behandle en brugerforespørgsel, sortere en supportticket eller besvare et spørgsmål. Afhængigt af hvordan din arbejdsgang er designet, kan dette input være:

  • Et brugerspørgsmål, som agenter analyserer og svarer på
  • En support-ticketbeskrivelse for klassificering og routing
  • En datapayload, der udløser behandlingslogik
  • En tom streng, der blot starter arbejdsgangen uden specifik input

Procesarbejdsgange

Når streaming er aktiveret, modtager din applikation events, mens arbejdsgangen kører. Disse begivenheder giver dig mulighed for at vise fremskridt i realtid, indsamle agentuddata og reagere på workflow-handlinger.

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}")

Almindelige eventtyper inkluderer:

Hændelsestype Beskrivelse
response.completed Arbejdsgangen blev færdig med at køre og returnerede et endeligt svar
response.output_item.done Et individuelt outputelement (såsom en workflow-handling) fuldført

Ved at overvåge disse hændelser kan du se, hvordan arbejdsgangen udvikler sig i realtid, eller udløse eksterne handlinger baseret på arbejdsgangstilstanden. Alternativt kan du vælge at vente på, at hele arbejdsgangen er færdig, og behandle det endelige svar uden streaming. For arbejdsgange, der inkluderer human-in-the-loop-mønstre, kan din applikation have brug for at håndtere pauser, hvor arbejdsgangen venter på brugerinput. I disse tilfælde kan du sende yderligere beskeder til samtalen for at levere det ønskede input og genoptage arbejdsgangskørsel.

Fordele ved kodeintegration

Integration af arbejdsgange i din kode muliggør flere scenarier:

Scenarie Benefit
Webapplikationer Indlejr AI-drevne arbejdsgange direkte i brugerrettede apps
API'er og mikrotjenester Eksponer workflow-funktioner gennem REST-endpoints
Batchbehandling Aktiver arbejdsgange programmatisk til masseoperationer
Test og validering Automatiser workflow-test som en del af CI/CD-pipelines
Brugerdefinerede grænseflader Byg specialiserede brugerflader tilpasset specifikke arbejdsgange

Ved at kombinere den visuelle designoplevelse fra Foundry-portalen med fleksibiliteten fra kodeintegration kan du skabe kraftfulde AI-drevne løsninger, der passer sømløst ind i din eksisterende softwarearkitektur.