Cree aplicaciones de IA generativas con Cloud SQL

Esta página ofrece una descripción general de las funciones que ofrece Cloud SQL para PostgreSQL para ayudarle a crear aplicaciones de IA generativa. Para comenzar con una aplicación de ejemplo, consulte Introducción al uso de Cloud SQL para aplicaciones de IA generativa .

La Generación Aumentada por Recuperación (RAG) es una técnica para optimizar la salida de un modelo de lenguaje extenso (LLM) mediante la referencia a una base de conocimiento autorizada antes de generar una respuesta. RAG mejora las aplicaciones de IA generativa al aumentar su precisión. Las bases de datos Cloud SQL ofrecen capacidades específicas para RAG y aplicaciones de IA generativa, como se explica en esta página.

Generar incrustaciones vectoriales

Las incrustaciones vectoriales son esenciales para RAG porque facilitan la comprensión semántica y una búsqueda eficiente de similitudes. Estas incrustaciones son representaciones numéricas de texto, imágenes, audio y vídeo. Los modelos de incrustación generan las incrustaciones vectoriales de modo que, si dos elementos de contenido son semánticamente similares, sus respectivas incrustaciones se ubican cerca una de la otra en el espacio vectorial de incrustación.

Cloud SQL se integra con Vertex AI . Puedes usar los modelos alojados por Vertex AI para generar incrustaciones vectoriales mediante consultas SQL.

Cloud SQL extiende la sintaxis de PostgreSQL con una función de incrustación para generar incrustaciones vectoriales de texto. Una vez generadas, se pueden almacenar en una base de datos de Cloud SQL sin necesidad de una base de datos vectorial independiente.

También puede usar Cloud SQL para almacenar incrustaciones vectoriales generadas fuera de Cloud SQL. Por ejemplo, puede almacenar incrustaciones vectoriales generadas mediante modelos preentrenados en Vertex AI Model Garden . Puede usar estas incrustaciones vectoriales como entradas para las funciones pgvector para búsquedas de similitud y semánticas.

Almacenar, indexar y consultar incrustaciones de vectores con pgvector

Puede almacenar, indexar y consultar incrustaciones de vectores en Cloud SQL mediante la extensión PostgreSQL pgvector .

Para obtener más información sobre la configuración de esta extensión, consulte Configurar extensiones de PostgreSQL . Para obtener más información sobre el almacenamiento, la indexación y la consulta de incrustaciones vectoriales, consulte Almacenar una incrustación generada y Consultar e indexar incrustaciones con pgvector .

Invocar predicciones en línea mediante consultas SQL

Puede invocar predicciones en línea utilizando modelos almacenados en Vertex AI Model Garden mediante consultas SQL.

Utilice la integración de LangChain

Cloud SQL se integra con LangChain , un marco de orquestación LLM de código abierto, para simplificar el desarrollo de aplicaciones de IA generativa. Puede usar los siguientes paquetes de LangChain:

Mejorar el rendimiento de la búsqueda de vectores

Puede mejorar el rendimiento de una búsqueda vectorial utilizando lo siguiente:

  • Caché de datos : utiliza una caché de datos integrada que aprovecha un SSD local rápido para almacenar páginas de datos que se leen con frecuencia. Puedes obtener hasta tres veces más rendimiento de lectura que al leer desde un disco persistente.
  • Métricas de caché de datos : optimice las consultas en función de la eficacia con la que se utiliza el caché de datos en una búsqueda vectorial.

    Cloud SQL proporciona las siguientes métricas en el Explorador de métricas en Cloud Monitoring:

    Métrico Descripción Etiqueta métrica
    Caché de datos utilizada El uso de la caché de datos (en bytes) database/data_cache/bytes_used
    Cuota de caché de datos El tamaño máximo de caché de datos (en bytes) database/data_cache/quota
    Recuento de aciertos en la caché de datos El número total de operaciones de lectura de caché de datos para una instancia database/postgresql/data_cache/hit_count
    Recuento de fallos de caché de datos El número total de operaciones de lectura fallida de caché de datos para una instancia database/postgresql/data_cache/miss_count
    Tasa de aciertos de caché de datos La relación entre las operaciones de lectura de aciertos de caché de datos y las operaciones de lectura de errores de caché de datos para una instancia
    database/postgresql/data_cache/hit_ratio
  • Información del sistema : proporciona métricas del sistema, como el uso de la CPU, el uso del disco y el rendimiento, para ayudarle a supervisar el estado de las instancias y solucionar problemas que afecten el rendimiento de sus aplicaciones de IA generativa. Para ver estas métricas, utilice el panel de Información del sistema de Cloud SQL .

  • Análisis de consultas : Detecta, diagnostica y previene problemas de rendimiento en las consultas. Esto resulta útil para mejorar el rendimiento de la búsqueda vectorial en tus aplicaciones de IA generativa.

    Puede usar el panel de Cloud SQL Query Insights para observar el rendimiento de las consultas principales y analizarlas mediante planes de consulta visuales. También puede supervisar el rendimiento a nivel de aplicación y rastrear el origen de una consulta problemática en la pila de aplicaciones hasta la base de datos mediante SQLcommenter . Esta es una biblioteca de código abierto de mapeo relacional de objetos (ORM) y autoinstrumentación.

    Query Insights también puede ayudarle a integrarse con sus herramientas de monitoreo de aplicaciones (APM) existentes para que pueda solucionar problemas de consultas utilizando herramientas con las que está familiarizado.

Beneficios de usar Cloud SQL para aplicaciones de IA generativa

El uso de Cloud SQL para crear aplicaciones de IA generativa proporciona lo siguiente:

  • Utilice PostgreSQL para crear aplicaciones de IA generativa . Cloud SQL para PostgreSQL es compatible con pgvector y se integra con Vertex AI y LangChain.
  • Utilice un servicio confiable con protección, seguridad y gobernanza de datos de nivel empresarial . Al usar Cloud SQL, obtendrá las siguientes ventajas:
    • Un SLA de alta disponibilidad del 99,99 % que incluye mantenimiento
    • Un servicio administrado que le proporciona funciones como copias de seguridad automáticas, replicación, parches, cifrado y aumentos automáticos de la capacidad de almacenamiento.
    • Capacidades de seguridad, gobernanza y cumplimiento
  • Combine con datos operativos contextuales . Use uniones y filtros en datos operativos mientras utiliza incrustaciones vectoriales para obtener respuestas contextuales, precisas y actualizadas en sus aplicaciones de IA generativa.
  • Reduzca el trabajo de operación . Use Cloud SQL como su base de datos vectorial para reducir el trabajo de exportación de datos a una base de datos vectorial independiente.
  • Acceda a los modelos de IA generativa más recientes . Utilice consultas SQL para acceder a los modelos de IA más recientes alojados en Vertex AI.

Comience a usar Cloud SQL para aplicaciones de IA generativa

Para empezar a crear aplicaciones de IA generativa, usa esta aplicación de ejemplo . La aplicación utiliza Cloud SQL, Vertex AI y Google Kubernetes Engine (GKE) o Cloud Run. Puedes usarla para crear una API básica de chatbot que:

  • Integra GKE o Cloud Run con Cloud SQL, Vertex AI y pgvector
  • Demuestra la conectividad con Cloud SQL mediante Private Service Connect en una nube privada virtual (VPC)
  • Utiliza Terraform para configurar su infraestructura
  • Utiliza Python con asyncpg y FastAPI
  • Admite la configuración de Cloud SQL y una aplicación que se ejecuta en GKE o Cloud Run por separado. Google Cloud proyectos

La solución contiene los siguientes contenidos:

  • Plantillas de Terraform para configurar su infraestructura con las mejores prácticas de seguridad
  • Una aplicación de muestra para un chatbot con tecnología LLM que puedes implementar en GKE o Cloud Run

¿Qué sigue?