Compartir a través de


Creación de un bot de agente de inteligencia artificial en Teams

Un agente de inteligencia artificial en Microsoft Teams es un bot de chat conversacional que usa modelos de lenguaje grande (LLM) para interactuar con los usuarios. Comprende las intenciones del usuario y selecciona una secuencia de acciones, lo que permite que el bot de chat complete tareas comunes.

Captura de pantalla que muestra el proceso de compilación de solicitudes y respuestas del bot de agente de inteligencia artificial.

Requisitos previos

Instalar Para usar...
Visual Studio Code Entornos de compilación de JavaScript, TypeScript o Python. Use la versión más reciente.
Kit de herramientas de Teams Microsoft Visual Studio Code extensión que crea un scaffolding de proyecto para la aplicación. Use la versión más reciente.
Node.js Entorno de tiempo de ejecución de JavaScript de back-end. Para obtener más información, vea Node.js tabla de compatibilidad de versiones para el tipo de proyecto.
Microsoft Teams Microsoft Teams para colaborar con todos los usuarios con los que trabaje a través de aplicaciones para chat, reuniones y llamadas en un solo lugar.
Azure OpenAI En primer lugar, cree la clave de API de OpenAI para usar el transformador preentrenado generativo (GPT) de OpenAI. Si desea hospedar la aplicación o acceder a los recursos en Azure, debe crear un servicio Azure OpenAI.

Creación de un nuevo proyecto de agente de inteligencia artificial

  1. Abra Visual Studio Code.

  2. Seleccione el icono kit de herramientas de Teams en la barra de actividad de Visual Studio Code

  3. Seleccione Crear una nueva aplicación.

    Captura de pantalla que muestra la ubicación del vínculo Crear nuevo proyecto en la barra lateral del kit de herramientas de Teams.

  4. Seleccione Agente de motor personalizado.

    Captura de pantalla que muestra la opción para seleccionar el agente de motor personalizado como el nuevo proyecto que se va a crear.

  5. Seleccione Agente de inteligencia artificial.

    Captura de pantalla que muestra la opción para seleccionar las características de la aplicación mediante la lista de bibliotecas de inteligencia artificial.

  6. Para compilar una aplicación, seleccione cualquiera de las siguientes opciones:

    1. Seleccione Compilar nuevo.

      Captura de pantalla que muestra la opción para seleccionar los agentes de inteligencia artificial disponibles.

    2. Seleccione JavaScript.

      Captura de pantalla que muestra la opción para seleccionar el lenguaje de programación.

    3. De forma predeterminada, el servicio OpenAI se selecciona, puede escribir opcionalmente las credenciales para acceder a OpenAI. Seleccione Introducir.

      Captura de pantalla que muestra la ubicación para escribir la clave de API abierta de Azure.

    4. Seleccione Carpeta predeterminada.

      Captura de pantalla que muestra la carpeta de la aplicación de ubicación que se va a guardar.

      Para cambiar la ubicación predeterminada, siga estos pasos:

      1. Seleccione Examinar.
      2. Seleccione la ubicación del área de trabajo del proyecto.
      3. Seleccione Seleccionar carpeta.
    5. Escriba un nombre de aplicación para la aplicación y, a continuación, seleccione la tecla Entrar .

      Captura de pantalla que muestra la opción para escribir el nombre adecuado.

      Ha creado correctamente el bot del agente de inteligencia artificial.

      Captura de pantalla que muestra que el bot de chat de ai creado y el archivo léame están disponibles.

    6. En EXPLORER, vaya al archivo env.env.testtool.user>.

    7. Actualice los valores siguientes:

      • SECRET_AZURE_OPENAI_API_KEY=<your-key>
      • AZURE_OPENAI_ENDPOINT=<your-endpoint>
      • AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>

      Captura de pantalla que muestra los detalles actualizados en el archivo env.

    8. Para depurar la aplicación, seleccione la tecla F5 o en el panel izquierdo, seleccione Ejecutar y depurar (Ctrl+Mayús+D) y, a continuación, seleccione Depurar en la herramienta de prueba (versión preliminar) en la lista desplegable.

      Captura de pantalla que muestra la selección de la opción de depuración de la lista de opciones.

    La herramienta de prueba abre el bot en una página web.

    Captura de pantalla que muestra la salida final del nuevo bot de compilación del agente de inteligencia artificial.

    Realice un recorrido por el código fuente de la aplicación bot.

    Folder Contenido
    .vscode Visual Studio Code archivos para la depuración.
    appPackage Plantillas para el manifiesto de aplicación de Teams.
    env Archivos de entorno.
    infra Plantillas para aprovisionar recursos de Azure.
    src Código fuente de la aplicación.

    Los siguientes archivos se pueden personalizar y muestran un ejemplo de implementación para empezar:

    Archivo Contenido
    src/index.js Configura el servidor de aplicaciones de bot.
    src/adapter.js Configura el adaptador del bot.
    src/config.js Define las variables de entorno.
    src/prompts/planner/skprompt.txt Define el símbolo del sistema.
    src/prompts/planner/config.json Configura el símbolo del sistema.
    src/prompts/planner/actions.json Define las acciones.
    src/app/app.js Controla las lógicas de negocios para el agente de inteligencia artificial.
    src/app/messages.js Define los controladores de actividad de mensajes.
    src/app/actions.js Define las acciones de IA.

    A continuación se muestran los archivos de proyecto específicos del kit de herramientas de Teams. Para obtener más información sobre cómo funciona Teams Toolkit, consulte una guía completa en GitHub:

    Archivo Contenido
    teamsapp.yml Este es el archivo de proyecto principal del kit de herramientas de Teams. El archivo de proyecto define las propiedades y las definiciones de la fase de configuración.
    teamsapp.local.yml Esto invalida teamsapp.yml con acciones que habilitan la ejecución y depuración locales.
    teamsapp.testtool.yml Esto invalida teamsapp.yml con acciones que habilitan la ejecución y depuración locales en la herramienta de prueba de aplicaciones de Teams.

Creación de un agente de inteligencia artificial mediante la biblioteca de inteligencia artificial de Teams

Compilación de nuevo

La biblioteca de inteligencia artificial de Teams proporciona un flujo completo que simplifica el proceso de creación de su propio agente de inteligencia artificial. Los conceptos importantes que debe comprender son los siguientes:

  • Acciones: una acción es una función atómica registrada en el sistema de inteligencia artificial.
  • Planner: El planificador recibe la solicitud del usuario, que se encuentra en forma de solicitud o plantilla de aviso, y devuelve un plan para satisfacerla. Esto se logra mediante el uso de la inteligencia artificial para mezclar y hacer coincidir funciones atómicas, conocidas como acciones, que se registran en el sistema de inteligencia artificial. Estas acciones se vuelven a combinar en una serie de pasos que completan un objetivo.
  • Action Planner: Action Planner usa un LLM para generar planes. Puede desencadenar acciones parametrizadas y enviar respuestas basadas en texto al usuario.

Compilación con assistants API

La API de asistentes de OpenAI simplifica el esfuerzo de desarrollo de la creación de un agente de inteligencia artificial. OpenAI como plataforma ofrece herramientas precompiladas, como el intérprete de código, la recuperación de conocimiento y las llamadas a funciones, que simplifican el código que necesita escribir para escenarios comunes.

Comparison Compilación de nuevo Compilación con assistants API
Costo Solo los costos de los servicios LLM Los costos de los servicios LLM y si usa herramientas en assistants API conllevan costos adicionales.
Esfuerzo de desarrollo Mediano Relativamente pequeño
Servicios de LLM Azure OpenAI o OpenAI Solo OpenAI
Implementaciones de ejemplo en la plantilla Esta plantilla de aplicación puede chatear y ayudar a los usuarios a administrar las tareas. Estas plantillas de aplicación usan la herramienta Intérprete de código para resolver problemas matemáticos y también la herramienta de llamadas a funciones para obtener el clima de la ciudad.
Limitaciones ND La biblioteca de inteligencia artificial de Teams no admite la herramienta de recuperación de conocimiento.

Personalización de la plantilla de aplicación

Personalización del aumento de mensajes

El SDK proporciona una funcionalidad para aumentar el símbolo del sistema.

  • Las acciones, que se definen en el src/prompts/planner/actions.json archivo, se insertan en el símbolo del sistema. Esto permite que el LLM tenga en cuenta las funciones disponibles.
  • Se inserta un fragmento interno de texto de aviso en el símbolo del sistema para indicar a LLM que determine qué funciones llamar en función de las funciones disponibles. Este mensaje de texto ordena a LLM que genere la respuesta en un formato json estructurado.
  • El SDK valida la respuesta de LLM y permite a LLM corregir o refinar la respuesta si la respuesta tiene un formato incorrecto.

En el src/prompts/planner/config.json archivo, configure augmentation.augmentation_type. Las opciones son:

  • Sequence: adecuado para tareas que requieren varios pasos o lógica compleja.
  • Monologue: adecuado para tareas que requieren comprensión y generación del lenguaje natural, y más flexibilidad y creatividad.

Compilación de nuevas funciones de incorporación

  • En el archivo, defina el src/prompts/planner/actions.json esquema de acciones.

    [
        ...
        {
            "name": "myFunction",
            "description": "The function description",
            "parameters": {
                "type": "object",
                "properties": {
                    "parameter1": {
                        "type": "string",
                        "description": "The parameter1 description"
                    },
                },
                "required": ["parameter1"]
            }
        }
    ]
    
  • En el src/app/actions.ts archivo, defina los controladores de acciones.

    // Define your own function
    export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> {
      // Implement your function logic
      ...
      // Return the result
      return "...";
    }
    
  • En el src/app/app.ts archivo, registre las acciones.

    app.ai.action("myFunction", myFunction);
    

Personalización asistente creación

El src/creator.ts archivo crea un nuevo Asistente de OpenAI. Puede personalizar el asistente actualizando los parámetros, como la instrucción, el modelo, las herramientas y las funciones.

Compilación con funciones de adición de API de Assistants

Cuando el asistente proporciona una función y sus argumentos para la ejecución, el SDK alinea esta función con una acción registrada previamente. Más adelante activa el controlador de acciones y envía el resultado al asistente. Para integrar las funciones, registre las acciones dentro de la aplicación.

  • En el src/app/actions.ts archivo, defina los controladores de acciones.

    // Define your own function
    export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> {
      // Implement your function logic
      ...
      // Return the result
      return "...";
    }
    
  • En el src/app/app.ts archivo, registre las acciones.

    app.ai.action("myFunction", myFunction);
    

Recursos adicionales

Biblioteca de IA de Teams