Compartilhar via


Componentes principais da estrutura do processo

O Process Framework é construído sobre uma arquitetura modular que permite aos desenvolvedores construir fluxos de trabalho sofisticados por meio de seus componentes principais. Compreender esses componentes é essencial para alavancar efetivamente a estrutura.

Processo

Um processo serve como o contêiner abrangente que orquestra a execução de etapas. Ele define o fluxo e o roteamento de dados entre as etapas, garantindo que as metas do processo sejam alcançadas com eficiência. Os processos lidam com entradas e saídas, fornecendo flexibilidade e escalabilidade em vários fluxos de trabalho.

Recursos do processo

  • Com estado: dá suporte à consulta de informações, como status de acompanhamento e porcentagem de conclusão, bem como a capacidade de pausar e retomar.
  • Reutilizável: Um processo pode ser invocado dentro de outros processos, promovendo modularidade e reutilização.
  • Orientado a eventos: emprega fluxo baseado em eventos com ouvintes para rotear dados para etapas e outros processos.
  • Escalável: utiliza tempos de execução bem estabelecidos para escalabilidade e implementações globais.
  • Evento na nuvem integrado: incorpora eventos padrão do setor para acionar um processo ou etapa.

Criando um processo

Para criar um novo Processo, adicione o Pacote de Processos ao seu projeto e defina um nome para o seu processo.

Etapa

As etapas são os blocos de construção fundamentais dentro de um processo. Cada etapa corresponde a uma unidade discreta de trabalho e encapsula uma ou mais funções do kernel. As etapas podem ser criadas independentemente de seu uso em processos específicos, aprimorando sua reutilização. Eles emitem eventos com base no trabalho realizado, o que pode acionar etapas subsequentes.

Recursos da etapa

  • Com estado: facilita o rastreamento de informações, como status e tags definidas.
  • Reutilizável: as etapas podem ser empregadas em vários processos.
  • Dinâmico: As etapas podem ser criadas dinamicamente por um Processo, conforme necessário, dependendo do padrão necessário.
  • Flexível: Oferece diferentes tipos de etapas para desenvolvedores, aproveitando as funções do kernel, incluindo somente código, chamadas de API, agentes de IA e Human-in-the-loop.
  • Auditável: a telemetria é habilitada em etapas e processos.

Definindo uma etapa

Para criar uma etapa, defina uma classe pública para nomear a etapa e adicioná-la ao KernelStepBase. Em sua classe, você pode incorporar uma ou várias funções do kernel.

Registrar uma etapa em um processo

Depois que sua turma for criada, você precisará registrá-la em seu processo. Para a primeira etapa do processo, adicione isEntryPoint: true para que o processo saiba por onde começar.

Eventos de etapa

As etapas têm vários eventos disponíveis, incluindo:

  • OnEvent: disparado quando a classe conclui sua execução.
  • OnFunctionResult: Ativado quando a função de kernel definida emite resultados, permitindo que a saída seja enviada para uma ou várias etapas.
  • SendOutputTo: Define a Etapa e a Entrada para enviar resultados para uma Etapa subsequente.

Padrão

Os padrões padronizam fluxos de processo comuns, simplificando a implementação de operações usadas com frequência. Eles promovem uma abordagem consistente para resolver problemas recorrentes em várias implementações, aprimorando a capacidade de manutenção e a legibilidade.

Tipos de padrão

  • Fan In: A entrada para a próxima etapa é suportada por várias saídas das etapas anteriores.
  • Espalhar: A saída das etapas anteriores é direcionada para várias etapas mais abaixo no processo.
  • Ciclo: as etapas continuam em loop até a conclusão com base na entrada e na saída.
  • Redução de mapa: as saídas de uma etapa são consolidadas em uma quantidade menor e direcionadas para a entrada da próxima etapa.

Configurando um padrão

Depois que sua classe for criada para sua etapa e registrada no processo, você poderá definir os eventos que devem ser enviados downstream para outras etapas ou definir condições para que as etapas sejam reiniciadas com base na saída da etapa.