El asistente de conocimiento generativo proporciona respuestas a las preguntas de tu agente en función de la información de los documentos que proporcionas. Puedes especificar tu nombre de dominio o subir documentos para que los indexe un agente de almacén de datos. El asistente de conocimiento generativo sintetiza esa información con la conversación en curso y los metadatos del cliente disponibles para brindarle a tu agente una respuesta más pertinente y oportuna.
Knowledge Assist proactivo y generativo sigue la conversación en curso entre tu agente y el cliente. Proporciona de forma proactiva sugerencias de búsqueda basadas en el contexto de la conversación actual y la respuesta.
Crea un agente de almacén de datos
A menos que seas el propietario del proyecto, necesitas estos roles para crear un agente de almacén de datos:
- Administrador de la API de Dialogflow
- Administrador de Discovery Engine
Activa la API de AI Applications en la consola de Vertex AI.
Para crear el agente, sigue los pasos que se indican en Agentes de almacén de datos.
Responde las preguntas de tus agentes humanos
El agente del almacén de datos puede responder las preguntas de tus agentes humanos en función de los documentos que proporcionaste.
Paso 1: Crea un perfil de conversación
Crea un perfil de conversación con la consola de Agent Assist o la API.
Crear desde la consola
- Debes habilitar el tipo de sugerencia de asistencia de conocimiento generativo y vincularlo al agente del almacén de datos del paso anterior.
- Opcional: Usa la casilla de verificación Inhabilitar el registro de consultas de búsqueda del agente para indicar si deseas que Google recopile y almacene consultas de búsqueda ocultas para mejorar la calidad.
- Puedes usar la casilla de verificación Habilitar la búsqueda aumentada por conversación para indicar si deseas tener en cuenta el contexto de la conversación entre el agente humano y el usuario cuando se genere la respuesta para la búsqueda.
Crear desde la API
En los siguientes pasos, se ilustra cómo crear un objeto ConversationProfile con un objeto HumanAgentAssistantConfig. También puedes realizar estas acciones con la consola de Agent Assist.
Para crear un perfil de conversación, llama al método create en el recurso ConversationProfile.
Antes de usar cualquiera de los datos de solicitud, realiza los siguientes reemplazos:- PROJECT_ID: El ID de tu proyecto
- LOCATION_ID: Es el ID de tu ubicación.
- AGENT_ID: Es el ID del agente del almacén de datos del paso anterior.
{ "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [ { "suggestionFeature": { "type": "KNOWLEDGE_SEARCH" }, "queryConfig": { "dialogflowQuerySource": { "humanAgentSideConfig": { "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID" } } }, "disableAgentQueryLogging": false, "enableConversationAugmentedQuery": false, } ] } } }
Cuando creas un perfil de conversación en la consola de Agent Assist, Agent Assist habilita automáticamente tanto el Knowledge Assist generativo como el Knowledge Assist generativo proactivo. Para inhabilitar la asistencia proactiva basada en conocimiento generativo, debes crear tu perfil de conversación con la API.
Paso 2: Usa un agente de almacén de datos
De manera opcional, usa la API de SearchKnowledge
para obtener las respuestas del agente de almacén de datos. También puedes usar las siguientes configuraciones como parte de tu solicitud de SearchKnowledge
:
querySource
: Configura este campo para indicar si un agente escribió la búsqueda o si la asistencia de conocimiento generativo proactivo la sugirió automáticamente.exactSearch
: Configura este campo para indicar si se debe buscar la entrada de búsqueda exacta sin reescribir la búsqueda.endUserMetadata
: Establece este campo para incluir información adicional sobre el usuario final que mejore la respuesta generada. Para obtener más detalles, consulta la página de personalización del rendimiento del agente de almacén de datos.searchConfig
: Establece este campo para tener un control adicional para potenciar y filtrar documentos de conocimiento. Para obtener más detalles, consulta la página de configuración de la búsqueda del rendimiento del agente de Data Store.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID de tu proyecto
- LOCATION_ID: Es el ID de tu ubicación.
- CONVERSATION_PROFILE_ID: Es el ID de tu perfil de conversación del paso anterior.
- SESSION_ID: Es el ID de tu sesión de búsqueda. El historial de búsqueda de la misma sesión puede afectar el resultado de la búsqueda. Puedes usar el siguiente ID de conversación para el ID de sesión.
- CONVERSATION_ID: Es la conversación (entre el agente humano y el usuario final) en la que se activa la solicitud de búsqueda.
- MESSAGE_ID: Es el mensaje de conversación más reciente cuando se activa la solicitud de búsqueda.
Este es un ejemplo de solicitud JSON:
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID" "query": { "text": "What is the return policy?" } "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID" "sessionId": "SESSION_ID "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID" "latestMessage": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID "querySource": AGENT_QUERY "exactSearch": false "searchConfig": { "filterSpecs": { "filter": "category: ANY(\"persona_B\")" } } "endUserMetadata": { "deviceOwned": "Google Pixel 7" } }
De manera opcional, proporciona los nombres de recursos conversation
y latest_message
si la búsqueda del agente se realiza durante una conversación con un usuario. Estos dos campos son obligatorios si habilitas la opción enable_conversation_augmented_query
y prefieres mejorar la experiencia de respuesta a la búsqueda con el contexto conversacional entre tu agente y el usuario.
Simulador
Prueba tu agente de almacén de datos en el simulador de Agent Assist.
En el ejemplo anterior, el agente del almacén de datos responde la consulta del usuario What is the refund
processing time?
con la siguiente información:
- Respuesta generada por IA generativa: Cuando el paquete con tu devolución llegue al centro de devoluciones del vendedor, es posible que se demore hasta 7 días hábiles adicionales en procesarse. Verifica el estado del reembolso con el número de seguimiento de la devolución que se encuentra en la página de pedidos.
- Título del documento de conocimiento pertinente: Devoluciones y reembolsos.
Sugerir preguntas y respuestas de forma proactiva para tus agentes
Knowledge Assist proactivo y generativo sigue una conversación en curso y proporciona de forma proactiva sugerencias de respuestas y búsquedas.
Paso 1: Crea un perfil de conversación
Crea un perfil de conversación con la consola de Agent Assist o la API. Te recomendamos que crees un perfil de conversación con la consola de Agent Assist.
Crear desde la consola
- Habilita el tipo de sugerencia Asistente de conocimiento generativo y vincúlalo al agente del almacén de datos del paso anterior. Esto permite que el agente del almacén de datos proporcione de forma proactiva sugerencias de preguntas y respuestas, y responda las preguntas de búsqueda manuales de tus agentes humanos.
- Opcional: Marca la casilla de verificación Mostrar todas las búsquedas sugeridas para la conversación para que el agente de almacén de datos muestre todas estas búsquedas, incluso cuando no se encuentre una respuesta en tus documentos de conocimiento. Esto está diseñado para probar qué preguntas se pueden extraer de la conversación en curso.
- Opcional: Usa la casilla de verificación Load proactive answers asynchronously para obtener solo sugerencias de búsqueda. Puedes enviar manualmente la búsqueda sugerida a la API de SearchKnowledge y enviarla automáticamente en el simulador de la consola de Agent Assist y en los módulos de la IU.
Crear desde la API
En los siguientes pasos, se crea un objeto ConversationProfile con un objeto HumanAgentAssistantConfig. También puedes realizar estas acciones con la consola de Agent Assist.
Para crear un perfil de conversación, llama al método create en el recurso ConversationProfile.
Antes de usar cualquiera de los datos de solicitud, realiza los siguientes reemplazos:- PROJECT_ID: El ID de tu proyecto
- LOCATION_ID: Es el ID de tu ubicación.
- AGENT_ID: Es el ID del agente del almacén de datos del paso anterior.
{ "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [ { "suggestionFeature": { "type": "KNOWLEDGE_ASSIST" }, "queryConfig": { "dialogflowQuerySource": { "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID" } }, "enableQuerySuggestionWhenNoAnswer": false, } ] } } }
Paso 2: Controla las conversaciones durante el tiempo de ejecución
El asistente de conocimiento generativo proactivo procesa las conversaciones en el tiempo de ejecución para proporcionar de forma proactiva sugerencias de búsquedas basadas en el contexto de la conversación actual y la respuesta.
Cómo crear una conversación
Primero, debes crear una conversación:
REST
Para crear una conversación, llama al método create
en el recurso Conversation
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto de Cloud
- LOCATION_ID: Tu ID de ubicación
- CONVERSATION_PROFILE_ID: Es el ID que recibiste cuando creaste el perfil de conversación.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
Cuerpo JSON de la solicitud:
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z" }
El segmento de ruta después de conversations
contiene el nuevo ID de conversación.
Python
Para obtener más información, consulta la documentación de referencia de la API de AI Applications Python.
Para autenticarte en AI Applications, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Cómo crear un usuario participante
Agrega participantes (usuarios y agentes) a la conversación para ver sugerencias. Primero, agrega al usuario participante a la conversación:
REST
Para crear un participante usuario, llama al método create
en el recurso Participant
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto de Cloud
- LOCATION_ID: Tu ID de ubicación
- CONVERSATION_ID: Tu ID de conversación
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Cuerpo JSON de la solicitud:
{ "role": "END_USER", }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
El segmento de ruta después de participants
contiene el nuevo ID de usuario participante.
Python
Para obtener más información, consulta la documentación de referencia de la API de AI Applications Python.
Para autenticarte en AI Applications, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Crea un participante-agente
Sigue estos pasos para agregar un agente participante a la conversación:
REST
Para crear un participante agente, llama al método create
en el recurso Participant
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID del proyecto de Cloud
- LOCATION_ID: Tu ID de ubicación
- CONVERSATION_ID: Tu ID de conversación
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Cuerpo JSON de la solicitud:
{ "role": "HUMAN_AGENT", }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
El segmento de ruta después de participants
contiene el nuevo ID del participante-agente humano.
Python
Para obtener más información, consulta la documentación de referencia de la API de AI Applications Python.
Para autenticarte en AI Applications, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Agrega y analiza un mensaje del agente
Cada vez que uno de los participantes escribe un mensaje en la conversación, debes enviarlo a la API para que lo procese. El agente del almacén de datos basa sus sugerencias en el análisis de los mensajes de los agentes humanos y los usuarios. En el siguiente ejemplo, el agente humano inicia la conversación preguntando: "¿En qué puedo ayudarte?".
Aún no se devolvieron sugerencias en la respuesta.
REST
Para agregar y analizar un mensaje de agente humano en la conversación, llama al método analyzeContent
en el recurso Participant
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID de tu proyecto
- CONVERSATION_ID: Tu ID de conversación
- PARTICIPANT_ID: Es el ID del participante del agente humano.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Cuerpo JSON de la solicitud:
{ "textInput": { "text": "How may I help you?", "languageCode": "en-US" } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "How may I help you?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "HUMAN_AGENT", "createTime": "2020-02-13T00:01:30.683Z" } }
Python
Para obtener más información, consulta la documentación de referencia de la API de AI Applications Python.
Para autenticarte en AI Applications, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Agrega un mensaje del usuario para obtener sugerencias
En respuesta al agente, el usuario dice: “¿Cuándo puedo obtener el reembolso de mi devolución?”. Esta vez, la respuesta de la API contiene una búsqueda sugerida y la respuesta de la IA generativa basada en los documentos de conocimiento.
REST
Para agregar y analizar un mensaje del usuario en la conversación, llama al método analyzeContent
en el recurso Participant
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El ID de tu proyecto
- CONVERSATION_ID: Tu ID de conversación
- PARTICIPANT_ID: Es el ID del participante usuario final.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Cuerpo JSON de la solicitud:
{ "textInput": { "text": "When can I get my return refund?", "languageCode": "en-US" } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "When can I get my return refund?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "END_USER", "createTime": "2020-02-13T00:07:35.925Z" }, "humanAgentSuggestionResults": [ { "suggestKnowledgeAssistResponse": { "knowledgeAssistAnswer": { "suggestedQuery": { "queryText": "Refund processing time" }, "suggestedQueryAnswer": { "answerText": "After your return is processed, you receive your refund in 7 days. The refund amount should be for the full value of the items returned, but doesn't include shipping & service fees.", "generativeSource": { "snippets": [ { "title": "Returns & refunds - Help", "uri": "https://example.com/", "text": "When the package with your return arrives at the seller's return center, it may take up to 7 additional business days to process. Check the status of your refund with the return tracking number found on your orders page." } ] }, }, "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID" }, } } ] }
Python
Para obtener más información, consulta la documentación de referencia de la API de AI Applications Python.
Para autenticarte en AI Applications, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Completa la conversación
Cuando finalice la conversación, usa la API para completarla.
REST
Para completar la conversación, llama al método complete
en el recurso conversations
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto de GCP.
- CONVERSATION_ID: Es el ID que recibiste cuando creaste la conversación.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID", "lifecycleState": "COMPLETED", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z", "endTime": "2018-11-06T03:50:26.930Z" }
Python
Para obtener más información, consulta la documentación de referencia de la API de AI Applications Python.
Para autenticarte en AI Applications, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Simulador
Puedes probar tu agente de almacén de datos en el simulador de Agent Assist.
En el ejemplo anterior, el agente del almacén de datos proporciona las siguientes sugerencias:
- Consulta sugerida: Tiempo de procesamiento del reembolso.
- Respuesta generada por IA generativa: Después de que se procese tu devolución, recibirás el reembolso en un plazo de 7 días. El importe del reembolso debe corresponder al valor total de los artículos devueltos, pero no incluye los cargos de envío ni de servicio.
- Título del documento de conocimiento pertinente: Devoluciones y reembolsos - Ayuda.
Paso 3: Notificaciones de sugerencias de Pub/Sub
Puedes establecer el campo notificationConfig
cuando crees un perfil de conversación para recibir notificaciones de sugerencias. Esta opción usa Pub/Sub para enviar notificaciones de sugerencias a tu aplicación a medida que avanza la conversación y hay nuevas sugerencias disponibles.
Si realizas la integración a través de la API de AnalyzeContent
, tienes la opción de habilitar la configuración de disable_high_latency_features_sync_delivery
en ConversationProfile
para garantizar que la API de AnalyzeContent
responda sin esperar las sugerencias proactivas de asistencia basadas en conocimiento generativo y que entregue las sugerencias a través de Pub/Sub.
También puedes habilitar esta configuración desde la consola de Agent Assist.
Accede a los datos a través de Estadísticas de conversación
Como alternativa, las preguntas y respuestas generadas por tu asistente de conocimiento generativo proactivo se completan automáticamente en Conversational Insights. Para acceder a estos datos, sigue las instrucciones que se indican en Habilitar la integración del entorno de ejecución de Dialogflow.
Enviar comentarios
Si quieres conocer los pasos para enviar comentarios, consulta Cómo enviar comentarios a Agent Assist.
Responde las preguntas del agente
A continuación, se muestra un ejemplo de solicitud en formato JSON para enviar comentarios sobre las respuestas del agente.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID", "answerFeedback": { "displayed": true "clicked": true "correctnessLevel": "FULLY_CORRECT" "agentAssistantDetailFeedback": { "knowledgeSearchFeedback": { "answerCopied": true "clickedUris": [ "url_1", "url_2", "url_3", ] } } } }
Sugerir preguntas y respuestas de forma proactiva
A continuación, se muestra un ejemplo de solicitud JSON para enviar comentarios sobre las sugerencias proactivas.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID", "answerFeedback": { "displayed": true "clicked": true "correctnessLevel": "FULLY_CORRECT" "agentAssistantDetailFeedback": { "knowledgeAssistFeedback": { "answerCopied": true "clickedUris": [ "url_1", "url_2", "url_3", ] } } } }
Metadatos
Si configuras los metadatos de un documento de conocimiento, tanto Knowledge Assist generativo como Knowledge Assist generativo proactivo devolverán los metadatos del documento junto con la respuesta.
Por ejemplo, puedes usar metadatos para marcar si el documento de conocimiento es un artículo privado interno o un artículo público externo. En el simulador de Asistente de agente y los módulos de la IU, tanto la asistencia de conocimiento generativa como la asistencia de conocimiento generativa proactiva muestran automáticamente un valor de metadatos del documento para ciertas claves.
gka_source_label
: El valor se muestra directamente en la tarjeta de sugerencia.gka_source_tooltip
: Cuando el valor es de tipostruct
, si mantienes el cursor sobre el vínculo de la fuente, se expande y muestra el valor en una sugerencia.
Si tienes los siguientes metadatos para un documento de conocimiento, la tarjeta de sugerencia mostrará la fuente como External Doc
y la información sobre herramientas agregará doc_visibility: public doc
.
Metadatos:
None
{
"title": "Public Sample Doc",
"gka_source_label": "External Doc",
"gka_source_tooltip": {
"doc_visibility": "public doc"
}
}
Idiomas admitidos
Consulta la lista completa de idiomas admitidos.