En este documento, se describe cómo probar QueryData y actualizar el archivo de conjunto de contexto. Puedes probar la capacidad de QueryData para generar consultas en SQL a partir de preguntas en lenguaje natural. Si una consulta generada no es precisa, puedes actualizar el archivo de conjunto de contexto.
Para obtener más información sobre los conjuntos de contexto, consulta Descripción general de los conjuntos de contexto.Antes de comenzar
Asegúrate de que ya se haya creado un conjunto de información contextual y de que el archivo del conjunto de información contextual se haya subido al agente de QueryData. Para obtener más información, consulta Administra conjuntos de contexto en Bigtable Studio.
Para descargar, actualizar y subir archivos de conjuntos de contexto, asegúrate de que el usuario de IAM tenga el rol de editor de Dataplex Catalog (roles/dataplex.catalogEditor) o de administrador de Dataplex Catalog (roles/dataplex.catalogAdmin) en el proyecto. Para obtener más información, consulta El contexto establece permisos.
Prueba QueryData
Para probar un QueryData, sigue estos pasos:
En la consola de Google Cloud , ve a la página de Bigtable.
Elige una instancia de la lista.
En el menú de navegación, haz clic en Bigtable Studio.
En el panel Explorador, haz clic en Ver acciones junto al conjunto de contexto que estás usando.
Haz clic en Probar conjunto de contextos.
En el editor de consultas, haz clic en Generar SQL con QueryData con: CONTEXT_SET_NAME para abrir el panel Ayúdame a programar.
Ingresa una pregunta en lenguaje natural en el editor para generar una consulta en SQL y haz clic en Generar.
Revisa la consulta en SQL para verificar su exactitud. Haz clic en Insertar para agregar la consulta al editor.
Descargar y actualizar un conjunto de contextos
Si no estás conforme con la consulta en SQL generada para una pregunta en lenguaje natural, descarga el archivo de conjunto de contexto existente. Luego, puedes revisar y actualizar la plantilla de consulta, y volver a subir el archivo de contexto actualizado al agente.
Para descargar y actualizar un conjunto de contextos, sigue estos pasos:
- En el panel Explorador, haz clic en Ver acciones junto al conjunto de contexto que estás usando.
- Haz clic en Descargar archivo de contexto.
- Sigue los pasos que se indican en Crea conjuntos de información contextual con el agente de ingeniería de contexto para actualizar el contexto con pares de consultas adicionales.
- En el panel Explorador, haz clic en Ver acciones junto al conjunto de contexto que estás usando.
- Haz clic en Editar conjunto de contextos.
- Haz clic en Explorar en la sección Subir archivo de contexto y selecciona el archivo de conjunto de contexto actualizado.
- Haz clic en Guardar para actualizar el conjunto de contextos.
Una vez que estés conforme con la exactitud de las respuestas, puedes usar el extremo QueryData para conectar tu aplicación al conjunto de contexto.
Cómo encontrar el ID del conjunto de información contextual
Para conectar una aplicación de datos al agente de QueryData, necesitas el ID del conjunto de información contextual.
En la consola de Google Cloud , ve a la página de Bigtable.
Elige una instancia de la lista.
En el menú de navegación, haz clic en Bigtable Studio.
En el panel Explorador, haz clic en Ver acciones junto al conjunto de contexto que estás usando.
Haz clic en Editar conjunto de contextos.
Toma nota del ID de contexto en ID del conjunto de contextos. El formato del ID del conjunto de información contextual es similar a
projects/PROJECT_ID/locations/LOCATION/contextSetGroups/GROUP_ID/contextSets/CONTEXT_SET_ID@v1.
Conecta QueryData a la aplicación
Establece el ID del conjunto de contexto en la llamada de método QueryData para proporcionar contexto creado para fuentes de datos de bases de datos, como AlloyDB, Spanner, Cloud SQL, Cloud SQL para PostgreSQL, Firestore y Bigtable. Para obtener más información, consulta
Define el contexto del agente de datos para las fuentes de datos de la base de datos.
Después de probar el conjunto de contexto, puedes hacer referencia a la fuente de datos de la base de datos en tu llamada a QueryData.
Ejemplo de solicitud QueryData con contexto creado
En el siguiente ejemplo, se muestra una solicitud QueryData con la fuente de datos de la base de datos de bigtable_reference. El campo agent_context_reference.context_set_id se usa para vincular al conjunto de contextos que
contiene el contexto que creaste.
POST https://geminidataanalytics.googleapis.com/v1beta/projects/context-set-project/locations/us-central1:queryData
{ "parent": "projects/context-set-project/locations/us-central1", "prompt": "List the names and ratings of all hotels located in London.", "context": { "datasource_references": { "bigtable_reference": { "database_reference": { "project_id": "context-set-project", "instance_id": "evalbench" }, "agent_context_reference": { "context_set_id": "projects/context-set-project/locations/us-central1/contextSets/hotels_bigtable_all_templates" } } } }, "generation_options": { "generate_query_result": true, "generate_natural_language_answer": true, "generate_disambiguation_question": true, "generate_explanation": true } }
El cuerpo de la solicitud contiene los siguientes campos:
prompt: Es la pregunta en lenguaje natural del usuario final.context: Contiene información sobre las fuentes de datos.datasource_references: Especifica el tipo de fuente de datos.bigtable_referenceEs obligatorio cuando se consulta la base de datos. Este campo cambia según la base de datos que consultes.database_reference: Especifica información relacionada con tu instancia de Bigtable.project_id: Es el ID del proyecto al que pertenece la instancia de Bigtable.instance_id: Es el ID de la instancia de Bigtable.table_ids: Opcional Son los IDs de tabla a los que se debe limitar el agente. Si no se establece, se incluyen todas las tablas de la instancia.
agent_context_reference: Vínculos al contexto creado.context_set_id: Es el ID completo del conjunto de contextos que contiene el contexto que creaste. Por ejemplo,projects/PROJECT_ID/locations/LOCATION/contextSetGroups/GROUP_ID/contextSets/CONTEXT_SET_ID@v1
generation_options: Configura el tipo de resultado que se generará.generate_query_result: Se establece como verdadero para generar y mostrar los resultados de la consulta.generate_natural_language_answer: Opcional Si se establece como verdadero, genera una respuesta en lenguaje natural.generate_explanation: Opcional Si se establece como verdadero, genera una explicación de la consulta en SQL.generate_disambiguation_question: Opcional Si se establece como verdadero, genera preguntas de desambiguación si la consulta es ambigua.
Respuesta de ejemplo de QueryData
Este es un ejemplo de una respuesta correcta de una llamada QueryData:
{
"generatedQuery": "SELECT COUNT(*) FROM `hotels` WHERE CAST(cf['location'] AS STRING) = 'London'",
"intentExplanation": "count of hotels in London",
"queryResult": {
"columns": [
{
"name": "$col1",
"type": "int64_type:{}"
}
],
"rows": [
{
"values": [
{
"value": "2"
}
]
}
],
"totalRowCount": "1"
},
"naturalLanguageAnswer": "Based on the data, there are 2 hotels located in London."
}
¿Qué sigue?
- Obtén más información sobre los conjuntos de contexto.
- Obtén más información para crear conjuntos de información contextual con el agente de ingeniería de contexto.
- Obtén información para administrar conjuntos de contexto en Bigtable Studio.