Genera texto con un modelo abierto de Gemma y la función AI.GENERATE_TEXT
En este instructivo, se muestra cómo crear un
modelo remoto
basado en el
modelo de Gemma,
y, luego, cómo usar ese modelo con la
AI.GENERATE_TEXT función
para extraer palabras clave y realizar análisis de opiniones en reseñas de películas de
la bigquery-public-data.imdb.reviews tabla pública.
Permisos necesarios
Para ejecutar este instructivo, necesitas los siguientes roles de Identity and Access Management (IAM):
- Crear y usar conjuntos de datos, conexiones y modelos de BigQuery: Administrador de BigQuery (
roles/bigquery.admin). - Otorgar permisos a la cuenta de servicio de la conexión: Administrador de IAM del proyecto (
roles/resourcemanager.projectIamAdmin). - Implementar y anular la implementación de modelos en Vertex AI: Administrador de Vertex AI (
roles/aiplatform.admin).
Estos roles predefinidos contienen los permisos necesarios para realizar las tareas de este documento. Para ver los permisos exactos que son necesarios, expande la sección Permisos necesarios:
Permisos necesarios
- Crear un conjunto de datos:
bigquery.datasets.create - Crear, delegar y usar una conexión:
bigquery.connections.* - Establecer la conexión predeterminada:
bigquery.config.* - Configurar permisos de la cuenta de servicio:
resourcemanager.projects.getIamPolicyyresourcemanager.projects.setIamPolicy - Implementar y anular la implementación de un modelo de Vertex AI:
aiplatform.endpoints.deployaiplatform.endpoints.undeploy
- Crear un modelo y ejecutar la inferencia:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Costos
En este documento, usarás los siguientes componentes facturables de Cloud de Confiance by S3NS:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
- Vertex AI: You incur costs for calls to the Vertex AI model that's represented by the remote model.
Para obtener más información sobre los precios de BigQuery, consulta Precios de BigQuery en la documentación de BigQuery.
Los modelos abiertos que implementas en Vertex AI se cobran por hora de máquina. Esto significa que la facturación comienza en cuanto se configura por completo el extremo y continúa hasta que anulas la implementación. Para obtener más información sobre los precios de Vertex AI, consulta la página Precios de Vertex AI.
Antes de comenzar
-
En la Cloud de Confiance consola, en la página del selector de proyectos, selecciona o crea un Cloud de Confiance proyecto.
Roles necesarios para seleccionar o crear un proyecto
- Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crear un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene elresourcemanager.projects.createpermiso. Obtén más información para otorgar roles.
-
Verifica que la facturación esté habilitada para tu Cloud de Confiance proyecto.
-
Habilita las APIs de BigQuery, BigQuery Connection y Vertex AI.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.
Crea un conjunto de datos
Crea un conjunto de datos de BigQuery para almacenar tu modelo de AA.
Console
En la Cloud de Confiance consola de, ve a la página BigQuery.
En el panel Explorador, haz clic en el nombre de tu proyecto.
Haz clic en Ver acciones > Crear conjunto de datos.
En la página Crear conjunto de datos, haz lo siguiente:
En ID del conjunto de datos, ingresa
bqml_tutorial.En Tipo de ubicación, selecciona Multirregión y, luego, selecciona EE.UU..
Deja la configuración predeterminada restante como está y haz clic en Crear conjunto de datos.
bq
Para crear un conjunto de datos nuevo, usa el
bq mk --dataset comando.
Crea un conjunto de datos llamado
bqml_tutorialcon la ubicación de datos establecida enUS.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
Confirma que se haya creado el conjunto de datos:
bq ls
API
Llama al datasets.insert
método con un recurso de conjunto de datos definido.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
Crea el modelo remoto
Crea un modelo remoto que represente un modelo de Vertex AI alojado:
En la Cloud de Confiance consola de, ve a la página BigQuery.
En el editor de consultas, ejecuta la siguiente declaración:
CREATE OR REPLACE MODEL `bqml_tutorial.gemma_model` REMOTE WITH CONNECTION DEFAULT OPTIONS ( MODEL_GARDEN_MODEL_NAME = 'publishers/google/models/gemma3@gemma-3-270m-it', MACHINE_TYPE = 'g2-standard-12' );
La consulta tarda hasta 20 minutos en completarse, después de lo cual el modelo gemma_model aparece en el conjunto de datos bqml_tutorial en el panel Explorador. Debido a que la consulta usa una declaración CREATE MODEL para crear un modelo, no hay resultados de consultas.
Realiza la extracción de palabras clave
Realiza la extracción de palabras clave en reseñas de películas de IMDB con
el modelo remoto y la función AI.GENERATE_TEXT:
En la Cloud de Confiance consola de, ve a la página BigQuery.
En el Editor de consultas, ingresa la siguiente declaración para realizar la extracción de palabras clave en 10 reseñas de películas:
SELECT * FROM AI.GENERATE_TEXT( MODEL `bqml_tutorial.gemma_model`, ( SELECT 'Extract the key words from the movie review below: ' || review AS prompt, * FROM `bigquery-public-data.imdb.reviews` LIMIT 10 ), STRUCT( 0.2 AS temperature, 100 AS max_output_tokens));
El resultado es similar al siguiente, con las columnas no generadas omitidas para mayor claridad:
+----------------------------------------------+-------------------------+-----------------------------+-----+ | result | status | prompt | ... | +----------------------------------------------+-------------------------+-----------------------------+-----+ | Here are some key words from the | | Extract the key words from | | | movie review: * **Romance:** | | the movie review below: | | | "romantic tryst," "elope" * **Comedy:** | | Linda Arvidson (as Jennie) | | | "Contrived Comedy" * **Burglary:** | | and Harry Solter (as Frank) | | | "burglar," "rob," "booty" * **Chase:** | | are enjoying a romantic | | | "chases," "escape" * **Director:** "D.W. | | tryst, when in walks her... | | | Griffith" * **Actors:** "Linda Arvidson,"... | | | | +----------------------------------------------+-------------------------+-----------------------------+-----+ | Here are some key words from the | | Extract the key words from | | | movie review: * **Elderbush Gilch:** The | | the movie review below: | | | name of the movie being reviewed. * | | This is the second addition | | | **Disappointment:** The reviewer's | | to Frank Baum's personally | | | overall feeling about the film. * | | produced trilogy of Oz | | | **Dim-witted:** Describes the story | | films. It's essentially ... | | | line negatively. * **Moronic, sadistic,... | | | | +----------------------------------------------+-------------------------+-----------------------------+-----+Los resultados incluyen las siguientes columnas:
result: es el texto generado.status: el estado de la respuesta de la API para la fila correspondiente. Si la operación se realizó correctamente, este valor estará vacío.prompt: el mensaje que se usa para el análisis de opiniones.- Todas las columnas de la tabla
bigquery-public-data.imdb.reviews.
Realiza análisis de opiniones
Realiza análisis de opiniones en reseñas de películas de IMDB con
el modelo remoto y la función AI.GENERATE_TEXT:
En la Cloud de Confiance consola de, ve a la página BigQuery.
En el Editor de consultas, ejecuta la siguiente declaración para realizar un análisis de opiniones en 10 reseñas de películas:
SELECT * FROM AI.GENERATE_TEXT( MODEL `bqml_tutorial.gemma_model`, ( SELECT 'Analyze the sentiment of the following movie review and classify it as either POSITIVE or NEGATIVE. \nMovie Review: ' || review AS prompt, * FROM `bigquery-public-data.imdb.reviews` LIMIT 10 ), STRUCT( 0.2 AS temperature, 128 AS max_output_tokens));
El resultado es similar al siguiente, con las columnas no generadas omitidas para mayor claridad:
+-----------------------------+-------------------------+-----------------------------+-----+ | result | status | prompt | ... | +-----------------------------+-------------------------+-----------------------------+-----+ | **NEGATIVE** | | Analyze the sentiment of | | | | | movie review and classify | | | | | it as either POSITIVE or | | | | | NEGATIVE. Movie Review: | | | | | Although Charlie Chaplin | | | | | made some great short | | | | | comedies in the late... | | +-----------------------------+-------------------------+-----------------------------+-----+ | **NEGATIVE** | | Analyze the sentiment of | | | | | movie review and classify | | | | | it as either POSITIVE or | | | | | NEGATIVE. Movie Review: | | | | | Opulent sets and sumptuous | | | | | costumes well photographed | | | | | by Theodor Sparkuhl, and... | | +-----------------------------+-------------------------+-----------------------------+-----+Los resultados incluyen las mismas columnas documentadas para Realizar la extracción de palabras clave.
Anular implementación de modelo
Si decides no borrar el proyecto como se recomienda, debes
anular la implementación del modelo de Gemma en Vertex AI para evitar que se siga facturando. BigQuery anula automáticamente la implementación del modelo después de un período de inactividad especificado (6.5 horas de forma predeterminada).
Como alternativa, puedes anular la implementación del modelo de inmediato con la
ALTER MODEL declaración,
como se muestra en el siguiente ejemplo:
ALTER MODEL `bqml_tutorial.gemma_model` SET OPTIONS (deploy_model = false);
Para obtener más información, consulta Anulación de implementación automática o inmediata de modelos abiertos.
Limpia
- En la Cloud de Confiance consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que tú quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.