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.GENERATE es la función de inferencia más flexible, que te permite analizar cualquier dato estructurado o no estructurado.
      • AI.GENERATE_TEXT es una versión con valores de tabla de AI.GENERATE que 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_TABLE es una versión con valores de tabla de AI.GENERATE 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_DOUBLE o AI.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:

Usa los siguientes temas para probar la generación de texto en BigQuery ML:

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:

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áusula WHERE o JOIN, 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áusula ORDER BY para 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áusula GROUP BY para 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:

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:

  1. Consulta tus informes de facturación en Facturación de Cloud.
  2. Usa filtros para definir mejor los resultados.

    En servicios, selecciona Vertex AI.

  3. Para ver los cargos de un trabajo específico, filtra por etiqueta.

    Establece la clave en bigquery_job_id_prefix y 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:

  1. 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ón us-central1 en tu solicitud. Para registrar las consultas que se ejecutan en la región eu, especifica la región europe-west4 en tu solicitud.

  2. 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.

  3. 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_prefix de la columna full_request coincide 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?