Présentation de l'IA Spanner

Spanner et ses capacités multimodèles s'intègrent aux services d'IA deGoogle Cloudet à LangChain, un framework Open Source, pour vous aider à créer des applications d'IA générative. Vous pouvez améliorer les applications avec des fonctionnalités telles que la recherche par similarité, la génération augmentée par récupération (RAG) et les graphiques de connaissances. Spanner s'appuie sur son évolutivité, sa disponibilité et sa cohérence pour développer cette fonctionnalité.

Utilisez Spanner avec Vector Search pour implémenter la recherche de similarité sur des données textuelles non structurées. Spanner s'intègre à des services tels que Vertex AI pour générer des embeddings vectoriels à partir de données textuelles non structurées. Ces embeddings sont des représentations numériques qui reflètent la signification sémantique du texte. Pour trouver des éléments conceptuellement similaires, vous utilisez des fonctions de distance vectorielle afin de trouver les vecteurs d'embedding les plus semblables à l'embedding de la requête de recherche. Ce processus vous permet de créer des fonctionnalités telles que des recommandations de produits ou de contenus.

Pour commencer, générez et complétez les embeddings vectoriels Vertex AI de manière groupée pour les données textuelles existantes. Pour ce faire, vous pouvez utiliser SQL et un modèle d'embedding Vertex AI, tel que le modèle text-embedding décrit dans la documentation de l'API Text Embeddings. Spanner permet d'utiliser les plus proches voisins approximatifs (ANN) et les k-plus proches voisins (KNN) avec les embeddings vectoriels de requête. L'ANN utilise un index vectoriel pour une recherche rapide et évolutive qui renvoie des résultats approximatifs. KNN effectue une recherche exhaustive qui renvoie des résultats plus précis, mais peut être lent pour les grands ensembles de données. Vous pouvez utiliser plusieurs fonctions de distance vectorielle pour mesurer la similarité, y compris :

  • Distance de cosinus : mesure le cosinus de l'angle entre deux vecteurs. Elle est utile pour trouver des éléments ayant une orientation similaire, quelle que soit leur magnitude.

  • Distance euclidienne : mesure la distance en ligne droite entre deux vecteurs.

  • Produit scalaire : calcule le produit des normes vectorielles et le cosinus de l'angle entre elles. Il s'agit de l'option la plus efficace en termes de calcul pour les vecteurs normalisés.

Pour plus d'informations, consultez les articles suivants :

Générer des prédictions de ML avec SQL

Vous pouvez utiliser des requêtes SQL dans Spanner pour appeler des grands modèles de langage (LLM) déployés dans Vertex AI. L'accès direct aux LLM vous permet d'exécuter des prédictions pour des tâches telles que l'analyse des sentiments, la classification de texte et la traduction sur les données stockées dans Spanner.

En utilisant la fonction ML.PREDICT (GoogleSQL) ou spanner.ML_PREDICT_ROW (PostgreSQL), vous pouvez générer des prédictions de machine learning (ML) sans avoir à déplacer vos données ni à écrire de code d'application personnalisé pour interagir avec le LLM. Cela simplifie l'architecture de votre application et rapproche les capacités de ML de vos données. Pour en savoir plus, consultez Générer des prédictions de ML à l'aide de SQL.

Utiliser le protocole MCP (Model Context Protocol) pour se connecter aux agents LLM

Vous pouvez connecter votre instance Spanner aux IDE compatibles avec le protocole MCP (Model Context Protocol). MCP est un protocole ouvert que vous pouvez utiliser pour connecter des LLM à vos données dans Spanner. Une fois la connexion établie, vos agents LLM peuvent interroger votre instance Spanner et interagir avec elle. Pour en savoir plus, consultez Connecter votre IDE à Spanner.

Découvrir des insights avec les graphiques Spanner

Pour les cas d'utilisation RAG plus avancés, Spanner Graph intègre des fonctionnalités de base de données graphiques aux principaux atouts de Spanner. Spanner Graph vous permet de modéliser, stocker et interroger des données hautement connectées.

Intégrez Spanner Graph à LangChain pour créer des applications GraphRAG. Cette intégration peut améliorer la génération augmentée par récupération (RAG) traditionnelle. GraphRAG vous permet de créer des applications qui capturent des relations complexes entre des entités, comme un Knowledge Graph. L'intégration utilise des requêtes graphiques en plus de la recherche vectorielle pour capturer les relations complexes et implicites dans vos données. L'utilisation conjointe des requêtes graphiques et de la recherche vectorielle peut fournir des réponses plus précises et pertinentes de votre LLM que l'utilisation de la recherche vectorielle seule.

Pour en savoir plus, consultez Infrastructure GraphRAG pour l'IA générative à l'aide de Vertex AI et Spanner Graph.

Créer des applications basées sur un LLM avec LangChain

Spanner fournit plusieurs classes pour travailler de manière programmatique avec LangChain. LangChain est un framework d'orchestration LLM qui fournit la structure, les outils et les composants nécessaires pour simplifier les workflows LLM complexes. Utilisez LangChain pour créer des applications d'IA générative et des workflows RAG. Les classes LangChain disponibles pour Spanner incluent :

  • SpannerVectorStore : stockez et recherchez des embeddings vectoriels pour activer la recherche par similarité dans votre application avec la classe.

  • SpannerLoader : chargez les données de Spanner à utiliser dans les embeddings ou pour fournir un contexte spécifique aux chaînes LLM avec la classe.

  • SpannerChatMessageHistory : activez les applications d'IA conversationnelle en stockant l'historique des conversations dans une base de données Spanner.

Pour en savoir plus, consultez Créer des applications basées sur un LLM avec LangChain et Bibliothèque cliente Spanner pour LangChain.

Parcourir les cas d'utilisation

Utilisez les fonctionnalités d'IA de Spanner pour créer des applications intelligentes pour des cas d'utilisation tels que les suivants :

  • Moteurs de recommandations d'e-commerce : générez des embeddings vectoriels pour les descriptions de produits afin d'alimenter un moteur de recommandations. Ce moteur peut suggérer des articles similaires aux clients, ce qui améliore leur expérience d'achat et augmente les ventes. Pour en savoir plus, consultez Utiliser l'IA générative pour obtenir des recommandations personnalisées dans une application d'e-commerce.

  • Gérer l'historique des messages de chat : utilisez Spanner et LangChain pour stocker et récupérer l'historique des conversations. Spanner stocke ces données dans une base de données et fournit la classe SpannerChatMessageHistory. Cette classe étend une classe de base LangChain pour enregistrer et récupérer des messages à partir d'une base de données. Pour en savoir plus, consultez Historique des messages de chat avec Spanner.

  • Détection de la fraude financière : utilisez Spanner Graph pour analyser les relations complexes entre les utilisateurs, les comptes et les transactions afin d'identifier les modèles et les anomalies suspects qui sont difficiles à détecter avec les bases de données relationnelles traditionnelles.

  • Vue à 360° des clients : avec Spanner Graph, obtenez une vue globale des clients en suivant leurs relations, leurs préférences et leurs historiques d'achat. Cela permet de fournir des recommandations personnalisées, de cibler des campagnes marketing et d'améliorer l'expérience du service client.

  • Réseaux sociaux : modélisez les activités et les interactions des utilisateurs avec Spanner Graph pour fournir des recommandations d'amis et découvrir du contenu sur les réseaux sociaux.

Étapes suivantes

Pour en savoir plus sur l'implémentation des fonctionnalités d'IA dans Spanner, consultez les rubriques suivantes :