Información general sobre la IA generativa
En este documento se describen las funciones de inteligencia artificial (IA) generativa que admite BigQuery. Estas funciones aceptan entradas en lenguaje natural y usan modelos de Vertex AI preentrenados y modelos de BigQuery integrados.
Información general
BigQuery ofrece varias funciones de IA para ayudarte con tareas como las siguientes:
- Generar contenido creativo.
- Analiza texto o datos no estructurados, como imágenes, detecta sentimientos y responde preguntas sobre ellos.
- Resume las ideas o impresiones clave que transmite el contenido.
- Extraer datos estructurados de texto.
- Clasifica texto o datos no estructurados en categorías definidas por el usuario.
- Genera incrustaciones para buscar texto, imágenes y vídeos similares.
- Valorar las aportaciones para ordenarlas por calidad, similitud u otros criterios.
Las siguientes categorías de funciones de IA para ayudarte a completar estas tareas:
Funciones de IA de uso general: estas funciones te ofrecen control total y transparencia sobre la elección del modelo, la petición y los parámetros que se van a usar.
Realizar inferencias de LLM, por ejemplo, para responder a preguntas sobre tus datos
AI.GENERATEes la función de inferencia más flexible, que te permite analizar cualquier dato no estructurado.AI.GENERATE_TEXTes una versión deAI.GENERATEque devuelve una tabla y que también admite modelos de partners y modelos abiertos.
Generar resultados estructurados, como extraer nombres, direcciones o descripciones de objetos de texto, documentos o imágenes.
AI.GENERATE, cuando especifiques un esquema de salida.AI.GENERATE_TABLEes una versión deAI.GENERATEcon valores de tabla que 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.
Generar inserciones para la búsqueda semántica y la agrupación en clústeres
AI.EMBED: crea una inserción a partir de datos de texto o de imagen.AI.GENERATE_EMBEDDING: función con valores de tabla que añade una columna de datos de texto, imagen, audio, vídeo o documento insertados a tu tabla.
Funciones de IA gestionadas: estas funciones tienen una sintaxis optimizada y están optimizadas para reducir costes y mejorar la calidad. BigQuery elige un modelo por ti.
Filtrar datos con condiciones de lenguaje natural
AI.IF
Valorar las aportaciones, por ejemplo, según la calidad o el sentimiento
AI.SCORE
Clasificar entradas en categorías definidas por el usuario
AI.CLASSIFY
Funciones específicas de tareas: estas funciones usan APIs de IA de Cloud para ayudarte a realizar tareas como el procesamiento del 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 ofrecen control total y transparencia sobre la elección del modelo, la petición y los parámetros que quieras usar. Su salida 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 clasificación de seguridad o las citas.
Realizar inferencias de LLM
La función AI.GENERATE
es una función de inferencia flexible que funciona
enviando solicitudes a un modelo de Gemini de Vertex AI y
devolviendo la respuesta de ese modelo. Puedes usar esta función para analizar datos de texto, imagen, audio, vídeo o PDF. Por ejemplo, puedes analizar imágenes de muebles para generar texto para una columna design_type, de forma que el SKU de los muebles tenga una descripción asociada, como mid-century modern o farmhouse.
Puedes realizar tareas de IA generativa usando modelos remotos en BigQuery ML para hacer referencia a modelos desplegados o alojados en Vertex AI con la función AI.GENERATE_TEXTtable-valued.
Puedes usar los siguientes tipos de modelos remotos:
Modelos remotos de cualquiera de los modelos de Gemini disponibles de forma general o de vista previa para analizar texto, imágenes, audio, vídeo o contenido PDF de tablas estándar o de objetos con una petición que proporciones como argumento de función.
Modelos remotos de Claude de Anthropic, Mistral AI o Llama, o modelos abiertos compatibles, para analizar una petición que proporciones en una consulta o desde una columna de una tabla estándar.
Consulta los siguientes temas para probar la generación de texto en BigQuery ML:
- Generar texto con un modelo de Gemini y la función
AI.GENERATE_TEXT. - Genera texto con un modelo Gemma y la función
AI.GENERATE_TEXT. - Analiza imágenes con un modelo de Gemini.
- Genera texto con la función
AI.GENERATE_TEXTy tus datos. - Ajustar un modelo con tus datos.
En algunos modelos, puedes configurar opcionalmente el ajuste supervisado, que te permite entrenar el modelo con tus propios datos para que se adapte mejor a tu caso práctico. Todas las inferencias se producen en Vertex AI. Los resultados se almacenan en BigQuery.
Generar datos estructurados
La generación de datos estructurados es muy similar a la generación de texto, con la diferencia de que puedes dar formato a la respuesta del modelo especificando un esquema SQL. Por ejemplo, puedes generar una tabla que contenga el nombre, el número de teléfono, la dirección, la solicitud y el presupuesto de un cliente a partir de la transcripción de una llamada telefónica.
Puede generar datos estructurados de las siguientes formas:
La función
AI.GENERATEllama a un endpoint de Vertex AI y puede generar un valorSTRUCTcon tu esquema personalizado.Para probarlo, consulta cómo usar la salida estructurada al llamar a la función
AI.GENERATE.La función
AI.GENERATE_TABLEllama a un modelo remoto y es una función con valores de tabla que genera una tabla con tu esquema personalizado.Para probar a crear datos estructurados, consulta Generar 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:
Generar inserciones
Una incrustación es un vector numérico de alta dimensión que representa una entidad determinada, como un fragmento de texto o un archivo de audio. Generar incrustaciones te permite captar la semántica de tus datos de forma que sea más fácil razonar sobre ellos y compararlos.
Estos son algunos casos prácticos habituales de la generación de embeddings:
- Usar la generación aumentada por recuperación (RAG) para mejorar las respuestas del modelo a las consultas de los usuarios haciendo referencia a datos adicionales de una fuente fiable. RAG ofrece una mayor precisión de los hechos y coherencia de las respuestas, así como acceso a datos más recientes que los datos de entrenamiento del modelo.
- Realizando una búsqueda multimodal. 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 inserciones para usarlas con un modelo k-medias para la creación de clústeres.
Para obtener más información sobre cómo generar incrustaciones y usarlas para llevar a cabo estas tareas, consulta la introducción a las incrustaciones y la búsqueda vectorial.
Funciones de IA gestionadas
Las funciones de IA gestionadas se han diseñado específicamente para automatizar tareas rutinarias, como la clasificación, la ordenación o el filtrado. Estas funciones usan Gemini y no requieren personalización. BigQuery usa la ingeniería de peticiones y selecciona el modelo y los parámetros adecuados para la tarea específica con el fin de optimizar la calidad y la coherencia de los 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 gestionadas:
AI.IF: filtra texto o datos multimodales, como en una cláusulaWHEREoJOIN, en función de una petición. Por ejemplo, puedes filtrar las descripciones de productos por aquellos que describan un artículo que sería un buen regalo.AI.SCORE: califica las entradas según una petición para ordenar las filas por calidad, similitud u otros criterios. Puedes usar esta función en una cláusulaORDER BYpara extraer los K elementos principales según la puntuación. Por ejemplo, puedes encontrar las 10 reseñas de usuarios más positivas o negativas de 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, puedes clasificar las incidencias de asistencia según si están relacionadas con la facturación, el envío, la calidad del producto u otro tema.
Para ver un tutorial con ejemplos de cómo usar estas funciones, consulta Realizar análisis semántico con funciones de IA gestionadas.
Para ver un tutorial en un cuaderno que muestra cómo usar funciones de IA gestionadas y de uso general, consulta Análisis semántico con funciones de IA.
Funciones específicas de tareas
Además de las funciones más generales descritas en las secciones anteriores, puedes desarrollar soluciones específicas para tareas en BigQuery ML mediante las APIs de Cloud AI. Entre las tareas admitidas se incluyen las siguientes:
- Procesamiento del lenguaje natural
- Traducción automática
- Procesamiento de documentos
- Transcripción de audio
- Visión artificial
Para obtener más información, consulta la descripción general de las soluciones específicas para tareas.
Ubicaciones
Las ubicaciones admitidas para los modelos de generación de texto y de inserciones varían en función del tipo y la versión del modelo que utilices. Para obtener más información, consulta Ubicaciones.
Precios
Se te cobra por los recursos de computación que usas para ejecutar consultas en modelos. Los modelos remotos hacen llamadas a modelos de Vertex AI, por lo que las consultas a modelos remotos también generan cargos de Vertex AI.
Para obtener más información, consulta los precios de BigQuery ML.
Monitorizar costes
Las funciones de IA generativa de BigQuery funcionan enviando solicitudes a Vertex AI, lo que puede generar costes. Para hacer un seguimiento de los costes de Vertex AI en los que incurre un trabajo que ejecutas en BigQuery, sigue estos pasos:
- Consulta tus informes de facturación en Facturación de Cloud.
Usa filtros para acotar los resultados.
En Servicios, selecciona Vertex AI.
Para ver los cargos de un trabajo específico, filtra por etiqueta.
Define la clave como
bigquery_job_id_prefixy el valor como el ID de empleo de tu empleo. Si el ID de trabajo tiene más de 63 caracteres, utiliza solo los 63 primeros. Si el ID de trabajo contiene caracteres en mayúsculas, cámbialos a minúsculas. También puedes asociar los trabajos a una etiqueta personalizada para encontrarlos más tarde.
Algunos cargos pueden tardar hasta 24 horas en aparecer en la facturación de Cloud.
Supervisión
Para entender mejor el comportamiento de las funciones de IA a las que llamas en BigQuery, puedes habilitar el registro de solicitudes y respuestas. Para registrar toda la solicitud y la respuesta enviadas y recibidas de Vertex AI, sigue estos pasos:
Habilita los registros de solicitudes y respuestas en Vertex AI. Los registros se almacenan en BigQuery. Debes habilitar el registro por separado para cada modelo base y región. 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 de IA que haga una llamada a Vertex AI con el modelo para el que has habilitado el registro en el paso anterior.
Para ver la solicitud y la respuesta completas de Vertex AI, consulta tu tabla de registro para buscar filas en las que el campo
labels.bigquery_job_id_prefixde la columnafull_requestcoincida con los primeros 63 caracteres de tu ID de trabajo. También puedes usar una etiqueta de consulta personalizada para encontrar 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...';
Siguientes pasos
- Para obtener una introducción a la IA y el AA en BigQuery, consulta el artículo Introducción a la IA y el AA en BigQuery.
- Para obtener más información sobre cómo realizar inferencias en modelos de aprendizaje automático, consulta la descripción general de la inferencia de modelos.
- Para obtener más información sobre las instrucciones y funciones de SQL admitidas en los modelos de IA generativa, consulta Recorridos de usuario completos de los modelos de IA generativa.