Compartilhar via


Criar um bot de agente de IA no Teams

Um agente de IA no Microsoft Teams é um chatbot de conversação que utiliza Modelos de Linguagem Grande (LLMs) para interagir com os utilizadores. Compreende as intenções do utilizador e seleciona uma sequência de ações, permitindo ao chatbot concluir tarefas comuns.

Captura de ecrã a mostrar o processo de compilação de pedidos e respostas do bot do agente de IA.

Pré-requisitos

Instalar Para usar...
Visual Studio Code Ambientes de compilação JavaScript, TypeScript ou Python. Utilize a versão mais recente.
Kit de ferramentas do Teams O Microsoft Visual Studio Code extensão que cria um projeto estruturado para a sua aplicação. Utilize a versão mais recente.
Node.js Ambiente de runtime do JavaScript de back-end. Para obter mais informações, veja Node.js tabela de compatibilidade de versões para o tipo de projeto.
Microsoft Teams Microsoft Teams para colaborar com todas as pessoas com quem trabalha através de aplicações para chat, reuniões e chamadas num único local.
Azure OpenAI Primeiro, crie a chave da API OpenAI para utilizar o Transformador Pré-preparado Gerador (GPT) da OpenAI. Se quiser alojar a sua aplicação ou aceder a recursos no Azure, tem de criar um serviço Azure OpenAI.

Criar um novo projeto de agente de IA

  1. Abra o Visual Studio Code.

  2. Selecione o ícone do Toolkit do Teams na Barra de Atividade do Visual Studio Code

  3. Selecione Criar uma Nova Aplicação.

    Captura de ecrã a mostrar a localização da ligação Criar Novo Projeto na barra lateral do Teams Toolkit.

  4. Selecione Agente do Motor Personalizado.

    Captura de ecrã a mostrar a opção para selecionar o agente do motor personalizado como o novo projeto a criar.

  5. Selecione Agente de IA.

    Captura de ecrã a mostrar a opção para selecionar as funcionalidades da aplicação com a lista de bibliotecas de IA.

  6. Para criar uma aplicação, selecione qualquer uma das seguintes opções:

    1. Selecione Compilar Novo.

      Captura de ecrã a mostrar a opção para selecionar os agentes de IA disponíveis.

    2. Selecione JavaScript.

      Captura de ecrã a mostrar a opção para selecionar a linguagem de programação.

    3. Por predefinição, o serviço OpenAI é selecionado. Opcionalmente, pode introduzir as credenciais para aceder ao OpenAI. Selecione Enter.

      Captura de ecrã a mostrar a localização para introduzir a chave de API aberta do Azure.

    4. Selecione Pasta predefinida.

      Captura de ecrã a mostrar a pasta da aplicação de localização a guardar.

      Para alterar a localização predefinida, siga estes passos:

      1. Selecione Procurar.
      2. Selecione a localização da área de trabalho do projeto.
      3. Selecione Selecionar Pasta.
    5. Introduza um nome de aplicação para a sua aplicação e, em seguida, selecione a tecla Enter .

      Captura de ecrã a mostrar a opção para introduzir o nome adequado.

      Criou com êxito o bot do agente de IA.

      Captura de ecrã a mostrar o ai chatbot criado e o ficheiro readme está disponível.

    6. Em EXPLORADOR, aceda ao ficheiro env.env.testtool.user>.

    7. Atualize os seguintes valores:

      • SECRET_AZURE_OPENAI_API_KEY=<your-key>
      • AZURE_OPENAI_ENDPOINT=<your-endpoint>
      • AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>

      Captura de ecrã a mostrar os detalhes atualizados no ficheiro env.

    8. Para depurar a sua aplicação, selecione a tecla F5 ou no painel esquerdo, selecione Executar e Depurar (Ctrl+Shift+D) e, em seguida, selecione Depurar na Ferramenta de Teste (Pré-visualização) na lista pendente.

      Captura de ecrã a mostrar a seleção da opção de depuração na lista de opções.

    A Ferramenta de Teste abre o bot numa página Web.

    Captura de ecrã a mostrar a saída final do novo bot de compilação do agente de IA.

    Veja uma apresentação do código fonte da aplicação bot

    Pasta Conteúdos
    .vscode Visual Studio Code ficheiros para depuração.
    appPackage Modelos para o manifesto da aplicação Teams.
    env Ficheiros de ambiente.
    infra Modelos para aprovisionar recursos do Azure.
    src O código fonte da aplicação.

    Os seguintes ficheiros podem ser personalizados e demonstram um exemplo de implementação para começar:

    Arquivo Conteúdos
    src/index.js Configura o servidor da aplicação de bot.
    src/adapter.js Configura o adaptador de bot.
    src/config.js Define as variáveis de ambiente.
    src/prompts/planner/skprompt.txt Define o pedido.
    src/prompts/planner/config.json Configura o pedido.
    src/prompts/planner/actions.json Define as ações.
    src/app/app.js Processa lógicas de negócio para o Agente de IA.
    src/app/messages.js Define os processadores de atividade de mensagens.
    src/app/actions.js Define as ações de IA.

    Seguem-se ficheiros de projeto específicos do Teams Toolkit. Para obter mais informações sobre como funciona o Teams Toolkit, veja um guia completo sobre o GitHub:

    Arquivo Conteúdos
    teamsapp.yml Este é o main ficheiro de projeto do Teams Toolkit. O ficheiro de projeto define as propriedades e as definições da fase de configuração.
    teamsapp.local.yml Isto substitui teamsapp.yml por ações que permitem a execução local e a depuração.
    teamsapp.testtool.yml Isto substitui teamsapp.yml por ações que permitem a execução local e a depuração na Ferramenta de Teste de Aplicações do Teams.

Criar um agente de IA com a biblioteca de IA do Teams

Criar novo

A biblioteca de IA do Teams fornece um fluxo abrangente que simplifica o processo de criação do seu próprio agente de IA. Os conceitos importantes que precisa de compreender são os seguintes:

  • Ações: uma ação é uma função atómica registada no sistema de IA.
  • Planner: o planeador recebe o pedido do utilizador, que se encontra sob a forma de um modelo de pedido de aviso ou pedido, e devolve um plano para o cumprir. Isto é conseguido através da utilização da IA para misturar e combinar funções atómicas, conhecidas como ações, que estão registadas no sistema de IA. Estas ações são recombinadas numa série de passos que completam um objetivo.
  • Ação Planner: a ação Planner utiliza um LLM para gerar planos. Pode acionar ações parametrizadas e enviar respostas baseadas em texto ao utilizador.

Criar com a API de Assistentes

A API de Assistentes do OpenAI simplifica o esforço de desenvolvimento da criação de um agente de IA. O OpenAI como plataforma oferece ferramentas pré-criadas, como Interpretador de Código, Obtenção de Conhecimento e Chamadas de Funções que simplificam o código de que precisa para escrever em cenários comuns.

Comparação Criar novo Criar com a API de Assistentes
Custo Apenas os custos dos serviços LLM Os custos dos serviços LLM e se utilizar ferramentas na API de Assistentes originam custos adicionais.
Esforço de desenvolvimento Médio Relativamente pequeno
Serviços LLM Azure OpenAI ou OpenAI Apenas OpenAI
Implementações de exemplo no modelo Este modelo de aplicação pode conversar por chat e ajudar os utilizadores a gerir as tarefas. Estes modelos de aplicação utilizam a ferramenta Intérprete de Código para resolver problemas matemáticos e também a ferramenta de Chamadas de Funções para obter a meteorologia da cidade.
Limitações NA A biblioteca de IA do Teams não suporta a ferramenta de Obtenção de Conhecimento.

Personalizar o modelo de aplicação

Personalizar o aumento de pedidos

O SDK fornece uma funcionalidade para aumentar o pedido.

  • As ações, que são definidas no src/prompts/planner/actions.json ficheiro, são inseridas na linha de comandos. Isto permite que o LLM tenha em atenção as funções disponíveis.
  • Uma parte interna do texto do pedido é inserida na linha de comandos para instruir o LLM a determinar as funções a chamar com base nas funções disponíveis. Este pedido pede ao LLM para gerar a resposta num formato json estruturado.
  • O SDK valida a resposta LLM e permite ao LLM corrigir ou refinar a resposta se a resposta estiver no formato errado.

src/prompts/planner/config.json No ficheiro, configure augmentation.augmentation_type. As opções são:

  • Sequence: adequado para tarefas que requerem vários passos ou lógica complexa.
  • Monologue: adequado para tarefas que exigem compreensão e geração de linguagem natural e mais flexibilidade e criatividade.

Criar novas funções de adição

  • No ficheiro, defina o src/prompts/planner/actions.json esquema de ações.

    [
        ...
        {
            "name": "myFunction",
            "description": "The function description",
            "parameters": {
                "type": "object",
                "properties": {
                    "parameter1": {
                        "type": "string",
                        "description": "The parameter1 description"
                    },
                },
                "required": ["parameter1"]
            }
        }
    ]
    
  • src/app/actions.ts No ficheiro, defina os processadores de ações.

    // Define your own function
    export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> {
      // Implement your function logic
      ...
      // Return the result
      return "...";
    }
    
  • src/app/app.ts No ficheiro, registe as ações.

    app.ai.action("myFunction", myFunction);
    

Personalizar assistente criação

O src/creator.ts ficheiro cria um novo Assistente OpenAI. Pode personalizar o assistente ao atualizar os parâmetros, incluindo instruções, modelos, ferramentas e funções.

Criar com funções de adição de API de Assistentes

Quando o assistente fornece uma função e os respetivos argumentos para execução, o SDK alinha esta função com uma ação pré-registada. Posteriormente, ativa o processador de ações e submete o resultado novamente para o assistente. Para integrar as suas funções, registe as ações na aplicação.

  • src/app/actions.ts No ficheiro, defina os processadores de ações.

    // Define your own function
    export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> {
      // Implement your function logic
      ...
      // Return the result
      return "...";
    }
    
  • src/app/app.ts No ficheiro, registe as ações.

    app.ai.action("myFunction", myFunction);
    

Confira também

Biblioteca de IA do Teams