O Spanner e seus recursos multimodelo se integram aos Google Cloud's serviços de IA e ao LangChain, um framework de código aberto, para ajudar a criar aplicativos de IA generativa. É possível aprimorar aplicativos com recursos como pesquisa de similaridade, geração aumentada de recuperação (RAG) e mapas de informações. O Spanner cria essa funcionalidade com base em escalonabilidade, disponibilidade e consistência.
Realizar pesquisas de similaridade com a pesquisa de vetores
Use o Spanner com a pesquisa de vetores para implementar a pesquisa de similaridade em dados de texto não estruturados. O Spanner se integra a serviços como a Gemini Enterprise Agent Platform para invocar a geração de embeddings de vetor de dados de texto não estruturados. Esses embeddings são representações numéricas que refletem o significado semântico do texto. Para encontrar itens conceitualmente semelhantes, use funções de distância de vetor para encontrar vetores de embedding mais semelhantes ao embedding da solicitação de pesquisa. Esse processo permite criar recursos como recomendações de produtos ou conteúdo.
Para começar,
gere e preencha embeddings de vetor do Agent Platform
em massa para dados textuais atuais. Para fazer isso, use o SQL e um modelo de embedding da Agent Platform, como o modelo text-embedding, descrito na documentação da API de embeddings de texto.
O Spanner oferece suporte ao uso de
vizinhos mais próximos aproximados (ANN)
e
vizinhos mais próximos exatos (KNN) com embeddings de vetor de
consulta. O ANN usa um índice de vetor para uma pesquisa rápida e escalonável que retorna resultados aproximados. O KNN realiza uma pesquisa exaustiva que retorna resultados mais precisos, mas pode ser lenta para grandes conjuntos de dados. É possível usar
várias funções de distância de vetor
para medir a similaridade, incluindo:
Distância de cosseno: mede o cosseno do ângulo entre dois vetores, o que é útil para encontrar itens com orientação semelhante, independentemente da magnitude.
Distância euclidiana: mede a distância em linha reta entre dois vetores.
Produto escalar: calcula o produto das magnitudes do vetor e o cosseno do ângulo entre eles. Essa pode ser a opção mais eficiente em termos de computação para vetores normalizados.
Para mais informações, consulte os tópicos a seguir:
Gerar previsões de ML com SQL
É possível usar consultas SQL no Spanner para invocar modelos de linguagem grandes (LLMs) que são implantados na Agent Platform. O acesso direto aos LLMs permite executar previsões para tarefas como análise de sentimentos, classificação de texto e tradução de dados armazenados no Spanner.
Ao usar a função
ML.PREDICT
(GoogleSQL) ou
spanner.ML_PREDICT_ROW
(PostgreSQL), é possível gerar previsões de aprendizado de máquina (ML)
sem precisar mover os dados ou escrever um código de aplicativo personalizado para
interagir com o LLM. Isso simplifica a arquitetura do aplicativo e aproxima os recursos de ML dos dados. Para mais informações, consulte
Gerar previsões de ML usando SQL.
Usar o Protocolo de Contexto de Modelo (MCP) para se conectar a agentes de LLM
É possível conectar sua instância do Spanner a IDEs que oferecem suporte ao Protocolo de Contexto de Modelo (MCP). O MCP é um protocolo aberto que pode ser usado para conectar LLMs aos seus dados no Spanner. Após a conexão, os agentes de LLM podem consultar e interagir com sua instância do Spanner. Para mais informações, consulte Conectar seu IDE ao Spanner.
Descobrir insights com gráficos do Spanner
Para casos de uso mais avançados de RAG, o Spanner Graph integra recursos de banco de dados de gráficos com os principais pontos fortes do Spanner. O Spanner Graph permite modelar, armazenar e consultar dados altamente conectados.
Integre o Spanner Graph ao LangChain para criar aplicativos GraphRAG. Essa integração pode aprimorar o RAG tradicional. O GraphRAG permite criar aplicativos que capturam relações complexas entre entidades, como um mapa de informações. A integração usa consultas de gráficos, além da pesquisa de vetores, para capturar relações complexas e implícitas nos dados. O uso de consultas de gráficos e da pesquisa de vetores juntos pode fornecer respostas mais precisas e relevantes do LLM do que usar apenas a pesquisa de vetores.
Para mais informações, consulte Infraestrutura do GraphRAG para IA generativa usando a Agent Platform e o Spanner Graph.
Criar aplicativos com tecnologia de LLM usando o LangChain
O Spanner oferece várias classes para trabalhar de forma programática com o LangChain. O LangChain é um framework de orquestração de LLM que fornece a estrutura, as ferramentas e os componentes para otimizar fluxos de trabalho complexos de LLM. Use o LangChain para criar aplicativos de IA generativa e fluxos de trabalho de RAG. As classes do LangChain disponíveis para o Spanner incluem:
SpannerVectorStore: armazene e pesquise embeddings de vetor para ativar a pesquisa de similaridade no aplicativo com a classe.SpannerLoader: carregue dados do Spanner para serem usados em embeddings ou para fornecer um contexto específico para cadeias de LLM com a classe.SpannerChatMessageHistory: ative aplicativos de IA conversacional armazenando o histórico de conversas em um banco de dados do Spanner.
Para mais informações, consulte Criar aplicativos com tecnologia de LLM usando o LangChain e a biblioteca de cliente do Spanner para LangChain.
Análise de casos de uso
Use os recursos de IA do Spanner para criar aplicativos inteligentes para casos de uso como os seguintes:
Mecanismos de recomendação de e-commerce: gere embeddings de vetor para descrições de produtos para alimentar um mecanismo de recomendação. Esse mecanismo pode sugerir itens semelhantes aos clientes, o que melhora a experiência de compra e aumenta as vendas. Para mais informações, consulte Usar a IA generativa para receber recomendações personalizadas em um aplicativo de e-commerce.
Gerenciar o histórico de mensagens de chat: use o Spanner e o LangChain para armazenar e recuperar o histórico de conversas. O Spanner armazena esses dados em um banco de dados e fornece a classe
SpannerChatMessageHistory. Essa classe estende uma classe de base do LangChain para salvar e recuperar mensagens de um banco de dados. Para mais informações, consulte Histórico de mensagens de chat com o Spanner.Detecção de fraudes financeiras: use o Spanner Graph para analisar relações complexas entre usuários, contas e transações para identificar padrões e anomalias suspeitas que são difíceis de detectar com bancos de dados relacionais tradicionais.
Visão 360° do cliente: com o Spanner Graph, tenha uma visão holística dos clientes rastreando relações, preferências e históricos de compras. Isso fornece recomendações personalizadas, campanhas de marketing segmentadas e experiências de atendimento ao cliente aprimoradas.
Redes sociais: modele atividades e interações do usuário com o Spanner Graph para fornecer recomendações de amigos e descobrir conteúdo em redes sociais.
A seguir
Para saber mais sobre como implementar recursos de IA no Spanner, consulte os seguintes tópicos:
- Gerar e preencher embeddings de vetor
- Encontrar os k-vizinhos mais próximos
- Melhorar o desempenho da pesquisa de vetores com vizinhos mais próximos aproximados
- Integração do LangChain
- Visão geral do Spanner Graph