Extensão do PostgreSQL escrita em Rust que adiciona ao pgvector um índice baseado em DiskANN e filtros por rótulos para buscas vetoriais mais rápidas e baratas.
pgvector/pgvector-python
Biblioteca Python que adiciona suporte ao tipo vector do pgvector e à busca por similaridade no Django, SQLAlchemy, Psycopg, asyncpg, Peewee e outros drivers de PostgreSQL.
- Estrelas
- 1,541
- Forks
- 104
- Issues abertas
- 9
- Último commit
- ontem
O que é?
pgvector-python é uma biblioteca cliente Python que permite às aplicações armazenar e consultar vetores no PostgreSQL por meio da extensão pgvector. Ela oferece tipos vector, half-precision, bit e sparse vector, além de operadores de distância para comparações L2, inner product, cosine, L1, Hamming e Jaccard.
O pacote se integra a várias tecnologias de banco de dados para Python, incluindo Django, SQLAlchemy, SQLModel, Psycopg 2 e 3, asyncpg, pg8000 e Peewee. Cada integração cobre as etapas comuns: habilitar a extensão, adicionar uma coluna vector, inserir embeddings, executar consultas de vizinhos mais próximos e criar índices HNSW ou IVFFlat.
O repositório também inclui scripts de exemplo para geração aumentada por recuperação com Ollama, embeddings com OpenAI e Cohere, busca híbrida, busca por imagens, recomendações e carregamento em massa com COPY.
Recursos principais
- 01Compatível com Django, SQLAlchemy, SQLModel, Psycopg 2/3, asyncpg, pg8000 e Peewee.
- 02Oferece tipos de campo vector, half-precision, bit e sparse vector.
- 03Disponibiliza operadores de distância, incluindo L2, inner product, cosine, L1, Hamming e Jaccard.
- 04Cria índices aproximados HNSW e IVFFlat por meio da API de cada biblioteca.
- 05Converte entre listas Python, arrays NumPy e arrays esparsos SciPy.
Casos de uso
- Adicionar busca semântica ou recuperação para RAG a uma aplicação Django ou SQLAlchemy com PostgreSQL.
- Armazenar embeddings de texto ou imagem gerados com OpenAI, Cohere ou SentenceTransformers no Postgres.
- Criar recursos de recomendação com vetores de usuários e itens em um banco de dados Postgres existente.
Início rápido
- 1
Instale o pacote do PyPI
pip install pgvector - 2
Ative a extensão pgvector no seu banco de dados PostgreSQL (exemplo com Psycopg 3)
conn.execute('CREATE EXTENSION IF NOT EXISTS vector') - 3
Registre o tipo vector na conexão e, em seguida, insira e consulte vetores seguindo o README da sua biblioteca
register_vector(conn)
Antes de usar
- É necessário ter a extensão pgvector instalada no servidor PostgreSQL.
- Cada biblioteca de banco de dados exige etapas de configuração e código de registro próprios.
Em coleções
Tópicos
Perguntas frequentes
- O que é pgvector-python?
- Biblioteca Python que adiciona suporte ao tipo vector do pgvector e à busca por similaridade no Django, SQLAlchemy, Psycopg, asyncpg, Peewee e outros drivers de PostgreSQL. pgvector-python é uma biblioteca cliente Python que permite às aplicações armazenar e consultar vetores no PostgreSQL por meio da extensão pgvector. Ela oferece tipos vector, half-precision, bit e sparse vector, além de operadores de distância para comparações L2, inner product, cosine, L1, Hamming e Jaccard.
- pgvector-python é gratuito? Qual é a licença?
- pgvector-python é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- pgvector-python ainda é mantido?
- Manutenção ativa. O último commit de pgvector-python foi em 5 de nov. de 2026.
- Para que posso usar pgvector-python?
- Adicionar busca semântica ou recuperação para RAG a uma aplicação Django ou SQLAlchemy com PostgreSQL. Armazenar embeddings de texto ou imagem gerados com OpenAI, Cohere ou SentenceTransformers no Postgres. Criar recursos de recomendação com vetores de usuários e itens em um banco de dados Postgres existente.
- Como instalar pgvector-python?
- Instale o pacote do PyPI: pip install pgvector Ative a extensão pgvector no seu banco de dados PostgreSQL (exemplo com Psycopg 3): conn.execute('CREATE EXTENSION IF NOT EXISTS vector') Registre o tipo vector na conexão e, em seguida, insira e consulte vetores seguindo o README da sua biblioteca: register_vector(conn)
- Onde consigo pgvector-python?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pgvector/pgvector-python
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Suporte em Go à extensão pgvector do PostgreSQL, com tipos para vetores e helpers para pgx, pg, Bun, Ent, GORM e sqlx.
Biblioteca auxiliar para JavaScript e TypeScript que adiciona suporte ao tipo vetorial do pgvector em clientes de banco de dados e ORMs para Node.js, Deno e Bun.
Milvus é um banco de dados vetorial distribuído e open source para armazenar e pesquisar embeddings em grande escala, usado em buscas com IA e aplicações de RAG.
O Qdrant é um mecanismo de busca por similaridade vetorial e banco de dados vetorial baseado em Rust, com filtragem por payload, voltado a busca semântica e recomendações.
Extensão open source de busca por similaridade vetorial para Postgres, que armazena e consulta embeddings junto aos seus dados relacionais.