Créer des applications d'IA générative à l'aide de Cloud SQL

Cette page présente les fonctionnalités offertes par Cloud SQL pour PostgreSQL pour vous aider à créer des applications d'IA générative. Pour commencer à utiliser un exemple d'application, consultez la page Premiers pas avec Cloud SQL pour les applications d'IA générative.

La génération augmentée de récupération (RAG) est une technique permettant d'optimiser la sortie d'un grand modÚle de langage (LLM) en référençant une base de connaissances fiable avant de générer une réponse. Le RAG améliore la précision des applications d'IA génératives. Les bases de données Cloud SQL offrent des fonctionnalités sélectionnées pour les applications RAG et d'IA générative, comme expliqué sur cette page.

Générer des embeddings

Les embeddings sont essentiels pour le RAG, car ils permettent une compréhension sémantique et une recherche de similarité efficace. Ces embeddings sont des représentations numériques de texte, d'images, d'audio et de vidéo. Les modÚles d'embedding génÚrent les embeddings de sorte que, si deux éléments de contenu sont sémantiquement similaires, leurs embeddings respectifs sont proches l'un de l'autre dans l'espace du vecteur d'embedding.

Cloud SQL s'intĂšgre Ă  Vertex AI. Vous pouvez utiliser les modĂšles hĂ©bergĂ©s par Vertex AI pour gĂ©nĂ©rer des embeddings Ă  l'aide de requĂȘtes SQL.

Cloud SQL étend la syntaxe PostgreSQL avec une fonction d'embedding pour générer des embeddings vectoriels de texte. Une fois ces embeddings générées, vous pouvez les stocker dans une base de données Cloud SQL sans avoir besoin d'une base de données vectorielle distincte.

Vous pouvez également utiliser Cloud SQL pour stocker des embeddings générées en dehors de Cloud SQL. Par exemple, vous pouvez stocker des embeddings générées à l'aide de modÚles pré-entraßnés dans Vertex AI Model Garden. Vous pouvez utiliser ces embeddings comme entrées pour les fonctions pgvector pour les recherches de similarité et sémantique.

Stocker, indexer et interroger les embeddings de vecteurs avec pgvector

Vous pouvez stocker, indexer et interroger des embeddings dans Cloud SQL à l'aide de l'extension PostgreSQL pgvector.

Pour en savoir plus sur la configuration de cette extension, consultez Configurer des extensions PostgreSQL. Pour en savoir plus sur le stockage, l'indexation et l'interrogation des embeddings, consultez Stocker un embedding généré et Interroger et indexer des embeddings à l'aide de pgvector.

Appeler des prĂ©dictions en ligne Ă  l'aide de requĂȘtes SQL

Vous pouvez appeler des prĂ©dictions en ligne Ă  l'aide de modĂšles stockĂ©s dans Vertex AI Model Garden en utilisant des requĂȘtes SQL.

Utiliser l'intégration LangChain

Cloud SQL s'intÚgre à LangChain, un framework d'orchestration de LLM Open Source, pour simplifier le développement d'applications d'IA générative. Vous pouvez utiliser les packages LangChain suivants :

Améliorer les performances de la recherche vectorielle

Vous pouvez améliorer les performances d'une recherche vectorielle en utilisant les éléments suivants :

  • Cache de donnĂ©es : utilisez un cache de donnĂ©es intĂ©grĂ© qui exploite un disque SSD local rapide pour stocker les pages de donnĂ©es lues frĂ©quemment. Vous pouvez obtenir des performances de lecture jusqu'Ă  trois fois supĂ©rieures Ă  celles d'un disque persistant.
  • MĂ©triques du cache de donnĂ©es : optimisez les requĂȘtes en fonction de l'efficacitĂ© de l'utilisation du cache de donnĂ©es dans une recherche vectorielle.

    Cloud SQL fournit les métriques suivantes dans l'explorateur de métriques de Cloud Monitoring :

    Métrique Description Libellé de la métrique
    Cache de données utilisé Utilisation du cache de données (en octets) database/data_cache/bytes_used
    Quota du cache de données Taille maximale du cache de données (en octets) database/data_cache/quota
    Nombre d'appels de cache de données Nombre total d'opérations de lecture de succÚs de cache de données pour une instance database/postgresql/data_cache/hit_count
    Nombre de défauts de cache de données Nombre total d'opérations de lecture de défaut du cache de données pour une instance database/postgresql/data_cache/miss_count
    Taux de réussite du cache de données Le ratio entre les opérations de lecture de succÚs de cache de données et les opérations de lecture de défaut du cache de données pour une instance
    database/postgresql/data_cache/hit_ratio
  • Insights sur le systĂšme : fournissent des mĂ©triques systĂšme telles que l'utilisation du processeur, du disque et le dĂ©bit pour vous aider Ă  surveiller l'Ă©tat des instances et Ă  rĂ©soudre les problĂšmes qui affectent les performances de vos applications d'IA gĂ©nĂ©rative. Pour afficher ces mĂ©triques, utilisez le tableau de bord des insights sur le systĂšme de Cloud SQL.

  • Insights sur les requĂȘtes : dĂ©tectez, diagnostiquez et empĂȘchez les problĂšmes de performances des requĂȘtes. Cela permet d'amĂ©liorer les performances de la recherche vectorielle dans vos applications d'IA gĂ©nĂ©rative.

    Le tableau de bord Insights sur les requĂȘtes de Cloud SQL vous permet d'observer les performances des requĂȘtes les plus frĂ©quentes et de les analyser Ă  l'aide de plans de requĂȘtes visuels. Vous pouvez Ă©galement surveiller les performances au niveau de l'application et suivre la source d'une requĂȘte problĂ©matique sur la pile d'applications jusqu'Ă  la base de donnĂ©es Ă  l'aide de SQLcommenter. Il s'agit d'une bibliothĂšque d'instrumentation automatique Open Source ORM (mappage objet-relationnel).

    Les insights sur les requĂȘtes peuvent Ă©galement vous aider Ă  intĂ©grer vos outils de surveillance d'application (APM) existants afin de rĂ©soudre les problĂšmes de requĂȘte Ă  l'aide des outils que vous connaissez.

Avantages de l'utilisation de Cloud SQL pour les applications d'IA générative

L'utilisation de Cloud SQL pour créer des applications d'IA générative offre les avantages suivants :

  • Utilisez PostgreSQL pour crĂ©er des applications d'IA gĂ©nĂ©rative. Cloud SQL pour PostgreSQL est compatible avec pgvector et s'intĂšgre Ă  Vertex AI et LangChain.
  • Utilisez un service fiable offrant une protection, une sĂ©curitĂ© et une gouvernance des donnĂ©es de niveau entreprise. En utilisant Cloud SQL, vous bĂ©nĂ©ficiez des avantages suivants :
    • Contrat de niveau de service garantissant une haute disponibilitĂ© de 99,99 %, maintenance comprise
    • Service gĂ©rĂ© qui vous fournit des fonctionnalitĂ©s telles que les sauvegardes automatiques, la rĂ©plication, les correctifs, le chiffrement et l'augmentation automatique de la capacitĂ© de stockage
    • FonctionnalitĂ©s de sĂ©curitĂ©, de gouvernance et de conformitĂ©
  • Combiner avec des donnĂ©es opĂ©rationnelles contextuelles. Utilisez des jointures et des filtres sur des donnĂ©es opĂ©rationnelles tout en utilisant des embeddings pour obtenir des rĂ©ponses contextuelles, prĂ©cises et Ă  jour dans vos applications d'IA gĂ©nĂ©rative.
  • RĂ©duisez les tĂąches laborieuses. Utilisez Cloud SQL comme base de donnĂ©es vectorielles pour rĂ©duire les tĂąches laborieuses associĂ©es Ă  l'exportation de donnĂ©es vers une base de donnĂ©es vectorielles distincte.
  • AccĂ©dez aux derniers modĂšles d'IA gĂ©nĂ©rative. Utilisez des requĂȘtes SQL pour accĂ©der aux derniers modĂšles d'IA hĂ©bergĂ©s dans Vertex AI.

Premiers pas avec Cloud SQL pour les applications d'IA générative

Pour commencer à créer des applications d'IA générative, utilisez cet exemple d'application. L'application utilise Cloud SQL, Vertex AI et Google Kubernetes Engine (GKE) ou Cloud Run. Vous pouvez utiliser l'application pour créer une API de chatbot de base qui :

  • IntĂšgre GKE ou Cloud Run avec Cloud SQL, Vertex AI et pgvector
  • Montre la connectivitĂ© Ă  Cloud SQL Ă  l'aide de Private Service Connect dans un cloud privĂ© virtuel (VPC).
  • Utilise Terraform pour configurer votre infrastructure.
  • Utilise Python avec asyncpg et FastAPI
  • Compatible avec la configuration de Cloud SQL et d'une application qui s'exĂ©cute sur GKE ou Cloud Run dans des Google Cloud projets

La solution contient les éléments suivants :

  • ModĂšles Terraform pour configurer votre infrastructure avec les bonnes pratiques de sĂ©curitĂ©
  • Exemple d'application pour un chatbot basĂ© sur un LLM que vous pouvez dĂ©ployer sur GKE ou Cloud Run

Étape suivante