Compartir a través de


Biblioteca de IA de Teams

La biblioteca de inteligencia artificial de Teams es una interfaz centrada en Teams para modelos de lenguaje común basados en GPT y motores de intención de usuario que, modera la necesidad de asumir tareas complejas y costosas de escribir y mantener la lógica del bot conversacional para integrarse con modelos de lenguaje grande (LLM).

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

La biblioteca de inteligencia artificial proporciona un enfoque sencillo basado en funcionalidades y le ayuda a crear aplicaciones inteligentes de forma rápida y sencilla con fragmentos de código precompilados y reutilizables para que pueda centrarse en la creación de la lógica de negocios en lugar de aprender la semántica de las aplicaciones conversacionales de Teams.

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

La biblioteca de inteligencia artificial es una interfaz centrada en Teams para modelos de lenguaje grande. Las aplicaciones pueden usar LLM para facilitar interacciones conversacionales más naturales con los usuarios, lo que guía esa conversación en las aptitudes de las aplicaciones.

Puede centrarse en escribir la lógica de negocios y permitir que Teams controle las complejidades de los bots conversacionales para que pueda extraer y usar fácilmente la intención del usuario dentro de las aplicaciones.

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

  • La biblioteca de inteligencia artificial es una interfaz centrada en Teams para modelos de lenguaje grande. 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.

  • La biblioteca incluye un motor de planificación que permite al modelo identificar la intención del usuario y, a continuación, asigna esa intención a las acciones que implemente.

  • Puede agregar fácilmente compatibilidad con cualquier LLM de su elección sin cambiar la lógica del bot.

La biblioteca de inteligencia artificial de Teams está disponible en lenguajes JavaScript y C#, lo que le permite aprovechar la eficacia de la inteligencia artificial y crear aplicaciones inteligentes y fáciles de usar para Microsoft Teams mediante los lenguajes de programación con los que se sienten más cómodos. Estamos comprometidos con una mentalidad en la que se crean productos de inteligencia artificial con las herramientas y los lenguajes que desea para hacer que las mejores experiencias sean posibles para sus clientes en Teams.

Estas son algunas de las características principales disponibles a través de la biblioteca de inteligencia artificial de Teams:

Scaffolding simple de componentes centrados en Teams

La biblioteca de inteligencia artificial de Teams simplifica el modelo de aplicaciones de Teams para centrarse en la extensión necesaria en comparación con el protocolo necesario. Puede usar plantillas precompiladas y agregar la lógica de negocios a este scaffolding para agregar módulos como bots, extensiones de mensajes, tarjetas adaptables o desplegamiento de vínculos.

Modelado de lenguaje natural

La biblioteca de IA de Teams se compila con modelos de lenguaje con tecnología GPT, de modo que no es necesario dedicar tiempo a escribir la lógica conversacional e identificar las intenciones del usuario. La creación de aplicaciones de Teams con tecnología de inteligencia artificial es más fácil, compatible y se puede usar de forma coherente que nunca.

Los bots pueden ejecutarse en contexto y ayudar cuando el bot reconoce una intención de usuario que se asigna a una de las acciones del bot. Esto aumenta la conversación sin necesidad de que los usuarios hablen explícitamente con el bot mediante un pequeño conjunto de acciones registradas.

Ingeniería de solicitudes

La ingeniería de mensajes le ayuda a diseñar mensajes teniendo en cuenta la intención del usuario, el contexto de la conversación y la personalidad del bot. Los bots se pueden personalizar y personalizar para satisfacer las necesidades del usuario.

Historial de sesiones conversacionales

La biblioteca de inteligencia artificial de Teams recuerda el contexto entre los mensajes y ayuda a mejorar el rendimiento del bot mediante el análisis de patrones en el comportamiento del usuario.

Localización

Puesto que la biblioteca de IA de Teams usa el modelo GPT de OpenAI, la localización está disponible. Cuando un usuario introduce en cualquier idioma, la entrada se traduce de forma coherente a intenciones, entidades y acciones resultantes que la aplicación entiende sin necesidad de compilar y mantener registros de localización.

Modularidad de LLM

El modelo de lenguaje grande (LLM) es un modelo de lenguaje avanzado que utiliza variables latentes para generar texto y estilo de lenguaje natural coherentes y diversos.

Aunque la biblioteca de IA de Teams está compilada para usar el modelo GPT de Open AI, tiene la flexibilidad de intercambiar con cualquier LLM de su elección sin cambiar la lógica del bot. Esto significa que puedes elegir 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 le permite crear aplicaciones conversacionales éticas y responsables mediante:

  • Enlaces de moderación: para regular las respuestas del bot en cualquier API de moderación.
  • Barrido de conversaciones: para supervisar las conversaciones e intervenir cuando la conversación pasa desastuta a través de la detección y corrección proactivas.
  • Bucles de comentarios: para evaluar el rendimiento del bot para conversaciones de alta calidad y mejorar la experiencia del usuario.

La biblioteca de inteligencia artificial de Teams ofrece compatibilidad desde código bajo hasta escenarios complejos. La biblioteca amplía las funcionalidades con construcciones de inteligencia artificial para crear modelado de lenguaje natural, intención de usuario específica del escenario, personalización y conversaciones automatizadas compatibles con el contexto.

Motor predictivo para asignar intenciones a acciones

Una interfaz sencilla para acciones y predicciones permite a los bots reaccionar cuando el bot tiene confianza para realizar acciones. La presencia ambiental permite a los bots aprender la intención, usar mensajes basados en la lógica de negocios y generar respuestas. Por ejemplo, si un usuario no estaba en la oficina y necesita resumir rápidamente un subproceso, la biblioteca:

  1. Entiende la intención como resumen.
  2. Permite que los mensajes realicen resúmenes durante un período de tiempo centrado en el administrador del usuario.
  3. Proporciona acciones para resumir el contenido de chat para que los usuarios los consuman.

Planner de acción

Action Planner es el componente principal que llama al modelo de lenguaje grande (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. Se pueden agregar fácilmente complementos adicionales para otros modelos como Llama-2, lo que le ofrece la flexibilidad de elegir qué modelo es el mejor para su 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 una variedad de 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, lo que permite el desarrollo de asistentes que pueden comprender y responder de forma conversacional.

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

Administración de mensajes

La administración de mensajes dinámicos es una característica del sistema de inteligencia artificial que le permite ajustar el tamaño y el contenido del símbolo del sistema que se envía al modelo de lenguaje, en función del presupuesto de tokens disponible y los orígenes de datos o los aumentos. Puede mejorar la eficacia y la precisión del modelo asegurándose de que la solicitud no supere la ventana de contexto o incluya información irrelevante.

Aumento

Mejore y dirija de forma eficaz las respuestas del modelo de inteligencia artificial con el aumento. Con diferentes modos de aumento, puede adaptar el modelo a sus necesidades, lo que aumenta su precisión y los resultados deseados.

  • Generación aumentada de recuperación (RAG): incorpora automáticamente orígenes de datos externos en tiempo real, dinámicos y especificados en las respuestas del modelo, lo que permite obtener resultados actualizados y contextualmente precisos sin ajustar ni volver a entrenar el modelo. Responda a preguntas sobre los números de ventas actuales o personalice los datos de un usuario específico; con RAG, el modelo ya no está atascado en el pasado.

  • Monólogo: cree agentes de estilo AutoGPT capaces de realizar acciones de varios pasos de forma independiente y confiabilidad con validación de esquema completa y reparación automática incluida.

  • Secuencia: habilite la asistente de inteligencia artificial para devolver una secuencia de acciones para su ejecución con la validación de esquema que aumenta la confiabilidad.

  • Funciones: genere respuestas estructuradas desde el modelo empleando funciones definidas por el usuario. Estas funciones se pueden personalizar mediante esquemas JSON para definir los parámetros y su formato. ActionPlanner evalúa las respuestas del modelo con respecto al esquema, realizando reparaciones según sea necesario, lo que aumenta la confiabilidad y la coherencia de la respuesta.

Orígenes de datos vectoriales

Las bases de datos vectoriales son un nuevo tipo de base de datos diseñada para almacenar vectores y habilitar una búsqueda eficaz sobre ellos. Devuelven los resultados más relevantes para la consulta de un usuario. La característica de búsqueda de vectores de una base de datos de vectores permite la generación aumentada de recuperación para usar 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, consulta o solicitud del usuario se transforma en una inserción y se usan técnicas de búsqueda vectorial para buscar las incrustaciones más similares 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 su asistente de inteligencia artificial, el sistema solicita al bot que participe en un proceso de auto reflexión evaluando críticamente sus posibles respuestas antes de enviarlo. La introspección permite al bot identificar imprecisiones y corregir 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, creando confianza en el producto y devolviendo a los usuarios cada día.

Retroalimentación

El bucle de comentarios permite que el 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. A continuación, el modelo intenta corregir sus errores y devuelve 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 alucinación o acciones no válidas.

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 OAI y Azure OAI 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 OAI o Azure OAI. 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 el símbolo del sistema. ✔️ ✔️

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: para permitir 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.
    • Establézcalo 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"
+    }
}

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 básico 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 Ver
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 Ver
Bot conversacional con IA: chef de Teams En este ejemplo se muestra cómo incorporar un comportamiento básico 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 Ver
Extensiones de mensaje: GPT-ME Este ejemplo es una extensión de mensaje (ME) 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 un comportamiento básico 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 un comportamiento básico 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 básica 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 de los bots. 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