Preparar uma coluna de vetores
Prepare o ambiente
Crie uma tabela de estudo para embeddings e mantenha a dimensão alinhada ao modelo utilizado.
- Projeto de estudo separado dos registros de produção.
- Conhecimento da trilha Comece aqui.
Escolha o modelo antes da coluna
Um embedding representa um texto como uma sequência numérica. O modelo determina a quantidade de dimensões. Registre nome, versão e dimensão antes de criar a coluna. Vetores gerados por modelos diferentes não devem ser comparados como se pertencessem ao mesmo espaço.
O exemplo abaixo usa 384 dimensões somente para ilustrar o schema. Use esse número apenas se ele corresponder ao modelo escolhido.
Prepare a tabela
No projeto de estudo, habilite a extensão vector no schema extensions. Depois execute:
create extension if not exists vector with schema extensions;create table public.trechos ( id uuid primary key default gen_random_uuid(), user_id uuid not null references auth.users(id), conteudo text not null, modelo text not null, embedding extensions.vector(384));alter table public.trechos enable row level security;Se a extensão já estiver instalada em outro schema, ajuste a referência ao tipo conforme a instalação. Essa tabela ainda não tem políticas para o cliente. Defina SELECT e INSERT por proprietário antes de conectá-la à aplicação, seguindo o guia de RLS.
Separe geração e consulta
Gere embeddings no servidor quando o provedor exigir uma chave secreta. Armazene o trecho original, a identificação do modelo e o vetor correspondente. Não envie documentos privados a um provedor sem considerar as condições de uso e o destino dos documentos.
Na busca, gere o vetor da pergunta com o mesmo modelo. Escolha a métrica de distância adequada e limite a consulta aos registros permitidos para o usuário. Uma função SQL de busca também precisa respeitar a autorização definida para a tabela.
Confira a base de estudo
Comece com poucos trechos conhecidos. Confira a dimensão recebida, a associação entre texto e vetor e o isolamento entre usuários. Depois avalie a qualidade dos resultados com perguntas cujas respostas estejam nesses trechos. Índices vetoriais entram após medir volume e tempo de consulta. Criar a coluna é apenas a preparação da base, não um sistema RAG completo.
Confira o resultado
Execute as conferências descritas no guia e registre ambiente, versão e resultado antes de aplicar em outro projeto.
Fontes consultadas
Procedimento conferido na documentação oficial. A execução em uma instância Supabase não foi realizada nesta revisão.
