Descripción general de la IA generativa
En este documento, se describen las funciones de inteligencia artificial (IA) generativas que admite BigQuery. Estas funciones aceptan entradas en lenguaje natural y usan modelos de Vertex AI previamente entrenados y modelos integrados de BigQuery.
Descripción general
BigQuery ofrece una variedad de funciones basadas en IA para ayudarte con tareas como las siguientes:
- Generar contenido creativo
- Analiza, detecta opiniones y responde preguntas sobre texto o datos no estructurados, como imágenes.
- Resume las ideas o impresiones clave que transmite el contenido.
- Extrae datos estructurados del texto.
- Clasifica texto o datos no estructurados en categorías definidas por el usuario.
- Genera incorporaciones para buscar texto, imágenes y videos similares.
- Califica las entradas para clasificarlas según su calidad, similitud o algún otro criterio.
Las siguientes categorías de funciones basadas en IA para ayudarte a realizar estas tareas:
Funciones de IA de uso general: Estas funciones te brindan control y transparencia totales sobre la elección del modelo, la instrucción y los parámetros que se usarán.
Realizar inferencias con LLM, por ejemplo, para responder preguntas sobre tus datos
AI.GENERATEes la función de inferencia más flexible, que te permite analizar cualquier dato estructurado o no estructurado.AI.GENERATE_TEXTes una versión con valores de tabla deAI.GENERATEque también admite modelos abiertos y de socios.
Generar resultados estructurados, como extraer nombres, direcciones o descripciones de objetos de texto, documentos o imágenes
AI.GENERATE, cuando especificas un esquema de salida.AI.GENERATE_TABLEes una versión con valores de tabla deAI.GENERATEque llama a un modelo remoto y te permite especificar un esquema de salida personalizado.- Si tu esquema de salida tiene un solo campo, puedes usar una de las funciones especializadas:
AI.GENERATE_BOOL,AI.GENERATE_DOUBLEoAI.GENERATE_INT.
Genera embeddings para la búsqueda semántica y el agrupamiento en clústeres
AI.EMBED: Crea una incorporación a partir de datos de texto o imagen.AI.GENERATE_EMBEDDING: Es una función con valores de tabla que agrega una columna de datos incorporados de texto, imagen, audio, video o documento a tu tabla.
Funciones de IA administradas: Estas funciones tienen una sintaxis optimizada y están optimizadas para el costo y la calidad.
Cómo filtrar tus datos con condiciones de lenguaje natural
AI.IF
Califica la entrada, por ejemplo, según la calidad o el sentimiento.
AI.SCORE
Clasifica la entrada en categorías definidas por el usuario
AI.CLASSIFY
Funciones específicas de tareas: Estas funciones usan las APIs de IA de Cloud para ayudarte a realizar tareas como el procesamiento de lenguaje natural, la traducción automática, el procesamiento de documentos, la transcripción de audio y la visión artificial.
Funciones de IA de uso general
Las funciones de IA de uso general te brindan control y transparencia totales sobre la elección del modelo, la instrucción y los parámetros que se usarán. Su resultado incluye información detallada sobre la llamada al modelo, como el estado y la respuesta completa del modelo, que puede incluir información sobre la calificación de seguridad o las citas.
Realiza la inferencia del LLM
La función AI.GENERATE es una función de inferencia flexible que envía solicitudes a un modelo de Gemini de Vertex AI y muestra la respuesta de ese modelo. Puedes usar esta función para analizar datos de texto, imagen, audio, video o PDF. Por ejemplo, puedes analizar imágenes de muebles para el hogar y generar texto para una columna design_type, de modo que el SKU de los muebles tenga una descripción asociada, como mid-century modern o farmhouse.
Puedes realizar tareas de IA generativa con modelos remotos en BigQuery ML para hacer referencia a modelos implementados o alojados en Vertex AI con la función AI.GENERATE_TEXT con valores de tabla.
Puedes usar los siguientes tipos de modelos remotos:
Modelos remotos sobre cualquiera de los modelos de Gemini disponibles de forma general o en versión preliminar para analizar contenido de texto, imagen, audio, video o PDF desde tablas estándar o tablas de objetos con una instrucción que proporcionas como argumento de función.
Modelos remotos sobre modelos de socios de Anthropic Claude, Mistral AI o Llama, o modelos abiertos admitidos, para analizar una instrucción que proporciones en una consulta o desde una columna en una tabla estándar.
Usa los siguientes temas para probar la generación de texto en BigQuery ML:
- Genera texto con un modelo de Gemini y la función
AI.GENERATE_TEXT. - Genera texto con un modelo de Gemma y la función
AI.GENERATE_TEXT. - Analiza imágenes con un modelo de Gemini.
- Para generar texto, usa la función
AI.GENERATE_TEXTcon tus datos. - Ajusta un modelo con tus datos.
En el caso de algunos modelos, puedes optar por configurar el ajuste supervisado, que te permite entrenar el modelo con tus propios datos para que se adapte mejor a tu caso de uso. Todas las inferencias se producen en Vertex AI. Los resultados se almacenan en BigQuery.
Genera datos estructurados
La generación de datos estructurados es muy similar a la generación de texto, excepto que puedes especificar un esquema SQL para dar formato a la respuesta del modelo. Por ejemplo, puedes generar una tabla que contenga el nombre, el número de teléfono, la dirección, la solicitud y la cotización de precios de un cliente a partir de la transcripción de una llamada telefónica.
Puedes generar datos estructurados de las siguientes maneras:
La función
AI.GENERATEllama a un endpoint de Vertex AI y puede generar un valorSTRUCTcon tu esquema personalizado.Para probarla, consulta cómo usar el resultado estructurado cuando llames a la función
AI.GENERATE.La función
AI.GENERATE_TABLEllama a un modelo remoto y es una función con valor de tabla que genera una tabla con tu esquema personalizado.Para intentar crear datos estructurados, consulta Genera datos estructurados con la función
AI.GENERATE_TABLE.Para un solo campo de salida, puedes usar una de las siguientes funciones de inferencia especializadas:
Genera embeddings
Un embedding es un vector numérico de alta dimensión que representa una entidad determinada, como un fragmento de texto o un archivo de audio. La generación de embeddings te permite capturar la semántica de tus datos de una manera que facilita el razonamiento y la comparación de los datos.
Estos son algunos casos de uso comunes para la generación de incorporaciones:
- Usar la generación mejorada por recuperación (RAG) para aumentar las respuestas del modelo a las preguntas de los usuarios haciendo referencia a datos adicionales de una fuente confiable La RAG proporciona una mejor exactitud fáctica y coherencia en las respuestas, y también brinda acceso a datos más recientes que los datos de entrenamiento del modelo.
- Realizar búsquedas multimodales Por ejemplo, usar la entrada de texto para buscar imágenes.
- Realizar búsquedas semánticas para encontrar elementos similares para recomendaciones, sustituciones y deduplicación de registros
- Crear embeddings para usar con un modelo de k-means para el agrupamiento en clústeres
Para obtener más información sobre cómo generar embeddings y usarlos para realizar estas tareas, consulta la Introducción a los embeddings y la búsqueda de vectores.
Funciones de IA administradas
Las funciones de IA administradas se diseñaron específicamente para automatizar tareas rutinarias, como la clasificación, el ordenamiento o el filtrado. Estas funciones usan Gemini y no requieren personalización. BigQuery usa la ingeniería de instrucciones y puede seleccionar el modelo y los parámetros adecuados para la tarea específica con el objetivo de optimizar la calidad y la coherencia de tus resultados. Cada función devuelve un valor escalar, como BOOL, FLOAT64 o STRING, y no incluye información de estado adicional del modelo.
Están disponibles las siguientes funciones de IA administradas:
AI.IF: Filtra texto o datos multimodales, como en una cláusulaWHEREoJOIN, en función de una instrucción. Por ejemplo, podrías filtrar las descripciones de productos por aquellas que describen un artículo que sería un buen regalo.AI.SCORE: Califica las entradas según una instrucción para clasificar las filas por calidad, similitud o algún otro criterio. Puedes usar esta función en una cláusulaORDER BYpara extraer los K elementos principales según la puntuación. Por ejemplo, podrías encontrar las 10 opiniones de usuarios más positivas o negativas sobre un producto.AI.CLASSIFY: Clasifica el texto en categorías definidas por el usuario. Puedes usar esta función en una cláusulaGROUP BYpara agrupar las entradas según las categorías que definas. Por ejemplo, podrías clasificar los tickets de asistencia según si se relacionan con la facturación, el envío, la calidad del producto o algún otro tema.
Para ver un instructivo con ejemplos de cómo usar estas funciones, consulta Realiza análisis semánticos con funciones de IA administradas.
Para ver un instructivo en notebook que muestra cómo usar las funciones de IA administradas y de uso general, consulta Análisis semántico con funciones de IA.
Funciones específicas de la tarea
Además de las funciones más generales que se describieron en las secciones anteriores, puedes desarrollar soluciones específicas para tareas en BigQuery ML con las APIs de Cloud AI. Entre las tareas admitidas, se incluyen las siguientes:
- Procesamiento de lenguaje natural
- Traducción automática
- Procesamiento de documentos
- Transcripción de audio
- Visión artificial
Para obtener más información, consulta Descripción general de las soluciones específicas para tareas.
Ubicaciones
Las ubicaciones admitidas para los modelos de generación y de incorporación de texto varían según el tipo y la versión del modelo que uses. Para obtener más información, consulta Ubicaciones.
Precios
Se te cobra por los recursos de procesamiento que usas para ejecutar consultas en los modelos. Los modelos remotos realizan llamadas a los modelos de Vertex AI, por lo que las consultas a los modelos remotos también generan cargos de Vertex AI.
Para obtener más información, consulta los precios de BigQuery ML.
Seguimiento de costos
Las funciones de IA generativa en BigQuery envían solicitudes a Vertex AI, lo que puede generar costos. Para hacer un seguimiento de los costos de Vertex AI que genera un trabajo que ejecutas en BigQuery, sigue estos pasos:
- Consulta tus informes de facturación en Facturación de Cloud.
Usa filtros para definir mejor los resultados.
En servicios, selecciona Vertex AI.
Para ver los cargos de un trabajo específico, filtra por etiqueta.
Establece la clave en
bigquery_job_id_prefixy el valor en el ID del trabajo de tu trabajo. Si tu ID de trabajo tiene más de 63 caracteres, usa solo los primeros 63. Si el ID del trabajo contiene caracteres en mayúscula, cámbialos a minúsculas. También puedes asociar los empleos con una etiqueta personalizada para ayudarte a encontrarlos más adelante.
Algunos cargos pueden tardar hasta 24 horas en aparecer en la Facturación de Cloud.
Supervisión
Para comprender mejor el comportamiento de las funciones basadas en IA que llamas en BigQuery, puedes habilitar el registro de solicitudes y respuestas. Para registrar toda la solicitud y la respuesta enviadas a Vertex AI y recibidas de ella, sigue estos pasos:
Habilita los registros de solicitud y respuesta en Vertex AI. Los registros se almacenan en BigQuery. Debes habilitar el registro por separado para cada modelo fundamental y región diferentes. Para registrar las consultas que se ejecutan en la región
us, especifica la regiónus-central1en tu solicitud. Para registrar las consultas que se ejecutan en la regióneu, especifica la regióneurope-west4en tu solicitud.Ejecuta una consulta con una función basada en IA que llame a Vertex AI con el modelo para el que habilitaste el registro en el paso anterior.
Para ver la solicitud y la respuesta completas de Vertex AI, consulta tu tabla de registros para ver las filas en las que el campo
labels.bigquery_job_id_prefixde la columnafull_requestcoincide con los primeros 63 caracteres de tu ID de trabajo. De manera opcional, puedes usar una etiqueta de consulta personalizada para ayudarte a buscar la consulta en los registros.Por ejemplo, puedes usar una consulta similar a la siguiente:
SELECT * FROM `my_project.my_dataset.request_response_logging` WHERE JSON_VALUE(full_request, '$.labels.bigquery_job_id_prefix') = 'bquxjob_123456...';
¿Qué sigue?
- Para obtener una introducción a la IA y el AA en BigQuery, consulta Introducción a la IA y el AA en BigQuery.
- Para obtener más información sobre la realización de inferencias sobre los modelos de aprendizaje automático, consulta Descripción general de la inferencia de modelo.
- Para obtener más información sobre las instrucciones y funciones de SQL compatibles con los modelos de IA generativa, consulta Recorridos del usuario de extremo a extremo para modelos de IA generativa.