En esta página, se proporciona una descripción general de las capacidades que ofrece Cloud SQL para PostgreSQL para ayudarte a compilar aplicaciones de IA generativa. Si quieres comenzar a usar una aplicación de muestra, consulta Comienza a usar Cloud SQL para aplicaciones de IA generativas.
La generación de aumento de recuperación (RAG) es una técnica que permite optimizar la salida de un modelo de lenguaje grande (LLM) a través de la referencia a una base de conocimiento autorizada antes de generar una respuesta. RAG potencia las aplicaciones de IA generativa porque mejora su precisión. Las bases de datos de Cloud SQL ofrecen capacidades seleccionadas para aplicaciones RAG y de IA generativa, como se explica en esta página.
Genera embeddings de vectores
Los embeddings de vectores son esenciales para RAG porque permiten una comprensión semántica y una búsqueda de similitud eficiente. Estos embeddings son representaciones numéricas de texto, imágenes, audio y video. Los modelos de embedding generan los embeddings de vectores para que, si dos fragmentos de contenido son semánticamente similares, sus embeddings respectivos se ubiquen cerca unos de otros en el espacio vectorial de embedding.
Cloud SQL se integra en Vertex AI. Puedes usar los modelos que aloja Vertex AI para generar embeddings de vectores a través de consultas en SQL.
Cloud SQL extiende la sintaxis de PostgreSQL con una función de embedding para generar embeddings de vectores de texto. Después de generar estos embeddings, puedes almacenarlos en una base de datos de Cloud SQL sin necesidad de una base de datos vectorial separada.
También puedes usar Cloud SQL para almacenar embeddings de vectores que se generan fuera de Cloud SQL. Por ejemplo, puedes almacenar embeddings de vectores que se generan con modelos previamente entrenados en Model Garden de Vertex AI. Puedes usar estos embeddings de vectores como entradas en las funciones pgvector
para búsquedas semánticas y de similitud.
Almacena, indexa y consulta embeddings de vectores con pgvector
Puedes almacenar, indexar y consultar embeddings de vectores en Cloud SQL a través de la extensión pgvector
de PostgreSQL.
Para obtener más información acerca de cómo configurar esta extensión, consulta Configura extensiones de PostgreSQL. Para obtener más información acerca del almacenamiento, la indexación y la consulta de embeddings de vectores, visita Almacena un embedding generado y Indexa y consulta
embeddings con pgvector
.
Invoca predicciones en línea con consultas en SQL
Puedes invocar predicciones en línea con modelos almacenados en Model Garden de Vertex AI a través de consultas en SQL.
Usa la integración de LangChain
Cloud SQL se integra en LangChain, un framework de organización de LLM de código abierto, para simplificar el desarrollo de aplicaciones de IA generativa. Puedes usar los siguientes paquetes de LangChain:
- Cargadores de documentos: carga y almacena información de documentos
- Almacenes de vectores: usa LangChain para habilitar la búsqueda semántica
- Mensajes de chat: permite que las cadenas recuperen conversaciones anteriores
Mejora el rendimiento de la búsqueda de vectores
Puedes mejorar el rendimiento de una búsqueda de vectores con las siguientes opciones:
- Caché de datos: usa una caché de datos integrada que aproveche un SSD local rápido para almacenar páginas de datos que se leen con frecuencia. Puedes obtener una mejora de hasta tres veces en el rendimiento de lectura en comparación con la lectura desde un disco persistente.
Métricas de caché de datos: optimiza las consultas en función de la eficacia con la que se usa la caché de datos en una búsqueda de vectores.
Cloud SQL proporciona las siguientes métricas en el Explorador de métricas en Cloud Monitoring:
Métrica Descripción Etiqueta de métrica Caché de datos usada El uso de caché de datos (en bytes) database/data_cache/bytes_used
Cuota de caché de datos El tamaño máximo de la caché de datos (en bytes) database/data_cache/quota
Recuento de aciertos de caché de datos La cantidad total de operaciones de lectura de aciertos de caché de datos para una instancia database/postgresql/data_cache/hit_count
Recuento de errores de caché de datos La cantidad total de operaciones de lectura de errores de caché de datos en una instancia database/postgresql/data_cache/miss_count
Tasa de aciertos de caché de datos La proporción entre las operaciones de lectura de aciertos de caché de datos y las operaciones de lectura de errores de caché de datos en una instancia
database/postgresql/data_cache/hit_ratio
Estadísticas del sistema: proporciona métricas del sistema, como el uso de CPU, el uso de disco y la capacidad de procesamiento para ayudarte a supervisar el estado de las instancias y solucionar problemas que afectan el rendimiento de tus aplicaciones de IA generativa. Para ver estas métricas, usa el panel de Estadísticas del sistema de Cloud SQL.
Estadísticas de consultas: detecta, diagnostica y evita problemas de rendimiento de las consultas. Esto es útil para mejorar el rendimiento de la búsqueda de vectores en tus aplicaciones de IA generativa.
Puedes usar el panel de Estadísticas de consultas de Cloud SQL para observar el rendimiento de las consultas principales y analizarlas con planes de consultas visuales. También puedes supervisar el rendimiento a nivel de la aplicación y realizar un seguimiento de la fuente de una consulta problemática en la pila de aplicaciones hasta la base de datos a través de SQLcommenter. Esta es una biblioteca de instrumentación automática de asignación relacional de objetos (ORM) de código abierto.
Estadísticas de consultas también puede ayudarte a integrar tus herramientas de supervisión de aplicaciones (APM) existentes para que puedas solucionar problemas de consultas con herramientas que ya conoces.
Beneficios de usar Cloud SQL para aplicaciones de IA generativa
El uso de Cloud SQL para compilar aplicaciones de IA generativa proporciona lo siguiente:
- Usa PostgreSQL para compilar aplicaciones de IA generativa. Cloud SQL para PostgreSQL es compatible con
pgvector
y se integra en Vertex AI y LangChain. - Usa un servicio de confianza que tenga protección de datos, seguridad y administración de nivel empresarial. Cuando usas Cloud SQL, obtienes los siguientes beneficios:
- Un ANS de alta disponibilidad del 99.99% que incluye el mantenimiento
- Un servicio administrado que te proporciona funciones como copias de seguridad automáticas, replicación, parches, encriptación y aumentos automáticos de la capacidad de almacenamiento
- Capacidades de seguridad, administración y cumplimiento
- Combina con los datos operativos contextuales. Usa uniones y filtros en los datos operativos mientras usas embeddings de vectores para obtener respuestas contextuales, precisas y actualizadas en tus aplicaciones de IA generativa.
- Reduce los trabajos repetitivos de la operación. Usa Cloud SQL como tu base de datos vectorial para reducir el trabajo repetitivo de la operación asociado con la exportación de datos a una base de datos vectorial separada.
- Accede a los modelos de IA generativa más recientes. Usa consultas en SQL para acceder a los modelos de IA más recientes alojados en Vertex AI.
Comienza a usar Cloud SQL para aplicaciones de IA generativa
Para comenzar a compilar aplicaciones de IA generativa, usa esta app de ejemplo. La app usa Cloud SQL, Vertex AI y Google Kubernetes Engine (GKE) o Cloud Run. Puedes usar la app para compilar una API de chatbot básica que haga lo siguiente:
- Integra GKE o Cloud Run con Cloud SQL, Vertex AI y
pgvector
- Demuestra la conectividad a Cloud SQL con Private Service Connect en una nube privada virtual (VPC)
- Usa Terraform para configurar tu infraestructura
- Usa Python con
asyncpg
yFastAPI
- Admite la configuración de Cloud SQL y una app que se ejecuta en GKE o Cloud Run en proyectos de Google Cloud independientes
La solución incluye el siguiente contenido:
- Plantillas de Terraform para configurar tu infraestructura con prácticas recomendadas de seguridad
- Una app de ejemplo para un chatbot con tecnología de LLM que puedes implementar en GKE o Cloud Run