Compartilhar via


Biblioteca de IA do Teams

A biblioteca de IA do Teams é uma interface centrada no Teams para integrar modelos de linguagem baseados em GPT e motores de intenção do utilizador. Simplifica o processo de desenvolvimento ao reduzir a necessidade de escrever e manter lógica de bot de conversação complexa.

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

Pode tirar partido de fragmentos de código pré-criados e reutilizáveis que lhe permitem criar rapidamente aplicações inteligentes. Esta abordagem orientada por capacidades permite-lhe concentrar-se na lógica de negócio em vez de aprender as complexidades das arquiteturas de conversação do Microsoft Teams.

Porquê utilizar a biblioteca de IA do Teams?

A biblioteca de IA do Teams permite que as suas aplicações envolvam os utilizadores em interações naturais e conversacionais. Estas interações podem ser orientadas para funcionalidades ou tarefas de aplicações específicas, permitindo que a sua aplicação compreenda melhor e processe melhor a intenção do utilizador.

Pode contar com as capacidades incorporadas do bot de conversação no Teams (como o Power Virtual Agents ou o Bot Framework) para lidar com as complexidades do processamento de linguagem natural.

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

Pode tirar partido da biblioteca de IA do Teams para:

  • 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.
  • Utilize o motor de planeamento da biblioteca que permite ao modelo identificar a intenção do utilizador e, em seguida, mapeia essa intenção para as ações que implementar.
  • Adicione suporte para qualquer LLM à sua escolha sem alterar a lógica do bot.

A biblioteca de IA do Teams suporta JavaScript e C#. Permite-lhe tirar partido das capacidades de IA para criar aplicações inteligentes e fáceis de utilizar para o Microsoft Teams. A biblioteca fornece a flexibilidade para criar experiências com tecnologia de IA através das ferramentas e idiomas que melhor se adequam às necessidades do seu projeto e garante os melhores resultados possíveis para os seus utilizadores do Teams.

Como é que as funcionalidades da biblioteca de IA do Teams me beneficiam?

A biblioteca de IA do Teams oferece uma variedade de funcionalidades que podem simplificar o desenvolvimento do seu agente de motor personalizado.

Como programador, quero criar um lightbot inteligente que controle a luz em resposta ao comando do utilizador. Estou a considerar utilizar a biblioteca de IA do Teams devido às suas funcionalidades que podem tornar a construção do meu agente de motor personalizado mais fácil. Quero que o meu lightbot baseado em IA melhore a experiência do utilizador e os mantenha mais envolvidos.

Como posso utilizar a biblioteca de IA do Teams para garantir que o meu agente de motor personalizado funciona sem problemas e proporciona aos utilizadores uma experiência divertida e interativa?

Localização

A biblioteca de IA do Teams utiliza o modelo GPT da OpenAI para localização. As entradas de utilizador em qualquer idioma são traduzidas para intenções, entidades e ações. Esta abordagem elimina a necessidade de manter os registos de localização.

Modularidade LLM

Um LLM gera texto de linguagem natural coerente e diversificado com variáveis latentes. A biblioteca de IA do Teams utiliza o modelo GPT da OpenAI, mas permite-lhe trocá-lo por qualquer LLM sem alterar a lógica do bot. Isto significa que pode manter o conteúdo da sua aplicação fora do domínio público e estar confinado ao seu modelo LLM preferido.

IA responsável

A biblioteca de IA do Teams ajuda a criar aplicações de conversação com hooks de moderação, varrimento de conversações e ciclos de feedback. Suporta cenários de baixo código e complexos. A biblioteca expande as capacidades com construções de IA para modelação de linguagem natural, intenção do utilizador, 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 um bot reaja quando necessário. A presença de ambiente permite que um bot aprenda a intenção, utilize pedidos de lógica de negócio e gere respostas. Por exemplo, se um utilizador estiver fora do escritório e precisar de resumir um tópico, biblioteca de IA do Teams:

  1. Compreende a intenção como resumo.
  2. Utiliza pedidos para fazer resumos ao longo do tempo, focados nas interações do utilizador.
  3. Fornece ações para resumir o conteúdo do chat.

Ação Planner

A ação Planner é o componente main que chama o 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. Adicione mais plug-ins para outros modelos, como o Llama-2, para lhe dar a flexibilidade de escolher o melhor modelo 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 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 para permitir o desenvolvimento de assistentes que podem compreender e responder de forma conversacional.

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

Gestão de pedidos

A gestão de pedidos dinâmicos permite que o bot ajuste o tamanho e o conteúdo do pedido enviado para o LLM, com base no orçamento do token disponível e nas origens de dados ou aumentos. Melhora a eficiência e a precisão do pedido ao garantir que não inclui informações irrelevantes ou excede a janela de contexto.

Aumento

Melhore as respostas do modelo de IA com o Aumento. Personalize o modelo utilizando diferentes modos para precisão e resultados pretendidos:

  • Geração Aumentada de Obtenção (RAG): incorpore origens de dados externas dinâmicas e em tempo real para resultados atualizados e precisos sem nova preparação.
  • Monólogo: crie agentes de estilo AutoGPT para ações de vários passos com validação de esquema completa e reparação automática.
  • Sequência: ative o assistente de IA para devolver uma sequência de ações com validação de esquema para fiabilidade.
  • Funções: produza respostas estruturadas com funções personalizadas definidas pelo utilizador. A Ação Planner avalia e repara as respostas do modelo para fiabilidade e consistência.

Origens de dados de vetor

As bases de dados de vetores foram concebidas para armazenar vetores para permitir uma pesquisa eficiente. Devolvem os resultados mais relevantes para a consulta de um utilizador. Permitem que o RAG 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 do utilizador é transformada numa incorporação e as técnicas de pesquisa de vetores são utilizadas para encontrar a incorporação mais semelhante 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 o seu assistente de IA, pede ao bot para avaliar criticamente as suas potenciais respostas antes de enviar. O bot identifica imprecisões e corrige as respetivas 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 que cria confiança no produto e aumenta o envolvimento do utilizador.

Ciclo de comentários

O ciclo de comentários permite que um 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. O modelo tenta corrigir os erros e devolver 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ções ou ações inválidas.

Atualizações à biblioteca de IA do Teams

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 OpenAI e Azure OpenAI com um único componente. Os novos modelos podem ser definidos para outros tipos de modelo, como o Llama2. ✔️ ✔️ ✔️
Incorporações A classe OpenAIEmbeddings permite-lhe gerar incorporações com o OpenAI ou o Azure OpenAI. 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 os nomes 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: permita 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"
+    }
}

Observação

Enquanto programador que utiliza o SDK de IA, pode partilhar feedback valioso ou procurar suporte para melhorar a sua experiência.

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 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 View
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 View
Bot de conversação com IA: Chef do Teams Este exemplo mostra como incorporar o comportamento 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 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 do 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 o comportamento 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 o comportamento 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çõ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 com as APIs de Assistentes do OpenAI. Utiliza a ferramenta Intérprete de Código da OpenAI para criar um assistente que é um especialista em matemática. View View View
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 do bot. É 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

Confira também