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.
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
Abra Visual Studio Code.
Seleccione el icono kit de herramientas de Teams en la barra de actividad de Visual Studio Code
Seleccione Crear una nueva aplicación.
Seleccione Agente de motor personalizado.
Seleccione Agente de inteligencia artificial.
Para compilar una aplicación, seleccione cualquiera de las siguientes opciones:
Seleccione Compilar nuevo.
Seleccione JavaScript.
De forma predeterminada, el servicio OpenAI se selecciona, puede escribir opcionalmente las credenciales para acceder a OpenAI. Seleccione Introducir.
Seleccione Carpeta predeterminada.
Para cambiar la ubicación predeterminada, siga estos pasos:
- Seleccione Examinar.
- Seleccione la ubicación del área de trabajo del proyecto.
- Seleccione Seleccionar carpeta.
Escriba un nombre de aplicación para la aplicación y, a continuación, seleccione la tecla Entrar .
Ha creado correctamente el bot del agente de inteligencia artificial.
En EXPLORER, vaya al archivo env.env.testtool.user>.
Actualice los valores siguientes:
SECRET_AZURE_OPENAI_API_KEY=<your-key>
AZURE_OPENAI_ENDPOINT=<your-endpoint>
AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>
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.
La herramienta de prueba abre el bot en una página web.
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);