Compartir a través de


Biblioteca de IA de Teams

La biblioteca de inteligencia artificial de Teams es una interfaz centrada en Teams para integrar modelos de lenguaje basados en GPT y motores de intención de usuario. Simplifica el proceso de desarrollo al reducir la necesidad de escribir y mantener una lógica de bot conversacional compleja.

Representación visual de una entrada de usuario y una respuesta del bot.

Puede aprovechar fragmentos de código precompilados y reutilizables que le permiten crear rápidamente aplicaciones inteligentes. Este enfoque basado en funcionalidades le permite centrarse en la lógica de negocios en lugar de aprender las complejidades de los marcos de conversación de Microsoft Teams.

¿Por qué usar la biblioteca de IA de Teams?

La biblioteca de inteligencia artificial de Teams permite que las aplicaciones interactúen con los usuarios en interacciones naturales y conversacionales. Estas interacciones se pueden guiar hacia funciones o tareas específicas de la aplicación, lo que permite que la aplicación comprenda y procese mejor la intención del usuario.

Puede confiar en las funcionalidades integradas del bot conversacional en Teams (como Power Virtual Agents o Bot Framework) para controlar las complejidades del procesamiento de lenguaje natural.

Captura de pantalla que muestra las ventajas de usar la biblioteca de inteligencia artificial de Teams.

Puede aprovechar la biblioteca de inteligencia artificial de Teams para:

  • Use plantillas precompiladas para agregar funcionalidades de aplicaciones de Teams.
  • Use técnicas como la ingeniería de mensajes para agregar ChatGPT como experiencias conversacionales al bot y características de seguridad integradas, como la moderación, que ayudan a garantizar que el bot siempre responde de forma adecuada.
  • Use el motor de planificación de la biblioteca que permite al modelo identificar la intención del usuario y, a continuación, asigna esa intención a las acciones que implemente.
  • Agregue compatibilidad con cualquier LLM de su elección sin cambiar la lógica del bot.

La biblioteca de inteligencia artificial de Teams admite JavaScript y C#. Permite aprovechar las funcionalidades de inteligencia artificial para crear aplicaciones inteligentes y fáciles de usar para Microsoft Teams. La biblioteca proporciona la flexibilidad para crear experiencias con tecnología de inteligencia artificial mediante las herramientas y los lenguajes que mejor se adapten a las necesidades del proyecto y garantiza los mejores resultados posibles para los usuarios de Teams.

¿Cómo me benefician las características de la biblioteca de inteligencia artificial de Teams?

La biblioteca de inteligencia artificial de Teams ofrece una variedad de características que pueden simplificar el desarrollo del agente de motor personalizado.

Como desarrollador, quiero crear un lightbot inteligente que controle la luz en respuesta al comando del usuario. Estoy pensando en usar la biblioteca de inteligencia artificial de Teams debido a sus características que pueden hacer que la creación de mi agente de motor personalizado sea fácil. Quiero que mi bot de luz con tecnología de inteligencia artificial mejore la experiencia del usuario y que esté más involucrado.

¿Cómo puedo usar la biblioteca de inteligencia artificial de Teams para asegurarse de que mi agente de motor personalizado se ejecuta sin problemas y proporciona a los usuarios una experiencia divertida e interactiva?

Localización

La biblioteca de IA de Teams usa el modelo GPT de OpenAI para la localización. Las entradas de usuario en cualquier idioma se traducen a intenciones, entidades y acciones. Este enfoque elimina la necesidad de mantener registros de localización.

Modularidad de LLM

Un LLM genera texto de lenguaje natural coherente y diverso mediante variables latentes. La biblioteca de IA de Teams usa el modelo GPT de OpenAI, pero permite intercambiarlo con cualquier LLM sin cambiar la lógica del bot. Esto significa que puedes mantener el contenido de la aplicación fuera del dominio público y limitarlo al modelo de LLM que prefieras.

Inteligencia artificial responsable

La biblioteca de inteligencia artificial de Teams ayuda a crear aplicaciones conversacionales con enlaces de moderación, barrido de conversaciones y bucles de comentarios. Admite escenarios complejos y de código bajo. La biblioteca amplía las funcionalidades con construcciones de inteligencia artificial para el modelado de lenguaje natural, la intención del usuario, la personalización y las conversaciones automatizadas compatibles con el contexto.

Motor predictivo para asignar intenciones a acciones

Una interfaz sencilla para acciones y predicciones permite que un bot reaccione cuando sea necesario. La presencia ambiental permite a un bot aprender la intención, usar mensajes de lógica de negocios y generar respuestas. Por ejemplo, si un usuario está fuera de la oficina y necesita resumir un subproceso, biblioteca de IA de Teams:

  1. Entiende la intención como resumen.
  2. Usa mensajes para realizar resúmenes a lo largo del tiempo, centrados en las interacciones del usuario.
  3. Proporciona acciones para resumir el contenido del chat.

Planner de acción

Action Planner es el componente principal que llama a su LLM e incluye varias características para mejorar y personalizar el modelo. Los complementos de modelo simplifican la configuración del LLM seleccionado para el planificador y se suministran con un OpenAIModel que admite los LLM de OpenAI y Azure OpenAI. Agrega más complementos para otros modelos como Llama-2 para darte la flexibilidad de elegir el mejor modelo para tu caso de uso. Un bucle de comentarios internos aumenta la confiabilidad al corregir las respuestas de subpar del LLM.

API de asistentes

Nota:

La biblioteca de inteligencia artificial de Teams admite OpenAI y azure OpenAI Assistants API en versión preliminar para desarrolladores públicos para empezar a trabajar con la creación de asistentes inteligentes.

Assistants API permite crear eficaces asistentes de inteligencia artificial capaces de realizar tareas difíciles de codificar mediante métodos tradicionales. Proporciona acceso mediante programación al sistema GPT de OpenAI para tareas que van desde chat hasta procesamiento de imágenes, procesamiento de audio y creación de asistentes personalizados. La API admite la interacción del lenguaje natural para permitir el desarrollo de asistentes que puedan comprender y responder de forma conversacional.

Siga la guía de inicio rápido de Assistants API para crear una asistente especializada en matemáticas.

Administración de mensajes

La administración de mensajes dinámicos permite al bot ajustar el tamaño y el contenido del símbolo del sistema enviado al LLM, en función del presupuesto de tokens disponible y de los orígenes de datos o los aumentos. Mejora la eficacia y la precisión del aviso asegurándose de que no incluye información irrelevante ni supera la ventana de contexto.

Aumento

Mejore las respuestas del modelo de inteligencia artificial con el aumento. Adapte el modelo con diferentes modos para obtener la precisión y los resultados deseados:

  • Generación aumentada de recuperación (RAG): incorpora orígenes de datos externos dinámicos en tiempo real para obtener resultados actualizados y precisos sin volver a entrenar.
  • Monólogo: cree agentes de estilo AutoGPT para acciones de varios pasos con validación completa del esquema y reparación automática.
  • Secuencia: habilite la asistente de inteligencia artificial para devolver una secuencia de acciones con validación de esquema para la confiabilidad.
  • Funciones: genere respuestas estructuradas mediante funciones personalizables definidas por el usuario. Action Planner evalúa y repara las respuestas del modelo para la confiabilidad y la coherencia.

Orígenes de datos vectoriales

Las bases de datos vectoriales están diseñadas para almacenar vectores para permitir una búsqueda eficaz. Devuelven los resultados más relevantes para la consulta de un usuario. Permiten que RAG use LLM y datos personalizados o información específica del dominio. Esto implica extraer información relevante de un origen de datos personalizado e integrarla en la solicitud del modelo a través de la ingeniería de mensajes. Antes de enviar una solicitud al LLM, la entrada del usuario se transforma en una inserción y se usan técnicas de búsqueda vectorial para buscar la inserción más similar en la base de datos.

Razonamiento mejorado

La biblioteca de inteligencia artificial de Teams ofrece un sistema integrado de comprobación de hechos para abordar las alucinaciones de bots. Cuando un usuario interactúa con la asistente de inteligencia artificial, solicita al bot que evalúe críticamente sus posibles respuestas antes de enviarlo. El bot identifica las imprecisiones y corrige sus respuestas, lo que mejora la precisión, la calidad y la relevancia contextual. El razonamiento avanzado garantiza que la inteligencia artificial asistente se convierta en una fuente confiable de información y juicio que genere confianza en el producto y aumente la participación del usuario.

Retroalimentación

El bucle de comentarios permite que un bot valide y corrija la salida del modelo de lenguaje. Comprueba la estructura y los parámetros del plan o monólogo que devuelve el modelo y proporciona comentarios sobre errores o falta información. El modelo intenta corregir sus errores y devolver una salida válida. El bucle de comentarios puede mejorar la confiabilidad y precisión del sistema de inteligencia artificial y reducir las posibilidades de alucinaciones o acciones no válidas.

Novedades a la biblioteca de inteligencia artificial de Teams

En la tabla siguiente se enumeran las actualizaciones de la biblioteca de inteligencia artificial de Teams:

Tipo Descripción .NET JavaScript Python
OpenAIModel La clase OpenAIModel permite llamar a OpenAI y Azure OpenAI con un único componente. Los nuevos modelos se pueden definir para otros tipos de modelos, como Llama2. ✔️ ✔️ ✔️
Incrustaciones La clase OpenAIEmbeddings permite generar inserciones mediante OpenAI o Azure OpenAI. Se pueden definir nuevas incrustaciones para elementos como las incrustaciones de OSS. ✔️ ✔️
Peticiones de credenciales Un nuevo sistema de solicitud basado en objetos permite una mejor administración de tokens y reduce la probabilidad de desbordamiento de la ventana de contexto del modelo. ✔️ ✔️ ✔️
Aumento Los aumentos simplifican las tareas de ingeniería de mensajes al permitir que el desarrollador agregue aumentos con nombre a su solicitud. Solo functionsse admiten los aumentos de estilo , sequencey monologue . ✔️ ✔️ ✔️
Orígenes de datos Un nuevo complemento DataSource facilita la incorporación de RAG a cualquier símbolo del sistema. Puede registrar un origen de datos con nombre con el planificador y, a continuación, especificar los nombres de los orígenes de datos que desean aumentar la solicitud. ✔️ ✔️

Llamadas a funciones mediante el SDK de IA

Las llamadas a funciones, implementadas en el SDK de IA, desbloquean numerosas funcionalidades, lo que permite que el modelo de inteligencia artificial genere respuestas precisas sin problemas. Permite la conexión directa con herramientas externas, lo que hace que la inteligencia artificial sea aún más eficaz. Estas funcionalidades incluyen la realización de cálculos complejos, la recuperación de datos importantes, la creación de flujos de trabajo más fluidos y la habilitación de interacciones dinámicas con los usuarios.

Nota:

No se admiten salidas estructuradas.

Para usar las llamadas a funciones con la API de finalización de chat:

  1. Configure el planificador donde el símbolo del sistema predeterminado usa el aumento de herramientas. Actualice uno de los siguientes archivos de la aplicación de bot:

    • Para una aplicación de JavaScript: actualice index.ts.
    • Para una aplicación de bot de C#: actualice Program.cs.
    • Para una aplicación de Python: actualice bot.py.

    El siguiente fragmento de código muestra cómo configurar la ToolsAugmentation clase :

    const planner = new ActionPlanner({
        model,
        prompts,
        defaultPrompt: 'tools'
    });
    
  2. Especifique el aumento de herramientas en el config.json archivo.

    {
        "schema": 1.1,
        "description": "",
        "type": "",
        "completion": {
    +       "tool_choice": "auto",
    +       "parallel_tool_calls": true,
        },
    +    "augmentation": {
    +        "augmentation_type": "tools"
    +    }
    }
    
  3. Especifique todo function definitions en el actions.json archivo, que se encuentra en la prompts carpeta . Asegúrese de seguir el esquema para evitar errores cuando llm llama a la acción.

    [{
        "name": "CreateList",
        "description": "Creates a list"
    }]
    
  4. Registre su handlers en la application clase.

    • Cada controlador es una función de devolución de llamada que se ejecuta cuando se produce un evento específico. El controlador de llamadas de función ejecuta código en respuesta al evento .
    • La llamada a la función debe devolver una cadena como salida de la llamada de función.
    • Cuando el modelo solicita invocar cualquier función, estas se asignan a DO comandos dentro de y Plan se invocan en la función de clase run de IA. A continuación, las salidas se devuelven al modelo con identificadores de llamada a herramientas para mostrar que se usaron las herramientas.

    El siguiente fragmento de código muestra cómo registrar 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`;
    });
    

Habilitar las opciones de la herramienta

Puede habilitar las siguientes opciones de herramienta:

  • Habilitar opción de herramienta: permita que el modelo seleccione la función a la que debe llamar habilitando la selección de herramientas. En el config.json archivo:

    • Establezca tool_choice como para required exigir al modelo que llame siempre a al menos una función.
    • Establezca tool_choice en una función específica mediante su definición para usar esa función.
    • Establezca tool_choice como none para deshabilitar la herramienta.

    El valor predeterminado de tool_choicees auto. Permite al modelo seleccionar las funciones a las que debe llamar.

  • Alternar llamadas de herramientas paralelas: la ejecución de herramientas en paralelo es más rápida y reduce el número de llamadas de ida y vuelta a la API. En el config.json archivo, puede establecer en parallel_tool_callstrue o false. De forma predeterminada, el parallel_tool_calls parámetro se establece en true.

El siguiente fragmento de código muestra cómo habilitar la opción de herramienta y alternar las llamadas a herramientas paralelas:

{

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

Nota:

Como desarrollador que usa el SDK de IA, puede compartir comentarios valiosos o buscar soporte técnico para mejorar su experiencia.

Ejemplos de código

Ejemplo de nombre Descripción .NET Node.js Python
Bot de eco En este ejemplo se muestra cómo incorporar un flujo conversacional a una aplicación de Microsoft Teams mediante Bot Framework y la biblioteca de inteligencia artificial de Teams. View View View
Extensión de mensaje de comando de búsqueda En este ejemplo se muestra cómo incorporar una aplicación de extensión de mensaje básica en una aplicación de Microsoft Teams mediante Bot Framework y la biblioteca de inteligencia artificial de Teams. View View View
Bot de typeahead En este ejemplo se muestra cómo incorporar la funcionalidad de búsqueda de typeahead en tarjetas adaptables en una aplicación de Microsoft Teams mediante Bot Framework y la biblioteca de inteligencia artificial de Teams. View View View
Bot conversacional con IA: chef de Teams En este ejemplo se muestra cómo incorporar el comportamiento del bot conversacional en Microsoft Teams. El bot se ha creado para permitir que GPT facilite la conversación en su nombre, usando solo un archivo de solicitud de lenguaje natural para guiarla. View View
Extensiones de mensaje: GPT-ME Este ejemplo es una extensión de mensaje para Microsoft Teams que usa el modelo text-davinci-003 para ayudar a los usuarios a generar y actualizar publicaciones. View View View
Bot ligero En este ejemplo se muestra el comportamiento del bot conversacional más complejo en Microsoft Teams. El bot se ha creado para permitir que GPT facilite la conversación en su nombre y las respuestas definidas manualmente, y asigna las intenciones del usuario a las acciones definidas por el usuario. View View View
Bot de lista En este ejemplo se muestra cómo incorporar el comportamiento del bot conversacional en Microsoft Teams. El bot aprovecha la eficacia de la inteligencia artificial para simplificar el flujo de trabajo y dar orden a sus tareas diarias y muestra las funcionalidades de encadenamiento de acciones. View View View
Bot de DevOps En este ejemplo se muestra cómo incorporar el comportamiento del bot conversacional en Microsoft Teams. El bot usa el modelo gpt-3.5-turbo para chatear con los usuarios de Teams y realizar acciones de DevOps, como crear, actualizar, evaluar y resumir elementos de trabajo. View View View
Veinte preguntas En este ejemplo se muestran las increíbles funcionalidades de los modelos de lenguaje y el concepto de intención del usuario. Desafíe sus habilidades como jugador humano e intente adivinar un secreto dentro de 20 preguntas, mientras que el bot con tecnología de inteligencia artificial responde a sus consultas sobre el secreto. View View View
Tutor de matemáticas asistente En este ejemplo se muestra cómo crear una experiencia conversacional mediante las API de asistentes de OpenAI. Usa la herramienta de intérprete de código de OpenAI para crear un asistente experto en matemáticas. View View View
Pedidos de alimentos asistente En este ejemplo se muestra cómo crear una asistente conversacional que usa herramientas para llamar a acciones en el código del bot. Es un asistente de pedidos de alimentos para un restaurante ficticio llamado The Pub y es capaz de interacciones complejas con el usuario a medida que toma su pedido. View View View

Paso siguiente

Recursos adicionales