FAQ Assist sugiere respuestas relevantes de las preguntas frecuentes a los agentes humanos durante una conversación con un usuario final. Esta función se puede usar para ayudar a un agente humano a responder preguntas comunes de los usuarios finales mientras el agente humano y el usuario final están en una conversación.
Agent Assist sigue la conversación y analiza los documentos de preguntas frecuentes almacenados en las bases de conocimiento para sugerir respuestas a las preguntas de los usuarios finales. Un agente humano puede examinar estas sugerencias mientras avanza la conversación y tomar una decisión sobre qué sugerencias compartir con el usuario final.
En este documento, se explica el proceso para usar la API y, así, implementar la función de Asistencia para preguntas frecuentes y obtener sugerencias de esta función durante el tiempo de ejecución. Tienes la opción de usar la consola de Agent Assist para probar los resultados de la Sugerencia de artículos durante el tiempo de diseño, pero debes llamar a la API directamente durante el tiempo de ejecución. Consulta la sección de instructivos para obtener detalles sobre cómo probar el rendimiento de las funciones con la consola de Agent Assist.
Antes de comenzar
Antes de comenzar con esta guía, completa los siguientes pasos:
- Habilita la API de Dialogflow para tu proyectoGoogle Cloud .
Cómo configurar un perfil de conversación
Para obtener sugerencias de Agent Assist, debes crear una base de conocimiento que contenga los documentos que subiste y configurar un perfil de conversación. También puedes realizar estas acciones con la consola de Agent Assist si prefieres no llamar a la API directamente.
Crear una base de conocimiento
Antes de comenzar a subir documentos, primero debes crear una base de conocimiento en la que colocarlos. Para crear una base de conocimiento, llama al método create
en el tipo KnowledgeBase
.
REST
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.
- KNOWLEDGE_BASE_DISPLAY_NAME: Es el nombre de la base de conocimiento deseada.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases
Cuerpo JSON de la solicitud:
{ "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
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/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA", "displayName": "KNOWLEDGE_BASE_DISPLAY_NAME" }
El segmento de ruta después de knowledgeBases
contiene el nuevo ID de tu base de conocimiento.
Python
Para autenticarte en Agent Assist, 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 documento de conocimiento
Ahora puedes agregar documentos a la base de conocimiento. Para crear un documento en la base de conocimiento, llama al método create
en el tipo Document
.
Establece KnowledgeType
en FAQ
. En este ejemplo, se usa el documento de Preguntas frecuentes de Cloud Storage que se subió a un bucket de Cloud Storage compartido públicamente. Cuando configures la Sugerencia de artículos en tu propio sistema, los documentos deben tener uno de los siguientes formatos. Consulta la documentación sobre documentos de conocimiento para obtener más información sobre las prácticas recomendadas para los documentos.
El documento de Preguntas frecuentes puede estar en uno de los siguientes tres formatos:
- Es una URL pública.
- Es una ruta de Cloud Storage a un archivo
csv
. - Un archivo
csv
(que incluirás en la solicitud de API)
Si tu documento está en formato csv
, debe contener dos columnas: las preguntas de las preguntas frecuentes deben aparecer en la primera columna y las respuestas a cada pregunta, en la segunda. Cada pregunta de las Preguntas frecuentes y su respuesta asociada se denomina par de preguntas frecuentes. Asegúrate de que el archivo csv
no contenga una fila de encabezado. Si tu documento es una URL pública, debe ser una página de preguntas frecuentes que incluya varios pares de preguntas frecuentes.
Consulta la documentación de documentos de conocimiento para obtener información sobre las prácticas recomendadas.
REST
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.
- KNOWLEDGE_BASE_ID: Es el ID de tu base de conocimiento que se muestra en la solicitud anterior.
- DOCUMENT_DISPLAY_NAME: Es el nombre del documento de conocimiento deseado.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents
Cuerpo JSON de la solicitud:
{ "displayName": "DOCUMENT_DISPLAY_NAME", "mimeType": "text/html", "knowledgeTypes": "FAQ", "contentUri": "https://cloud.google.com/storage/docs/faq" }
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/operations/ks-add_document-MzA5NTY2MTc5Mzg2Mzc5NDY4OA" }
La respuesta es una operación de larga duración que puedes sondear para comprobar si se completó.
Python
Para autenticarte en Agent Assist, 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 perfil de conversación
Un perfil de conversación configura un conjunto de parámetros que controlan las sugerencias que se le hacen a un agente durante una conversación. 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 si prefieres no llamar a la API directamente.
Las sugerencias intercaladas están habilitadas de forma predeterminada. De manera opcional, puedes habilitar las notificaciones de Cloud Pub/Sub cuando configures el perfil de conversación.
REST
Para crear un perfil de conversación, llama al métodocreate
en el recurso ConversationProfile
.
noSmallTalk
: Si es true
, no se activarán sugerencias después de mensajes de charla informal (como "hola", "¿cómo estás?", etcétera). Si es false
, las sugerencias se activarán después de los mensajes de charla informal.
onlyEndUser
: Si es true
, las sugerencias se activarán solo después de los mensajes del usuario final. Si es false
, las sugerencias se activarán después de los mensajes del usuario final y del agente humano.
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.
- KNOWLEDGE_BASE_ID: Es el ID de la base de conocimiento.
Método HTTP y URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversationProfiles
Cuerpo JSON de la solicitud:
{ "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [ { "suggestionFeature": { "type": "FAQ" }, "queryConfig": { "knowledgeBaseQuerySource": { "knowledgeBases": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID"] } }, "enableEventBasedSuggestion": false, "enableInlineSuggestion": true, "SuggestionTriggerSettings": { "noSmallTalk": true, "onlyEndUser": true, } } ] } } }
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/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { ... } }
El segmento de ruta después de conversationProfiles
contiene el nuevo ID de tu perfil de conversación.
Python
Para autenticarte en Agent Assist, 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.
(Opcional) Establece la configuración de seguridad
Tienes la opción de establecer parámetros de seguridad para abordar problemas como el ocultamiento y la retención de datos. Para ello, debes crear un recurso SecuritySettings
y, luego, vincularlo a un perfil de conversación con el campo securitySettings
.
Los parámetros de configuración de seguridad agregados a un perfil de conversación afectan el comportamiento de los mensajes de texto de Agent Assist únicamente. El comportamiento del historial de interacciones de Dialogflow se controla con la configuración de seguridad de Dialogflow, que puedes establecer con la consola de Dialogflow CX.
Cómo controlar conversaciones en el tiempo de ejecución
Cómo crear una conversación
Cuando comienza un diálogo entre un usuario final y un agente humano o virtual, creas una conversación. Para ver sugerencias, también debes crear un participante usuario final y un participante agente humano, y agregarlos a la conversación. En las siguientes secciones, se te guiará a través de este proceso.
Primero, debes crear una conversación:
REST
Para crear una conversación, llama al métodocreate
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 autenticarte en Agent Assist, 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 usuario final
Debes agregar a la conversación tanto a los participantes del usuario final como a los del agente humano para ver las sugerencias. Primero, agrega el participante del usuario final a la conversación:
REST
Para crear un participante usuario final, 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 del participante del usuario final.
Python
Para autenticarte en Agent Assist, 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 de agente humano
Agrega un participante agente humano a la conversación:
REST
Para crear un participante agente humano, 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 ID del nuevo participante del agente humano.
Python
Para autenticarte en Agent Assist, 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.
Agregar y analizar un mensaje del agente humano
Cada vez que uno de los participantes escribe un mensaje en la conversación, debes enviarlo a la API para que lo procese. Agent Assist basa sus sugerencias en el análisis de los mensajes de los agentes humanos y los usuarios finales. En el siguiente ejemplo, el agente humano inicia la conversación con la pregunta "¿En qué puedo ayudarte?". Aún no se devolvieron sugerencias en la respuesta.
REST
Para agregar y analizar un mensaje de agente humano para 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: Es el ID del proyecto de GCP.
- 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" }, "humanAgentSuggestionResults": [ { "suggestArticlesResponse": { "latestMessage": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "contextSize": 1 } } ] } } ] }
Python
Para autenticarte en Agent Assist, 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 final y obtén sugerencias
En respuesta al agente, el usuario final pregunta: “¿Cómo me registro?”. La respuesta contiene una lista de respuestas sugeridas a la pregunta del usuario final, así como una puntuación de confianza para cada una. Todas las respuestas se extrajeron del único documento de conocimiento de preguntas frecuentes que agregamos anteriormente en este instructivo. El umbral de confianza se refiere al nivel de confianza del modelo de que cada sugerencia de preguntas frecuentes sea pertinente para la solicitud del agente. Un valor de confianza más alto aumenta la probabilidad de que se devuelvan respuestas pertinentes, pero puede generar menos respuestas o ninguna si ninguna opción disponible cumple con el valor de umbral alto. Recomendamos un valor inicial de la puntuación de confianza de 0.4. Puedes ajustar este valor más adelante para mejorar tus resultados si es necesario.
La respuesta también incluye el source
de la respuesta, el documento de conocimiento del que proviene la respuesta. Debes proporcionar las respuestas sugeridas a tu agente humano, quien puede optar por brindar esta información al usuario final.
REST
Para agregar y analizar un mensaje del usuario final para 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: Es el ID del proyecto de GCP.
- 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": "How do I sign up?", "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/fiiJBeHnQIa6Zx_DUKNlEg/messages/Rjv8ErKYS_yIqVR9SW4CpA", "content": "How may I help you?", "languageCode": "en-US", "participant": "PaZQyeiTQgCOyliHkZjs0Q", "participantRole": "HUMAN_AGENT", "createTime": "1970-01-01T00:00:00Z" }, "humanAgentSuggestionResults": [ { "suggestFaqAnswersResponse": { "faqAnswers": [ { "answer": "Sign up for Cloud Storage by turning on the Cloud Storage service in the Google Cloud Platform Console.", "confidence": 0.07266401, "question": "How do I sign up?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MTU0MzE0NDQwOTAwNzEyODU3NjA" }, { "answer": "Consider storing your data in a multi-regional or dual-regional bucket location if high availability is a top requirement. This ensures that your data is stored in at least two geographically separated regions, providing continued availability even in the rare event of a region-wide outage, including ones caused by natural disasters. All data, regardless of storage class, is stored redundantly across regions in these types of locations, which allows you to use storage lifecycle management without giving up high availability.", "confidence": 0.06937904, "question": "How can I maximize the availability of my data?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MzkwMjIyOTA0NDAwMjgxNjAwMA" }, { "answer": "From the Cloud Storage documentation click \"Send feedback\" near the top right of the page. This will open a feedback form. Your comments will be reviewed by the Cloud Storage team.", "confidence": 0.069021806, "question": "How do I give product feedback?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MTMxMjU2MDEwODA4NTc1OTE4MDg" }, { "answer": "Read the Pricing page for detailed information on pricing, including how Cloud Storage calculates bandwidth and storage usage.", "confidence": 0.06681696, "question": "Where can I find pricing information?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/ODUxMzkxNTA2MjQzMDIwMzkwNA" }, { "answer": "Use Object Versioning. The Object Versioning feature keeps an archived version of an object whenever you overwrite or delete the live version. If you accidentally delete an object, you can copy an archived version of it back to the live version. It's recommended that you use Object Versioning in conjunction with Object Lifecycle Management. Doing so ensures that you don't have multiple, unnecessary copies of an object, which are each subject to storage costs. Caution: Object Versioning does not protect your data if you delete the entire bucket. As an alternative, use object holds. When you place an object hold on an object, it cannot be deleted or overwritten.", "confidence": 0.06453417, "question": "How do I protect myself from accidental data deletion?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MTc3MzcyODcwOTkyODQ5Nzk3MTI" }, { "answer": "You can share an individual object with a user or group by adding an entry to that object's access control list (ACL) that grants the user or group READ permission. For step-by-step instructions, see Changing ACLs.", "confidence": 0.06336816, "question": "I want to let someone download an individual object. How do I do that?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MTAxOTkyNTI4MjQ4NTY5ODU2MA" }, { "answer": "You can simply install and use the Google Cloud CLI to download the data, even without a Google account. You do not need to activate Cloud Storage or turn on billing for this purpose. You also do not need to create credentials or authenticate to Cloud Storage.", "confidence": 0.061990723, "question": "I am just trying to download or access some data that is available to the public. How can I do that?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MTAyNDMyOTczMTkzNDA0NzQzNjg" }, { "answer": "Certain types of content are not allowed on this service; please refer to the Terms of Services and Platform Policies for details. If you believe a piece of content is in violation of our policies, report it here (select See more products, then Google Cloud Storage & Cloud Bigtable).", "confidence": 0.060459033, "question": "I believe some content hosted on your service is inappropriate, how do I report it?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/NTYzMTYxMTMwMDkxMzA4NjQ2NA" }, { "answer": "For most common Cloud Storage operations, you only need to specify the relevant bucket's name, not the project associated with the bucket. In general, you only need to specify a project identifier when creating a bucket or listing buckets in a project. For more information, see When to specify a project. To find which project contains a specific bucket: If you are searching over a moderate number of projects and buckets, use the Google Cloud Platform Console, select each project, and view the buckets it contains. Otherwise, go to the storage.bucket.get page in the API Explorer and enter the bucket's name in the bucket field. When you click Authorize and Execute, the associated project number appears as part of the response. To get the project name, use the project number in the following terminal command: gcloud projects list | grep [PROJECT_NUMBER]", "confidence": 0.05914715, "question": "I created a bucket, but don't remember which project I created it in. How can I find it?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MTQ4NTQ5ODMzMzc3Njc4NjIyNzI" }, { "answer": "Cloud Storage is designed for 99.999999999% (11 9's) annual durability, which is appropriate for even primary storage and business-critical applications. This high durability level is achieved through erasure coding that stores data pieces redundantly across multiple devices located in multiple availability zones. Objects written to Cloud Storage must be redundantly stored in at least two different availability zones before the write is acknowledged as successful. Checksums are stored and regularly revalidated to proactively verify that the data integrity of all data at rest as well as to detect corruption of data in transit. If required, corrections are automatically made using redundant data. Customers can optionally enable object versioning to add protection against accidental deletion.", "confidence": 0.05035359, "question": "How durable is my data in Cloud Storage?", "source": "projects/PROJECT_ID/knowledgeBases/NjQ2MzI1MDQwNTQ2MjYzODU5Mg/documents/NTMxOTA4MTAxMzQxMjg4ODU3Ng", "metadata": { "document_display_name": "my-document-display-name" }, "answerRecord": "projects/PROJECT_ID/answerRecords/MzMyNTc2ODI5MTY5OTM5MjUxMg" } ], "latestMessage": "projects/PROJECT_ID/conversations/fiiJBeHnQIa6Zx_DUKNlEg/messages/Rjv8ErKYS_yIqVR9SW4CpA", "contextSize": 1 } } ] }
Python
Para autenticarte en Agent Assist, 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étodocomplete
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 autenticarte en Agent Assist, 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.
Opciones de solicitud a la API
En las secciones anteriores, se muestra cómo crear un ConversationProfile
para recibir sugerencias. En las siguientes secciones, se describen algunas funcionalidades opcionales que puedes implementar durante una conversación.
Notificaciones de sugerencias de Pub/Sub
En las secciones anteriores, se creó el objeto ConversationProfile solo con un asistente de agente humano. Durante la conversación, debiste llamar a la API para recibir sugerencias después de que se agregaba cada mensaje a la conversación. Si prefieres recibir eventos de notificación para las sugerencias, puedes configurar el campo notificationConfig
cuando crees el perfil de conversación. Esta opción usa Cloud Pub/Sub para enviar notificaciones de sugerencias a tu aplicación a medida que avanza la conversación y hay nuevas sugerencias disponibles.