Crie aplicações de IA generativa com o Cloud SQL

Esta página oferece uma vista geral das capacidades oferecidas pelo Cloud SQL para PostgreSQL para ajudar a criar aplicações de IA generativa. Para começar a usar uma aplicação de exemplo, consulte o artigo Comece a usar o Cloud SQL para aplicações de IA generativa.

A geração aumentada por recuperação (GAR) é uma técnica para otimizar o resultado de um modelo de linguagem (conteúdo extenso) (MDL/CE) através da referência a uma base de conhecimentos autorizada antes de gerar uma resposta. A RAG melhora as aplicações de IA generativa, aumentando a respetiva precisão. As bases de dados do Cloud SQL oferecem capacidades preparadas para aplicações de IA generativa e RAG, conforme explicado nesta página.

Gere incorporações vetoriais

As incorporações vetoriais são essenciais para a RAG, pois permitem uma compreensão semântica e uma pesquisa de similaridade eficiente. Estas incorporações são representações numéricas de texto, imagens, áudio e vídeo. Os modelos de incorporação geram as incorporações de vetores para que, se dois conteúdos forem semanticamente semelhantes, as respetivas incorporações estejam localizadas perto umas das outras no espaço vetorial de incorporação.

O Cloud SQL integra-se com o Vertex AI. Pode usar os modelos alojados na Vertex AI para gerar incorporações vetoriais através de consultas SQL.

O Cloud SQL expande a sintaxe do PostgreSQL com uma função de incorporação para gerar incorporações de vetores de texto. Depois de gerar estas incorporações, pode armazená-las numa base de dados do Cloud SQL sem precisar de uma base de dados vetorial separada.

Também pode usar o Cloud SQL para armazenar incorporações de vetores geradas fora do Cloud SQL. Por exemplo, pode armazenar incorporações vetoriais geradas através de modelos pré-preparados no Vertex AI Model Garden. Pode usar estas incorporações vetoriais como entradas para funções pgvector para pesquisas semânticas e de semelhanças.

Armazene, indexe e consulte incorporações de vetores com o pgvector

Pode armazenar, indexar e consultar incorporações de vetores no Cloud SQL através da extensão pgvector PostgreSQL.

Para mais informações sobre a configuração desta extensão, consulte o artigo Configure extensões do PostgreSQL. Para mais informações sobre o armazenamento, a indexação e a consulta de incorporações de vetores, consulte os artigos Armazene uma incorporação gerada e Consulte e indexe incorporações através da API pgvector.

Invocar previsões online através de consultas SQL

Pode invocar previsões online usando modelos armazenados no Vertex AI Model Garden através de consultas SQL.

Use a integração do LangChain

O Cloud SQL integra-se com o LangChain, uma framework de orquestração de MDIs/CEs de código aberto, para simplificar o desenvolvimento de aplicações de IA generativa. Pode usar os seguintes pacotes LangChain:

Melhore o desempenho da pesquisa vetorial

Pode melhorar o desempenho de uma pesquisa vetorial com o seguinte:

  • Cache de dados: use uma cache de dados integrada que tira partido de um SSD local rápido para armazenar páginas de dados que são lidas com frequência. Pode obter uma melhoria até três vezes superior no desempenho de leitura em comparação com a leitura a partir de um disco persistente.
  • Métricas da cache de dados: otimize as consultas com base na eficácia com que a cache de dados é usada numa pesquisa vetorial.

    O Cloud SQL fornece as seguintes métricas no Explorador de métricas no Cloud Monitoring:

    Métrica Descrição Etiqueta de métrica
    Cache de dados usada A utilização da cache de dados (em bytes) database/data_cache/bytes_used
    Quota da cache de dados O tamanho máximo da cache de dados (em bytes) database/data_cache/quota
    Contagem de resultados da cache de dados O número total de operações de leitura de acertos da cache de dados para uma instância database/postgresql/data_cache/hit_count
    Contagem de falhas de cache de dados O número total de operações de leitura de falhas de cache de dados para uma instância database/postgresql/data_cache/miss_count
    Relação de resultados da cache de dados A proporção de operações de leitura de acertos na cache de dados para operações de leitura de falhas na cache de dados de uma instância
    database/postgresql/data_cache/hit_ratio
  • Estatísticas do sistema: fornecem métricas do sistema, como a utilização da CPU, a utilização do disco e a taxa de transferência, para ajudar a monitorizar o estado das instâncias e resolver problemas que afetam o desempenho das suas aplicações de IA generativa. Para ver estas métricas, use o painel de controlo do Cloud SQL System Insights.

  • Estatísticas de consultas: detete, diagnostique e evite problemas de desempenho de consultas. Isto é útil para melhorar o desempenho da pesquisa vetorial nas suas aplicações de IA generativa.

    Pode usar o painel de controlo do Query Insights do Cloud SQL para observar o desempenho das principais consultas e analisar estas consultas através de planos de consultas visuais. Também pode monitorizar o desempenho ao nível da aplicação e rastrear a origem de uma consulta problemática na pilha de aplicações até à base de dados através do SQLcommenter. Esta é uma biblioteca de código aberto, de mapeamento objeto-relacional (ORM) e de instrumentação automática.

    As estatísticas de consultas também podem ajudar a integrar-se com as suas ferramentas de monitorização de aplicações (APM) existentes para que possa resolver problemas de consultas usando ferramentas com as quais está familiarizado.

Vantagens da utilização do Cloud SQL para aplicações de IA generativa

A utilização do Cloud SQL para criar aplicações de IA generativa oferece o seguinte:

  • Use o PostgreSQL para criar aplicações de IA generativa. O Cloud SQL para PostgreSQL suporta o pgvector e integra-se com o Vertex AI e o LangChain.
  • Use um serviço fidedigno que tenha proteção, segurança e governação de dados de nível empresarial. Ao usar o Cloud SQL, tem as seguintes vantagens:
    • Um SLA de alta disponibilidade de 99,99% que inclui a manutenção
    • Um serviço gerido que lhe oferece funcionalidades como cópias de segurança automáticas, replicação, patches, encriptação e aumentos automáticos da capacidade de armazenamento
    • Capacidades de segurança, administração e conformidade
  • Combine-os com dados operacionais contextuais. Use junções e filtros em dados operacionais enquanto usa incorporações vetoriais para receber respostas contextuais, precisas e atualizadas nas suas aplicações de IA generativa.
  • Reduzir as dificuldades de funcionamento. Use o Cloud SQL como base de dados vetorial para reduzir os esforços operacionais associados à exportação de dados para uma base de dados vetorial separada.
  • Aceda aos modelos de IA generativa mais recentes. Use consultas SQL para aceder aos modelos de IA mais recentes alojados no Vertex AI.

Comece a usar o Cloud SQL para aplicações de IA generativa

Para começar a criar aplicações de IA generativa, use esta app de exemplo. A app usa o Cloud SQL, o Vertex AI e o Google Kubernetes Engine (GKE) ou o Cloud Run. Pode usar a app para criar uma API de chatbot básica que:

  • Integra o GKE ou o Cloud Run com o Cloud SQL, o Vertex AI e o pgvector
  • Demonstra a conetividade ao Cloud SQL através do Private Service Connect numa nuvem virtual privada (VPC)
  • Usa o Terraform para configurar a sua infraestrutura
  • Usa Python com asyncpg e FastAPI
  • Suporta a configuração do Cloud SQL e de uma app que é executada no GKE ou no Cloud Run em Google Cloud projetos separados

A solução contém os seguintes conteúdos:

  • Modelos do Terraform para configurar a sua infraestrutura com práticas recomendadas de segurança
  • Uma app de exemplo para um chatbot com tecnologia de um MDG que pode implementar no GKE ou no Cloud Run

O que se segue?