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.
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.
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:
- Compreende a intenção como resumo.
- Utiliza pedidos para fazer resumos ao longo do tempo, focados nas interações do utilizador.
- 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 functions sã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:
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' });
- Para uma aplicação JavaScript: Atualizar
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" + } }
Especifique todos os
actions.json
seusfunction definitions
no ficheiro, que se encontra naprompts
pasta . Certifique-se de que segue o esquema para evitar erros quando a ação é chamada pelo LLM.[{ "name": "CreateList", "description": "Creates a list" }]
Registe-se
handlers
na suaapplication
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 umPlan
e são invocados na função de classerun
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
comorequired
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
comonone
para desativar a ferramenta.
O valor predefinido de
tool_choice
éauto
. Permite que o modelo selecione as funções a que tem de chamar.- Defina
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 definirparallel_tool_calls
comotrue
oufalse
. Por predefinição, oparallel_tool_calls
parâmetro está definido comotrue
.
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 |