Usar fluxos de trabalho no código
Depois de desenhar e testar um fluxo de trabalho no designer visual do Microsoft Foundry, pode integrá-lo nas suas aplicações usando o Azure AI Projects SDK. Isto permite-lhe incorporar automação orientada por fluxos de trabalho em aplicações web, APIs, serviços de backend e outras soluções de software.
Os fluxos de trabalho são criados no portal Foundry usando o designer visual, que gera a definição YAML subjacente. Depois de um fluxo de trabalho ser guardado no seu projeto, pode invocá-lo programaticamente ao referir o seu nome. Também pode descarregar a definição YAML do fluxo de trabalho do portal e incluí-la na sua base de código.
Invocar um fluxo de trabalho
Antes de executar um fluxo de trabalho, estabeleça uma ligação ao seu projeto Microsoft Foundry usando o AIProjectClient. Este cliente gere a autenticação e fornece acesso à API compatível com OpenAI para executar conversas e invocar fluxos de trabalho. Para executar um fluxo de trabalho existente no seu projeto, crie uma conversa e invoce o fluxo de trabalho pelo nome.
# 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,
)
O input parâmetro permite-lhe passar um prompt ou mensagem ao fluxo de trabalho, que este pode usar para orientar a sua lógica — como processar um pedido de utilizador, triar um pedido de suporte ou responder a uma pergunta. Dependendo de como o seu fluxo de trabalho está desenhado, esta entrada pode ser:
- Uma pergunta de utilizador que os agentes analisam e a que respondem
- Uma descrição do ticket de suporte para classificação e encaminhamento
- Uma carga útil de dados que aciona a lógica de processamento
- Uma cadeia vazia que simplesmente inicia o fluxo de trabalho sem uma entrada específica
Eventos do fluxo de trabalho
Quando o streaming está ativado, a sua aplicação recebe eventos à medida que o fluxo de trabalho é executado. Estes eventos permitem-lhe mostrar progresso em tempo real, capturar resultados de agentes e responder a ações do fluxo de trabalho.
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}")
Tipos de eventos comuns incluem:
| Tipo de Evento | Description |
|---|---|
response.completed |
O fluxo de trabalho terminou a execução e devolveu uma resposta final |
response.output_item.done |
Um item de saída individual (como uma ação de fluxo de trabalho) concluído |
Ao monitorizar estes eventos, pode ver como o fluxo de trabalho progride em tempo real ou desencadear ações externas com base no estado do fluxo. Em alternativa, pode optar por esperar que todo o fluxo de trabalho seja concluído e processar a resposta final sem fazer streaming. Para fluxos de trabalho que incluem padrões humano-no-laço, a aplicação pode precisar de lidar com pausas onde o fluxo de trabalho espera por entrada do utilizador. Nestes casos, pode enviar mensagens adicionais à conversa para fornecer a entrada solicitada e retomar a execução do fluxo de trabalho.
Benefícios da integração de código
Integrar fluxos de trabalho no seu código permite vários cenários:
| Scenario | Benefício |
|---|---|
| Aplicações Web | Incorpore fluxos de trabalho orientados por IA diretamente em aplicações voltadas para o utilizador |
| APIs e microsserviços | Expor capacidades de workflow através de endpoints REST |
| Processamento em lotes | Invocar fluxos de trabalho programaticamente para operações em massa |
| Testes e validação | Automatizar a testagem de workflows como parte das pipelines CI/CD |
| Interfaces personalizadas | Construir interfaces especializadas adaptadas a casos de uso específicos do fluxo de trabalho |
Ao combinar a experiência de design visual do portal Foundry com a flexibilidade da integração de código, pode criar soluções poderosas impulsionadas por IA que se encaixam perfeitamente na sua arquitetura de software existente.