Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
- Ahora se ha cambiado el nombre de la biblioteca de IA de Teams a SDK de Teams.
- La biblioteca de inteligencia artificial v1 de Teams está en desuso. Se recomienda actualizar los agentes para usar el SDK de Teams actualizado.
El SDK de Teams ya está disponible con carácter general para JavaScript y C#, admite Python en versión preliminar para desarrolladores. Proporciona un SDK simplificado, compatibilidad con el Protocolo de contexto de modelo (MCP), comunicación agente a agente (A2A) y herramientas simplificadas para permitir a los desarrolladores crear agentes inteligentes para Teams.
La etiqueta de IA, la cita, los botones de comentarios y la etiqueta de confidencialidad en los mensajes del agente mejoran la interacción del usuario y fomentan la transparencia y la confianza.
- La etiqueta de IA permite a los usuarios identificar que el mensaje se generó mediante IA.
- Cita permite a los usuarios hacer referencia al origen del mensaje del agente a través de citas y referencias en texto.
- Los botones de comentarios permiten a los usuarios proporcionar comentarios positivos o negativos a los mensajes del agente.
- La etiqueta de confidencialidad permite a los usuarios comprender la confidencialidad del mensaje del agente.
En las capturas de pantalla siguientes se muestra cómo se pueden mejorar los mensajes del agente con la etiqueta de inteligencia artificial, la cita, los botones de comentarios y la etiqueta de confidencialidad:
Nota:
- La etiqueta de IA, la cita, los botones de comentarios y la etiqueta de confidencialidad están disponibles para los agentes en chats personales, chats de grupo y canales.
- La etiqueta de inteligencia artificial, la cita, los botones de comentarios y la etiqueta de confidencialidad están disponibles en los entornos de Government Community Cloud (GCC), GCC High y Department of Defense (DoD).
Etiqueta de IA
Una etiqueta de IA en el mensaje del agente indica que la inteligencia artificial la genera. Aunque los agentes con tecnología de inteligencia artificial que usan modelos de lenguaje grande (LLM) suelen ser confiables, la etiqueta ayuda a evitar confusiones sobre el origen de la información.
Agregar etiqueta de IA
Para compilar el agente mediante el SDK de Teams, use el addAiGenerated() método para marcar un mensaje como generado por IA. El siguiente fragmento de código muestra cómo habilitar la etiqueta de IA en un mensaje del agente:
app.message(/label/i, async ({ send }) => {
await send(new MessageActivity("Hi, this message is generated by AI").addAiGenerated());
});
Después de agregar una etiqueta de inteligencia artificial, el mensaje del agente muestra una etiqueta generada por IA junto al nombre del agente. Al mantener el puntero sobre la etiqueta de IA, aparece una declinación de responsabilidad que indica que el contenido generado por IA puede ser incorrecto. La etiqueta de IA y la declinación de responsabilidades no se pueden personalizar para los agentes con tecnología de inteligencia artificial.
Control de errores
| Código de error | Descripción |
|---|---|
| 400 | Se han encontrado varias entidades de mensaje raíz en la entities matriz. |
| 400 | Error al analizar la entidad de mensaje de la entities matriz. |
Citas
La cita de orígenes en mensajes de agente ayuda a los usuarios a formular preguntas de seguimiento o a realizar investigaciones independientes. Cite orígenes de datos como archivos, mensajes, correos electrónicos y elementos de trabajo para proporcionar información valiosa. Las citas son fundamentales para los agentes que usan técnicas como la generación de Retrieval-Augmented (RAG).
Las citas en los mensajes del agente pueden incluir lo siguiente:
- Las citas en texto denotan los números de cita agregados al mensaje del agente en el formato [#], cada uno correspondiente a una referencia. Una cita se puede insertar en cualquier parte del texto.
- Los detalles de la referencia de cita incluyen el título, el icono, las palabras clave, el resumen, el hipervínculo, la información de confidencialidad y un botón para abrir una ventana modal con contenido adicional. Las referencias aparecen como ventanas emergentes para cada cita en texto.
- Las etiquetas de confidencialidad de las citas indican la confidencialidad del contenido de cita al que se hace referencia y no se agregan automáticamente. Para agregar etiquetas de confidencialidad para citas, consulte Agregar etiqueta de confidencialidad.
- La ventana modal con contenido adicional representa una tarjeta adaptable sin ningún elemento interactivo.
Nota:
- Un máximo de 20 citas se muestran en un mensaje.
- Las citas con tarjetas adaptables están disponibles en versión preliminar para desarrolladores públicos.
- Las tarjetas adaptables no se representan en la ventana emergente de citas. Sin embargo, las tarjetas adaptables se pueden representar en el mensaje del agente o en la ventana modal de la cita accesible desde la ventana emergente.
Agregar citas
Si usa el SDK de Teams para compilar el agente, use addCitation() para incluir referencias en texto y metadatos de cita en el mensaje. A continuación se muestra un fragmento de código de ejemplo:
app.message(/citation/i, async ({ send }) => {
const card = new AdaptiveCard(new TextBlock("Adaptive Card text"))
.withOptions({ version: "1.6" });
const appearance: CitationAppearance = {
name: "AI messages agent",
url: "https://example.com/claim-1",
abstract: "Excerpt description",
text: JSON.stringify(card),
keywords: ["keyword 1", "keyword 2", "keyword 3"],
icon: "Microsoft Word",
};
await send(
new MessageActivity("Hey I'm a friendly AI agent. This message is generated through AI [1]")
.addCitation(1, appearance)
);
});
| Propiedad | Tipo | Obligatorio | Descripción |
|---|---|---|---|
citation |
Object | ✔️ | Detalles de la cita. |
citation.@type |
Cadena | ✔️ | Objeto de la cita. Valor permitido: Claim |
citation.position |
Entero | ✔️ | Muestra el número de cita. Este valor debe ser único para cada cita. |
citation.appearance |
Objeto | ✔️ | Información sobre la apariencia de la cita. |
citation.appearance.@type |
Cadena | ✔️ | Objeto de la apariencia de la cita. Valor permitido: DigitalDocument |
citation.appearance.name |
Cadena | ✔️ | Título del contenido al que se hace referencia. Caracteres máximos: 80 |
citation.appearance.url |
Cadena | Dirección URL del contenido al que se hace referencia. | |
citation.appearance.abstract |
Cadena | Resumen del contenido al que se hace referencia. Caracteres máximos: 160 | |
citation.appearance.text |
Cadena | Tarjeta adaptable con cadena con información adicional sobre la cita. Se representa dentro de la ventana modal accesible desde la ventana emergente. | |
citation.appearance.keywords |
Matriz | Palabras clave del contenido al que se hace referencia. No puede agregar más de tres palabras clave. Cada palabra clave solo puede contener 28 caracteres. | |
citation.appearance.encodingFormat |
Cadena | Formato de codificación del citation.appearance.text campo.Valor permitido: application/vnd.microsoft.card.adaptive |
|
citation.appearance.image |
Objeto | Información sobre el icono de la cita. | |
citation.appearance.image.@type |
Cadena | ✔️ | Objeto del icono de cita. Debe ser ImageObject. |
citation.appearance.image.name |
Cadena | ✔️ | Nombre del icono predefinido. Representa el icono de cita en los detalles de la referencia de cita. Valores permitidos: Microsoft Word, Microsoft Excel, Microsoft PowerPoint, Microsoft OneNote, Microsoft SharePoint, Microsoft Visio, Microsoft WhiteboardMicrosoft Loop, , Source Code, , Sketch, Adobe Illustrator, Adobe Photoshop, Adobe InDesign, Adobe Flash, Image, GIF, Video, Sound, ZIP, , TextPDF |
Después de habilitar las citas, el mensaje del agente incluye citas y referencias en texto. Las citas en texto muestran los detalles de referencia cuando los usuarios mantienen el puntero sobre la cita.
Control de errores
| Código de error | Descripción |
|---|---|
| 400 | Se han encontrado varias entidades de mensaje raíz en la entities matriz. |
| 400 | Error al analizar la entidad de mensaje de la entities matriz. |
| 400 | Mensaje del agente con más de 20 citas. |
| 400 | El appearance objeto está vacío. |
| 400 | Error al analizar la entidad de cita con el identificador: X. |
Botones de comentarios
Los botones de comentarios en los mensajes del agente son esenciales para realizar un seguimiento de la interacción del usuario, identificar errores y obtener información sobre el rendimiento del agente. Estas conclusiones permiten mejoras dirigidas de las funcionalidades conversacionales del agente. Habilite los botones de comentarios para permitir que a los usuarios les gusten o no les gusten los mensajes y proporcionen comentarios detallados.
Cuando el usuario selecciona un botón de comentarios, aparece un formulario de comentarios en función de la selección del usuario. Puedes usar el formulario de comentarios predeterminado o personalizarlo para satisfacer las necesidades de la aplicación.
Los botones de comentarios se encuentran en el pie de página del mensaje del agente e incluyen un 👍 botón (pulgar hacia arriba) y un 👎 botón (pulgar hacia abajo) que el usuario selecciona.
Agregar botones de comentarios
Para habilitar los botones de comentarios en un agente creado mediante el SDK de Teams, use el addFeedback() método en la actividad del mensaje.
app.message(/feedback/i, async ({ send }) => {
await send(new MessageActivity("This is an example of a feedback button - this helps to provide feedback for a message").addFeedback());
});
| Propiedad | Tipo | Obligatorio | Descripción |
|---|---|---|---|
feedbackLoop |
Object | ✔️ | Habilita los botones de comentarios en el mensaje del agente. |
feedbackLoop.type |
Cadena | ✔️ | Define el tipo de formulario de comentarios que aparece cuando un usuario selecciona los botones de comentarios. Valores permitidos: custom, default |
Si establece en feedbackLoop.typedefault, el formulario de comentarios predeterminado aparece cuando un usuario selecciona los botones de comentarios. Si desea mostrar un formulario de comentarios personalizado, establezca en feedbackLoop.typecustom. La siguiente solicitud de invocación se envía al agente para recuperar un formulario personalizado que se mostrará al usuario:
{
"type": "invoke",
"name": "message/fetchTask",
"value": {
"actionName": "feedback",
"actionValue": {
"reaction": "like" // like or dislike
}
}
}
Debe responder a esta llamada de invocación con un cuadro de diálogo (denominados módulos de tareas en TeamsJS v1.x), de la misma manera que respondería a una task/fetch invocación. Para obtener más información sobre la invocación de diálogos en agentes, consulte Uso de diálogos con bots.
Control de comentarios
El agente recibe la entrada del usuario del formulario de comentarios a través de un flujo de invocación del agente. En el caso de los agentes creados con el SDK de Teams, la solicitud de invocación de agente se controla automáticamente. Controle los comentarios de los usuarios mediante el message.submit.feedback evento .
app.on("message.submit.feedback", async (context) => {
// custom logic here...
});
Nota:
Teams no almacena ni procesa comentarios. No proporciona una API ni un mecanismo de almacenamiento.
Si un usuario desinstala el agente y sigue teniendo acceso al chat del agente, Teams quita los botones de comentarios de los mensajes del agente para evitar que el usuario proporcione comentarios al agente.
Control de errores
| Código de error | Descripción |
|---|---|
| 400 |
message.submit.feedback event app.message(/label/i, async ({ send }) => { la respuesta no está vacía. |
Etiqueta de confidencialidad
Las respuestas del agente pueden contener información confidencial o ser accesibles solo para determinadas personas dentro de la organización. Agregue una etiqueta de confidencialidad para ayudar a los usuarios a identificar la confidencialidad de un mensaje, lo que les permite tener precaución al compartirlo.
Nota:
Agregue una etiqueta de confidencialidad a los mensajes del agente solo cuando contengan información confidencial.
Agregar etiqueta de confidencialidad
En el caso de los agentes creados con el SDK de Teams, agregue una etiqueta de confidencialidad al mensaje del agente modificando el mensaje para incluirlo usageInfo en el entities objeto .
El siguiente fragmento de código muestra cómo agregar etiquetas de confidencialidad a los mensajes del agente y a la referencia de cita:
await context.sendActivity({
type: ActivityTypes.Message,
text: `Hey, I'm a friendly AI agent. This message is generated through AI [1]`,
entities: [
{
type: "https://schema.org/Message",
"@type": "Message",
"@context": "https://schema.org",
usageInfo: {
"@type": "CreativeWork",
name: "Sensitivity title",
description: "Sensitivity description",
},
},
],
});
| Propiedad | Tipo | Obligatorio | Descripción |
|---|---|---|---|
usageInfo.@type |
Cadena | ✔️ | Habilita la etiqueta de confidencialidad en el mensaje del agente. |
citation.usageInfo.@id |
Cadena | ✔️ | Habilita la etiqueta de confidencialidad en la referencia de cita. Es necesario al agregar la etiqueta de confidencialidad a la referencia de cita. |
usageInfo.name |
Cadena | ✔️ | Especifica el título de la etiqueta de confidencialidad. |
usageInfo.description |
Cadena | Especifica el mensaje de ventana emergente que aparece cuando un usuario mantiene el puntero sobre la etiqueta de confidencialidad. |
Después de agregar la etiqueta de confidencialidad, el mensaje del agente muestra un icono de escudo. Los usuarios pueden mantener el puntero sobre el icono para ver una declinación de responsabilidades sobre la confidencialidad del mensaje.
Control de errores
| Código de error | Descripción |
|---|---|
| 400 | Se han encontrado varias entidades de mensaje raíz en la entities matriz. |
| 400 | Error al analizar la entidad de mensaje de la entities matriz. |
| 400 | El valor de nivel usageInfo.@id de cita no coincide con el nivel usageInfo.@id de mensaje en al menos una instancia. |
| 400 | Hay varias propiedades de nivel usageInfo de cita con el mismo @id, pero sus name propiedades y description son diferentes. |
Ejemplo de código
| Nombre de ejemplo | Descripción | Node.js | .NET | Python |
|---|---|---|---|---|
| Agente de conversación de Teams | Esta aplicación de ejemplo muestra la etiqueta de IA, la cita, los botones de comentarios y la etiqueta de confidencialidad en los mensajes. | View | View | Ver |