Visão geral da IA do Spanner

O Spanner e seus recursos multimodais se integram aos serviços de IA do Google Cloude ao LangChain, um framework de código aberto, para ajudar a criar aplicativos de IA generativa. É possível melhorar os 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 na escalonabilidade, disponibilidade e consistência.

Use o Spanner com a pesquisa vetorial para implementar a pesquisa por similaridade em dados de texto não estruturados. O Spanner se integra a serviços como a Vertex AI 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 parecidos com o embedding da solicitação de pesquisa. Esse processo permite criar recursos como recomendações de produtos ou conteúdo.

Para começar, gere e faça o backfill de embeddings de vetor da Vertex AI em massa para dados textuais atuais. Para isso, use SQL e um modelo de embedding da Vertex AI, como o modelo text-embedding, descrito na documentação da API Text Embeddings. O Spanner oferece suporte ao uso de vizinhos mais próximos aproximados (ANN) e vizinhos k-mais próximos (KNN) com embeddings de vetor de consulta. O ANN usa um índice vetorial 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 lento para grandes conjuntos de dados. É possível usar várias funções de distância vetorial 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, independente 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 computacionais 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) implantados na Vertex AI. O acesso direto aos LLMs permite executar previsões para tarefas como análise de sentimentos, classificação de texto e tradução em dados armazenados no Spanner.

Ao usar a função ML.PREDICT (GoogleSQL) ou spanner.ML_PREDICT_ROW (PostgreSQL), é possível gerar previsões de machine learning (ML) sem precisar mover seus dados ou escrever código de aplicativo personalizado para interagir com o LLM. Isso simplifica a arquitetura do aplicativo e aproxima os recursos de ML dos seus 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

Você pode conectar sua instância do Spanner a ambientes de desenvolvimento integrado 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. Depois da conexão, os agentes de LLM podem consultar e interagir com sua instância do Spanner. Para mais informações, consulte Conectar seu ambiente de desenvolvimento integrado 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. Com o Spanner Graph, é possível modelar, armazenar e consultar dados altamente conectados.

Integre o Spanner Graph ao LangChain para criar aplicativos GraphRAG. Essa integração pode melhorar a RAG tradicional. Com o GraphRAG, é possível criar aplicativos que capturam relações complexas entre entidades, como um mapa de informações. A integração usa consultas de gráfico e pesquisa vetorial para capturar relacionamentos complexos e implícitos nos seus dados. Usar consultas de gráficos e a Pesquisa Vetorial juntas pode fornecer respostas mais precisas e relevantes do seu LLM do que usar apenas a Pesquisa Vetorial.

Para mais informações, consulte Infraestrutura do GraphRAG para IA generativa usando a Vertex AI 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 seu aplicativo com a classe.

  • SpannerLoader: carrega dados do Spanner para serem usados em embeddings ou para fornecer contexto específico a cadeias de LLM com a classe.

  • SpannerChatMessageHistory: permite 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 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:

  • Mecanismos de recomendação de e-commerce: gere embeddings de vetores para descrições de produtos e impulsione 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 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 e identificar padrões e anomalias suspeitos 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 completa dos clientes rastreando relacionamentos, preferências e históricos de compras. Isso oferece recomendações personalizadas, campanhas de marketing segmentadas e experiências de atendimento ao cliente aprimoradas.

  • Redes sociais: modelam 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: