Esta página fornece uma visão geral dos recursos oferecidos pelo Cloud SQL para PostgreSQL para ajudar você a criar aplicativos de IA generativa. Para começar a usar um aplicativo de exemplo, consulte "Introdução ao uso do Cloud SQL para aplicativos de IA generativa" .
A Geração Aumentada por Recuperação (RAG) é uma técnica para otimizar a saída de um modelo de linguagem de grande porte (LLM) referenciando uma base de conhecimento confiável antes de gerar uma resposta. A RAG aprimora aplicações de IA generativa, aumentando sua precisão. Os bancos de dados Cloud SQL oferecem recursos selecionados para RAG e aplicações de IA generativa, conforme explicado nesta página.
Gerar embeddings vetoriais
Embeddings vetoriais são essenciais para RAG porque permitem uma compreensão semântica e uma busca por similaridade eficiente. Esses embeddings são representações numéricas de texto, imagens, áudio e vídeo. Os modelos de embedding geram os embeddings vetoriais de forma que, se dois conteúdos forem semanticamente semelhantes, seus respectivos embeddings estejam localizados próximos um do outro no espaço vetorial de embedding.
O Cloud SQL integra-se ao Vertex AI . Você pode usar os modelos hospedados pelo Vertex AI para gerar embeddings de vetores usando consultas SQL.
O Cloud SQL estende a sintaxe do PostgreSQL com uma função de incorporação para gerar embeddings vetoriais de texto. Após gerar esses embeddings, você pode armazená-los em um banco de dados Cloud SQL sem precisar de um banco de dados vetorial separado.
Você também pode usar o Cloud SQL para armazenar embeddings vetoriais gerados fora do Cloud SQL. Por exemplo, você pode armazenar embeddings vetoriais gerados usando modelos pré-treinados no Vertex AI Model Garden . Você pode usar esses embeddings vetoriais como entradas para funções pgvector
para pesquisas de similaridade e semântica.
Armazene, indexe e consulte embeddings de vetores com pgvector
Você pode armazenar, indexar e consultar embeddings de vetores no Cloud SQL usando a extensão pgvector
PostgreSQL.
Para obter mais informações sobre como configurar esta extensão, consulte Configurar extensões do PostgreSQL . Para obter mais informações sobre como armazenar, indexar e consultar embeddings vetoriais, consulte Armazenar um embedding gerado e Consultar e indexar embeddings usando pgvector
.
Invocar previsões on-line usando consultas SQL
Você pode invocar previsões on-line usando modelos armazenados no Vertex AI Model Garden usando consultas SQL.
Use a integração LangChain
O Cloud SQL integra-se ao LangChain , uma estrutura de orquestração LLM de código aberto, para simplificar o desenvolvimento de aplicações de IA generativa. Você pode usar os seguintes pacotes do LangChain:
- Carregadores de documentos : carregam e armazenam informações de documentos
- Lojas de vetores : use LangChain para habilitar a pesquisa semântica
- Mensagens de bate-papo : habilite cadeias para relembrar conversas anteriores
Melhore o desempenho da pesquisa vetorial
Você pode melhorar o desempenho de uma pesquisa vetorial usando o seguinte:
- Cache de dados : use um cache de dados integrado que utiliza um SSD local rápido para armazenar páginas de dados lidas com frequência. Você pode obter uma melhoria de até três vezes no desempenho de leitura em comparação com a leitura de um disco persistente.
Métricas de cache de dados : otimizam consultas com base na eficácia com que o cache de dados é usado em uma pesquisa vetorial.
O Cloud SQL fornece as seguintes métricas no Metrics Explorer no Cloud Monitoring:
Métrica Descrição Rótulo métrico Cache de dados usado O uso do cache de dados (em bytes) database/data_cache/bytes_used
Cota de cache de dados O tamanho máximo do cache de dados (em bytes) database/data_cache/quota
Contagem de acertos do cache de dados O número total de operações de leitura de acertos do 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 incorreta do cache de dados para uma instância database/postgresql/data_cache/miss_count
Taxa de acerto do cache de dados A proporção de operações de leitura de acertos no cache de dados para operações de leitura de erros no cache de dados para uma instância
database/postgresql/data_cache/hit_ratio
Insights do Sistema : forneça métricas do sistema, como utilização da CPU, utilização do disco e taxa de transferência, para ajudar a monitorar a integridade das instâncias e solucionar problemas que afetam o desempenho dos seus aplicativos de IA generativa. Para visualizar essas métricas, use o painel do Cloud SQL System Insights .
Insights de Consulta : detecta, diagnostica e previne problemas de desempenho de consulta. Isso é útil para melhorar o desempenho da pesquisa vetorial em seus aplicativos de IA generativa.
Você pode usar o painel do Cloud SQL Query Insights para observar o desempenho das principais consultas e analisá-las usando planos de consulta visuais. Você também pode monitorar o desempenho no nível do aplicativo e rastrear a origem de uma consulta problemática na pilha do aplicativo até o banco de dados usando o SQLcommenter . Esta é uma biblioteca de autoinstrumentação de mapeamento objeto-relacional (ORM) de código aberto.
O Query Insights também pode ajudar você a integrar com suas ferramentas de monitoramento de aplicativos (APM) existentes para que você possa solucionar problemas de consulta usando ferramentas com as quais está familiarizado.
Benefícios do uso do Cloud SQL para aplicativos de IA generativa
Usar o Cloud SQL para criar aplicativos de IA generativa proporciona o seguinte:
- Use o PostgreSQL para criar aplicativos de IA generativa . O Cloud SQL para PostgreSQL oferece suporte
pgvector
e integra-se ao Vertex AI e ao LangChain. - Utilize um serviço confiável com proteção de dados, segurança e governança de nível empresarial . Ao usar o Cloud SQL, você obtém os seguintes benefícios:
- Um SLA de alta disponibilidade de 99,99% que inclui manutenção
- Um serviço gerenciado que fornece recursos como backups automáticos, replicação, patches, criptografia e aumento automático da capacidade de armazenamento
- Recursos de segurança, governança e conformidade
- Combine com dados operacionais contextuais . Use junções e filtros em dados operacionais enquanto utiliza embeddings vetoriais para obter respostas contextuais, precisas e atualizadas em suas aplicações de IA generativa.
- Reduza os esforços operacionais . Use o Cloud SQL como seu banco de dados vetorial para reduzir os esforços operacionais associados à exportação de dados para um banco de dados vetorial separado.
- Acesse os modelos de IA generativa mais recentes . Use consultas SQL para acessar os modelos de IA mais recentes hospedados no Vertex AI.
Comece a usar o Cloud SQL para aplicativos de IA generativa
Para começar a criar aplicativos de IA generativa, use este aplicativo de exemplo . O aplicativo utiliza Cloud SQL, Vertex AI e Google Kubernetes Engine (GKE) ou Cloud Run. Você pode usar o aplicativo para criar uma API básica de chatbot que:
- Integra GKE ou Cloud Run com Cloud SQL, Vertex AI e
pgvector
- Demonstra conectividade com o Cloud SQL usando o Private Service Connect em uma Nuvem Privada Virtual (VPC)
- Usa o Terraform para configurar sua infraestrutura
- Usa Python com
asyncpg
eFastAPI
- Oferece suporte à configuração do Cloud SQL e de um aplicativo executado no GKE ou no Cloud Run em instâncias separadas. Google Cloud projetos
A solução contém o seguinte conteúdo:
- Modelos Terraform para configurar sua infraestrutura com as melhores práticas de segurança
- Um aplicativo de exemplo para um chatbot com tecnologia LLM que você pode implantar no GKE ou no Cloud Run