Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Copilot Studio oferece um conjunto de nós que você pode usar em atividades que não são mensagens: o nó Atividade do evento, o nó Atividade de invocação e outros nós relacionados à atividade compatível com o protocolo.
O que é o protocolo de atividade?
O protocolo de atividade é um conceito central de transporte no Copilot Studio. O protocolo de atividade permite uma comunicação perfeita entre usuários e agentes. Ele define uma estrutura padronizada para todas as interações, classificando-as em vários tipos de atividades.
Atividades de evento e atividades de mensagem são dois tipos distintos dentro do protocolo de atividade, cada um atendendo a finalidades exclusivas em fluxos de trabalho de comunicação.
As atividades de mensagem representam as unidades de comunicação fundamentais entre usuários e agentes, transportando principalmente conteúdo textual, de mídia ou de cartão adaptável. Eles são projetados para interações diretas, em que um usuário faz uma consulta ou instrução e o agente responde adequadamente.
As atividades de evento, por outro lado, normalmente são usadas para significar ações não verbais ou atualizações geradas pelo sistema. Eles permitem a comunicação assíncrona, acionando funcionalidades ou fluxos de trabalho específicos sem a necessidade de interação direta do usuário. Por exemplo, uma atividade de evento pode notificar um agente sobre a entrada de um usuário em uma conversa ou alterações no contexto ao redor.
Enviando eventos
O nó Atividade de evento foi projetado para enviar atividades de evento. As atividades do evento são enviadas do agente e podem ser interceptadas e usadas pelo canal, que decide se e como usar as atividades. Ao enviar um evento, você dá um nome a ele e, em seguida, pode definir um valor para o evento. Esse valor pode estar em qualquer formato:
- Um valor literal primitivo
- Uma referência de variável
- Um fórmula do Power Fx.
O valor é serializado como um literal JSON e adicionado à atividade de saída.
Os usos desse nó incluem:
- Configure um controle de Web Chat personalizado para lidar com eventos enviados do agente. Por exemplo, você pode procurar um evento voltando do agente e executar uma ação na página. O
04.api/c.incoming-activity-eventexemplo no repositório de exemplos de Web Chat no GitHub do Microsoft Bot Framework mostra como a manipulação de eventos pode funcionar. - Use atividades de evento para controlar os serviços de gravação do AudioCodes, por exemplo, para iniciar ou parar a gravação de chamadas. Para obter mais informações, consulte Gravação de chamadas.
Usando ferramentas de cliente
Durante a orquestração, fornecemos ao modelo de linguagem um conjunto de ferramentas. A maioria das pessoas pensa em ferramentas como chamadas para sistemas externos.
No entanto, também podemos usar atividades de evento para executar ferramentas do cliente.
Quando o orquestrador decide executar uma ferramenta de cliente, o agente envia uma atividade de evento para o cliente, incluindo as entradas definidas na ferramenta.
O agente envia a atividade e, em seguida, aguarda que o cliente execute a ação e retorne um resultado. Quando termina, o cliente envia uma atividade de evento contendo a resposta para o agente. O agente considera essa resposta como a resposta da ferramenta e continua o processo de orquestração.
Conteúdos de amostra para ferramentas de cliente
Suponha que tenhamos uma ferramenta de cliente que recupere o texto em um slide do PowerPoint.
As entradas são o número da página e a saída é o texto no slide.
O agente pode enviar um conteúdo como:
{
"type": "event",
"timestamp": 1738709828,
"from": {
"id": "d9c0dcf9-4045-8062-535b-73fb4dfee954",
"role": 0
},
"name": "getSlideContent",
"replyToId": "f617c120-7b36-496a-a096-ac692efdad04",
"value": {
"page": 5
}
}
Após a conclusão da operação, o cliente envia ao agente um conteúdo como:
{
"type": "event",
"timestamp": 1738709828,
"name": "getSlideContent",
"replyToId": "f617c120-7b36-496a-a096-ac692efdad04",
"value": {
"content": "QA slide. Next steps"
}
}
Configurando ferramentas de cliente
Há duas maneiras de registrar ferramentas de cliente.
Como parte do conteúdo do tópico do agente, você pode registrar uma ação de tarefa de cliente dedicada no agente, usando o editor de códigos.
Por exemplo:
description: this tool retrieves the content of a powerpoint slide
schemaName: GetSlideContent
dialog:
kind: TaskDialog
action:
kind: InvokeClientTaskAction
clientActionInputSchema:
kind: Record
properties:
page:
displayName: Page Number
description: The number of the slide
isRequired: true
type: Number
clientActionResponseSchema:
kind: Record
properties:
content:
displayName: Slide Content
description: The content of the slide
type: String
Às vezes, as ferramentas disponíveis são dinâmicas, com base no contexto do cliente de hospedagem. Para permitir mais flexibilidade, os criadores podem definir uma variável de sistema para definir dinamicamente outras ferramentas de cliente que podem ser usadas para esta sessão.
- kind: SetVariable
id: setVariable_76NZWK
variable: System.ClientPluginActions
value: |-
=[
{
Description: "this tool retrieves the content of a powerpoint slide",
Identifier: "GetSlideContent",
Name: "GetSlideContent",
Response: {mode: "Generated"},
Inputs: [
{
Description: "The name of the menu for the form to launch",
IsAutomatic: true,
IsRequired: true,
Name: "Page Number",
PropertyName: "page",
Type: {
'$kind': "Number"
}
}
],
Outputs: [
{
Description: "The content of the slide",
Name: "Slide Content",
PropertyName: "content",
Type: {
'$kind': "String"
}
}
]
}
]
Enviando outros tipos de atividade
Além das atividades de evento, você pode enviar atividades de outros tipos usando o nó Atividade de invocação. Os tipos de atividades que podem ser enviados são um subconjunto daqueles oferecidos no Esquema do Bot Framework - Classes de ActivityTypes. Ao usar esse nó, você escolhe o tipo de atividade e, opcionalmente, define um nome ou valor.
Os tipos comuns são:
- Digitação - envia uma atividade de digitação, que o canal pode escolher para selecionar e mostrar um indicador de digitação no cliente.
- A invocação e a resposta de invocação são usadas para o Microsoft Teams. Você cria um tópico com um gatilho de invocação para interceptar uma Chamada de entrada do Teams e usa um nó Chamar atividade de resposta para enviar uma resposta apropriada de volta ao Teams.
- Entrega envia uma atividade de entrega com controle explícito sobre o valor. Uma entrega é usada para canais externos, como o AudioCodes.