Compartilhar via


Biblioteca de IA do Teams

A biblioteca de IA do Teams é uma interface centrada no Teams para modelos de linguagem comuns baseados em GPT e motores de intenções de utilizador que moderam a necessidade de assumir tarefas complexas e dispendiosas de escrever e manter a lógica do bot de conversação para integrar com Modelos de Linguagem Grandes (LLMs).

Representação visual de uma entrada de utilizador e uma resposta de bot.

A biblioteca de IA fornece uma abordagem simples baseada em capacidades e ajuda-o a criar aplicações inteligentes de forma rápida e fácil com fragmentos de código pré-criados e reutilizáveis para que se possa concentrar na criação da lógica de negócio em vez de aprender a semântica das aplicações de conversação do Teams.

Porquê utilizar a biblioteca de IA do Teams?

A Biblioteca de IA é uma interface centrada no Teams para Modelos de Linguagem Grandes. As suas aplicações podem utilizar LLMs para facilitar interações conversacionais mais naturais com os utilizadores, orientando essa conversação para as suas competências de aplicações.

Pode concentrar-se em escrever a sua lógica de negócio e permitir que o Teams processe as complexidades dos bots de conversação para que possa extrair e utilizar facilmente a intenção do utilizador nas suas aplicações.

Captura de ecrã a mostrar as vantagens de utilizar a biblioteca de IA do Teams.

  • A Biblioteca de IA é uma interface centrada no Teams para Modelos de Linguagem Grandes. Utilize modelos pré-criados para adicionar capacidades de aplicações do Teams.

  • Utilize técnicas como a engenharia de pedidos para adicionar ChatGPT como experiências de conversação ao bot e funcionalidades de segurança incorporadas, como moderação, ajudam a garantir que o bot responde sempre de forma adequada.

  • A biblioteca inclui um motor de planeamento que permite ao modelo identificar a intenção do utilizador e, em seguida, mapeia essa intenção para as ações que implementar.

  • Pode adicionar facilmente suporte para qualquer LLM à sua escolha sem alterar a lógica do bot.

A Biblioteca de IA do Teams está disponível em linguagens JavaScript e C#, o que lhe permite tirar partido do poder da IA e criar aplicações inteligentes e fáceis de utilizar para o Microsoft Teams através das linguagens de programação com as quais se sentem mais confortáveis. Estamos empenhados numa mentalidade em que cria produtos de IA com as ferramentas e idiomas que pretende para tornar as melhores experiências possíveis para os seus clientes no Teams.

Seguem-se algumas das funcionalidades main disponíveis através da biblioteca de IA do Teams:

Estruturamento simples de componentes centrados no Teams

A biblioteca de IA do Teams simplifica o modelo da aplicação Teams para se concentrar na extensão necessária em comparação com o protocolo necessário. Pode utilizar modelos pré-criados e adicionar a sua lógica de negócio a este andaime para adicionar módulos como bots, extensões de mensagens, Cartões Ajustáveis ou desfraldamento de ligações.

Modelação de linguagem natural

A biblioteca de IA do Teams é criada com modelos de linguagem baseados em GPT, para que não precise de gastar tempo para escrever a sua lógica de conversação e identificar as intenções do utilizador. Criar aplicações do Teams com tecnologia de IA é mais fácil, compatível e consistentemente utilizável do que nunca.

Os bots podem ser executados em contexto e ajudar quando o bot reconhece uma intenção de utilizador que mapeia para uma das ações do bot. Isto aumenta a conversação sem exigir que os utilizadores falem explicitamente com o bot através de um pequeno conjunto de ações registadas.

Engenharia de prompt

A engenharia de pedidos ajuda-o a criar pedidos tendo em conta a intenção do utilizador, o contexto da conversação e a personalidade do bot. Os bots podem ser personalizados e personalizados para satisfazer as necessidades dos utilizadores.

Histórico de sessões de conversação

A biblioteca de IA do Teams memoriza o contexto nas mensagens e ajuda a melhorar o desempenho do bot ao analisar padrões no comportamento do utilizador.

Localização

Uma vez que a biblioteca de IA do Teams utiliza o modelo GPT do OpenAI, a localização está disponível. Quando um utilizador introduz em qualquer idioma, a entrada é consistentemente traduzida para intenções, entidades e ações resultantes que a aplicação compreende sem a necessidade de criar e manter registos de localização.

Modularidade LLM

O modelo de linguagem grande (LLM) é um modelo de linguagem avançado que utiliza variáveis latentes para gerar texto e estilo de linguagem natural coerentes e diversos.

Embora a biblioteca de IA do Teams seja criada para utilizar o modelo GPT do Open AI, tem a flexibilidade de trocar com qualquer LLM à sua escolha sem alterar a lógica do bot. Isto significa que pode optar por manter os conteúdos da sua aplicação fora do domínio público e limitar-se ao seu modelo LLM preferido.

IA responsável

A biblioteca de IA do Teams permite-lhe criar aplicações de conversação éticas e responsáveis ao:

  • Hooks de moderação: para regular as respostas do bot em relação a qualquer API de moderação.
  • Varrimento de conversações: para monitorizar as conversações e intervir quando a conversa se desvia através da deteção proativa e da remediação.
  • Ciclos de comentários: para avaliar o desempenho do bot para conversações de alta qualidade e melhorar a experiência do utilizador.

A biblioteca de IA do Teams oferece suporte de baixo código a cenários complexos. A biblioteca expande as capacidades com construções de IA para criar modelação de linguagem natural, intenção de utilizador específica do cenário, personalização e conversações automatizadas com deteção de contexto.

Motor preditivo para mapear intenções para ações

Uma interface simples para ações e predições permite que os bots reajam quando o bot tem confiança para tomar medidas. A presença ambiente permite que os bots aprendam a intenção, utilizem pedidos com base na lógica de negócio e gerem respostas. Por exemplo, se um utilizador estava fora do escritório e precisa de resumir rapidamente um tópico, a biblioteca:

  1. Compreende a intenção como resumo.
  2. Permite que os pedidos façam resumos ao longo de um período de tempo focados no gestor do utilizador.
  3. Fornece ações para resumir o conteúdo do chat para os utilizadores consumirem.

Ação Planner

A ação Planner é o componente main que chama o seu Modelo de Linguagem Grande (LLM) e inclui várias funcionalidades para melhorar e personalizar o seu modelo. Os plug-ins de modelo simplificam a configuração do LLM selecionado para o planner e são fornecidos com um OpenAIModel que suporta LLMs OpenAI e Azure OpenAI. Podem ser adicionados facilmente plug-ins adicionais para outros modelos, como o Llama-2, o que lhe dá flexibilidade para escolher qual o modelo mais adequado para o seu caso de utilização. Um ciclo de feedback interno aumenta a fiabilidade ao corrigir as respostas de subpar do LLM.

API de Assistentes

Observação

A biblioteca de IA do Teams suporta a API de Assistentes OpenAI e Azure OpenAI em pré-visualização de programadores públicos para começar a criar assistentes inteligentes.

A API de Assistentes permite-lhe criar assistentes de IA avançados capazes de realizar uma variedade de tarefas difíceis de codificar com métodos tradicionais. Fornece acesso programático ao sistema GPT da OpenAI para tarefas que vão desde o chat ao processamento de imagens, processamento de áudio e criação de assistentes personalizados. A API suporta a interação de linguagem natural, permitindo o desenvolvimento de assistentes que podem compreender e responder de forma conversacional.

Siga o guia de introdução para criar uma assistente especializada em matemática.

Gestão de pedidos

A gestão de pedidos dinâmicos é uma funcionalidade do sistema de IA que lhe permite ajustar o tamanho e o conteúdo da linha de comandos que é enviada para o modelo de linguagem, com base no orçamento do token disponível e nas origens de dados ou aumentos. Pode melhorar a eficiência e a precisão do modelo ao garantir que o pedido não excede a janela de contexto nem inclui informações irrelevantes.

Aumento

Melhore e direcione eficazmente as respostas do modelo de IA com o Aumento. Ao utilizar diferentes modos de aumento, pode adaptar o modelo às suas necessidades, aumentando a precisão e os resultados pretendidos.

  • Geração Aumentada de Obtenção (RAG): incorpora automaticamente origens de dados externas em tempo real, dinâmicas e especificadas nas respostas do modelo, permitindo resultados atualizados e contextualmente precisos sem ajustar ou voltar a preparar o modelo. Responda a perguntas sobre os números de vendas atuais ou personalize para os dados de um utilizador específico; com RAG, o seu modelo já não está preso no passado.

  • Monólogo: crie agentes de estilo AutoGPT capazes de realizar ações de vários passos de forma independente e fiabilidade com validação de esquema completa e reparação automática incluída.

  • Sequência: ative o assistente de IA para devolver uma sequência de ações para execução com a validação do esquema a aumentar a fiabilidade.

  • Funções: produza respostas estruturadas do seu modelo ao utilizar Funções definidas pelo utilizador. Estas funções são personalizáveis com esquemas JSON para definir os parâmetros e o respetivo formato. O ActionPlanner avalia as respostas do modelo relativamente ao esquema, efetuando reparações conforme necessário, aumentando a fiabilidade e consistência da resposta.

Origens de dados de vetor

As bases de dados de vetor são um novo tipo de base de dados concebido para armazenar vetores e permitir uma pesquisa eficiente sobre os mesmos. Devolvem os resultados mais relevantes para a consulta de um utilizador. A funcionalidade de pesquisa de vetores numa base de dados de vetor permite que a geração aumentada de obtenção utilize LLMs e dados personalizados ou informações específicas do domínio. Isto envolve extrair informações relevantes de uma origem de dados personalizada e integrá-la no pedido de modelo através da engenharia rápida. Antes de enviar um pedido para o LLM, a entrada, consulta ou pedido do utilizador é transformado numa incorporação e as técnicas de pesquisa de vetores são utilizadas para encontrar as incorporações mais semelhantes na base de dados.

Raciocínio melhorado

A Biblioteca de IA do Teams oferece um sistema integrado de verificação de factos para combater alucinações de bots. Quando um utilizador interage com a sua assistente de IA, o sistema pede ao bot para se envolver num processo de auto-reflexão que avalia criticamente as suas potenciais respostas antes de enviar. A introspecção permite que o bot identifique imprecisões e corrija as respostas, o que melhora a precisão, a qualidade e a relevância contextual. O raciocínio avançado garante que o seu assistente de IA se torna uma fonte fiável de informações e julgamento, criando confiança no seu produto e atraindo os utilizadores de volta todos os dias.

Ciclo de comentários

O ciclo de comentários permite que o bot valide e corrija a saída do modelo de linguagem. Verifica a estrutura e os parâmetros do plano ou monólogo que o modelo devolve e fornece feedback sobre erros ou informações em falta. Em seguida, o modelo tenta corrigir os erros e devolve um resultado válido. O ciclo de comentários pode melhorar a fiabilidade e a precisão do sistema de IA e reduzir as hipóteses de alucinação ou ações inválidas.

A tabela seguinte lista as atualizações à biblioteca de IA do Teams:

Tipo Descrição .NET JavaScript Python
OpenAIModel A classe OpenAIModel permite-lhe chamar o OAI e o Azure OAI com um único componente. Os novos modelos podem ser definidos para outros tipos de modelo, como LLaMA2. ✔️ ✔️ ✔️
Incorporações A classe OpenAIEmbeddings permite-lhe gerar incorporações com o OAI ou o Azure OAI. As novas incorporações podem ser definidas para aspetos como Incorporações de OSS. ✔️ ✔️
Prompts Um novo sistema de pedidos baseado em objetos permite uma melhor gestão de tokens e reduz a probabilidade de exceder a janela de contexto do modelo. ✔️ ✔️ ✔️
Aumento Os aumentos simplificam as tarefas de engenharia de pedidos ao permitir que o programador adicione aumentos com nome ao pedido. Apenas functionssão suportados os aumentos de estilo sequence, e monologue . ✔️ ✔️ ✔️
Fontes de dados Um novo plug-in do DataSource facilita a adição de RAG a qualquer pedido. Pode registar uma origem de dados nomeada com o planeador e, em seguida, especificar o[s] nome[s] das origens de dados que pretendem aumentar o pedido. ✔️ ✔️

Chamadas de função com o SDK de IA

As chamadas de função, implementadas no SDK de IA, desbloqueiam inúmeras capacidades, permitindo que o modelo de IA gere respostas precisas de forma totalmente integrada. Permite a ligação direta com ferramentas externas, tornando assim a IA ainda mais poderosa. Estas capacidades incluem a realização de cálculos complexos, a obtenção de dados importantes, a criação de fluxos de trabalho mais suaves e a ativação de interações dinâmicas com os utilizadores.

Observação

As saídas estruturadas não são suportadas.

Para utilizar chamadas de função com a API de Conclusões de Chat:

  1. Configure o planeador onde o pedido predefinido utiliza o Aumento de Ferramentas. Atualize um dos seguintes ficheiros da sua aplicação de bot:

    • Para uma aplicação JavaScript: Atualizar index.ts.
    • Para uma aplicação de bot C#: Atualizar Program.cs.
    • Para uma aplicação Python: Atualizar bot.py.

    O fragmento de código seguinte mostra como configurar a ToolsAugmentation classe:

    const planner = new ActionPlanner({
        model,
        prompts,
        defaultPrompt: 'tools'
    });
    
  2. Especifique o aumento de ferramentas no config.json ficheiro.

    {
        "schema": 1.1,
        "description": "",
        "type": "",
        "completion": {
    +       "tool_choice": "auto",
    +       "parallel_tool_calls": true,
        },
    +    "augmentation": {
    +        "augmentation_type": "tools"
    +    }
    }
    
  3. Especifique todos os actions.json seus function definitions no ficheiro, que se encontra na prompts pasta . Certifique-se de que segue o esquema para evitar erros quando a ação é chamada pelo LLM.

    [{
        "name": "CreateList",
        "description": "Creates a list"
    }]
    
  4. Registe-se handlers na sua application turma.

    • Cada processador é uma função de chamada de retorno que é executada quando ocorre um evento específico. O processador de chamadas de função executa código em resposta ao evento.
    • A chamada de função tem de devolver uma cadeia como saída da chamada de função.
    • Quando o modelo pede para invocar quaisquer funções, estas são mapeadas para DO comandos dentro de um Plan e são invocados na função de classe run de IA. As saídas são então devolvidas ao modelo com IDs de chamada de ferramenta para mostrar que as ferramentas foram utilizadas.

    O fragmento de código seguinte mostra como registar handlers:

    app.ai.action("createList", async (context: TurnContext, state: ApplicationTurnState, parameters: ListAndItems) => {
    // Ex. create a list with name "Grocery Shopping".
    ensureListExists(state, parameters.list);
    return `list created and items added. think about your next action`;
    });
    

Ativar opções de ferramentas

Pode ativar as seguintes opções de ferramentas:

  • Ativar Escolha da Ferramenta: para permitir que o modelo selecione a função que tem de chamar ao ativar a seleção da ferramenta. config.json No ficheiro:

    • Defina tool_choice como required para ordenar o modelo para chamar sempre, pelo menos, uma função.
    • Defina tool_choice para uma função específica com a respetiva definição para utilizar essa função.
    • Defina tool_choice como none para desativar a ferramenta.

    O valor predefinido de tool_choiceé auto. Permite que o modelo selecione as funções a que tem de chamar.

  • Ativar/Desativar Chamadas de Ferramentas Paralelas: a execução de ferramentas em paralelo é mais rápida e reduz o número de chamadas para a API. config.json No ficheiro, pode definir parallel_tool_calls como true ou false. Por predefinição, o parallel_tool_calls parâmetro está definido como true.

O fragmento de código seguinte mostra como ativar a escolha da ferramenta e alternar as chamadas de ferramentas paralelas:

{

    "schema": 1.1,
    "description": "",
    "type": "",
    "completion": {
+       "tool_choice": "auto",
+       "parallel_tool_calls": true,
    },
+    "augmentation": {
+        "augmentation_type": "tools"
+    }
}

Exemplos de código

Nome do exemplo Descrição .NET Node.js Python
Bot Echo Este exemplo mostra como incorporar um fluxo de conversação básico numa aplicação do Microsoft Teams com o Bot Framework e a biblioteca de IA do Teams. View View View
Extensão de mensagem de comando de pesquisa Este exemplo mostra como incorporar uma aplicação básica de Extensão de Mensagem numa aplicação do Microsoft Teams com o Bot Framework e a biblioteca de IA do Teams. View View Exibir
Bot typeahead Este exemplo mostra como incorporar a funcionalidade de pesquisa typeahead em Cartões Ajustáveis numa aplicação do Microsoft Teams com o Bot Framework e a biblioteca de IA do Teams. View View Exibir
Bot de conversação com IA: Chef do Teams Este exemplo mostra como incorporar um comportamento básico do bot de conversação no Microsoft Teams. O bot foi criado para permitir que o GPT facilite a conversação em seu nome, utilizando apenas um ficheiro de pedido de linguagem natural para guiá-lo. View View
Extensões de mensagens: GPT-ME Este exemplo é uma extensão de mensagem (ME) para o Microsoft Teams que utiliza o modelo text-davinci-003 para ajudar os utilizadores a gerar e atualizar publicações. View View View
Bot claro Este exemplo ilustra o comportamento de bot de conversação mais complexo no Microsoft Teams. O bot foi criado para permitir que o GPT facilite a conversação em seu nome e respostas definidas manualmente e mapeia as intenções do utilizador para as ações definidas pelo utilizador. View View View
Bot de lista Este exemplo mostra como incorporar um comportamento básico do bot de conversação no Microsoft Teams. O bot tira partido do poder da IA para simplificar o fluxo de trabalho e dar ordem às suas tarefas diárias e mostra as capacidades de encadeamento de ações. View View View
Bot de DevOps Este exemplo mostra como incorporar um comportamento básico do bot de conversação no Microsoft Teams. O bot utiliza o modelo gpt-3.5-turbo para conversar com os utilizadores do Teams e executar a ações de DevOps, como criar, atualizar, triagem e resumir itens de trabalho. View View View
Vinte perguntas Este exemplo mostra as incríveis capacidades dos modelos de linguagem e o conceito de intenção do utilizador. Desafie as suas competências como jogador humano e tente adivinhar um segredo dentro de 20 perguntas, enquanto o bot baseado em IA responde às suas consultas sobre o segredo. View View View
Tutor de matemática assistente Este exemplo mostra como criar uma experiência de conversação básica com as APIs de Assistentes da OpenAI. Utiliza a ferramenta Intérprete de Código da OpenAI para criar um assistente que é um especialista em matemática. View View Exibir
Assistente de encomendas de alimentos Este exemplo mostra como criar uma assistente de conversação que utiliza ferramentas para chamar ações no código dos bots. É uma encomenda de comida assistente para um restaurante fictício chamado The Pub e é capaz de interações complexas com o utilizador à medida que toma a sua encomenda. View View View

Próxima etapa