Repolode
pgvector

pgvector/pgvector-go

Suporte em Go à extensão pgvector do PostgreSQL, com tipos para vetores e helpers para pgx, pg, Bun, Ent, GORM e sqlx.

Estrelas
356
Forks
16
Issues abertas
0
Último commit
ontem

O que é?

pgvector-go é uma biblioteca Go que permite às aplicações armazenar e consultar embeddings vetoriais no PostgreSQL usando a extensão pgvector. Ela oferece tipos Go para vetores densos, half vectors e vetores esparsos, além de adapters para usar esses tipos diretamente com pgx, pg, Bun, Ent, GORM e sqlx.

A biblioteca cobre o fluxo de trabalho mais comum: habilitar a extensão, definir uma coluna vetorial, inserir embeddings e executar consultas de vizinhos mais próximos com operadores de distância como L2, produto interno e cosseno. Ela também mostra como criar índices HNSW ou IVFFlat para buscas aproximadas. A integração com Ent inclui helpers para várias funções de distância.

Os exemplos do repositório abrangem embeddings da OpenAI e da Cohere, busca híbrida com Reciprocal Rank Fusion, busca esparsa, recomendações, escalabilidade horizontal com Citus e carregamento em massa com COPY.

Recursos principais

  • 01Tipos Go para vetores densos, half vectors e vetores esparsos
  • 02Adapters para pgx, pg, Bun, Ent, GORM e sqlx
  • 03Consultas de vizinhos mais próximos com operadores de distância L2, produto interno e cosseno
  • 04Exemplos de criação de índices HNSW e IVFFlat
  • 05Exemplos com OpenAI, Cohere, busca híbrida e carregamento em massa com COPY

Casos de uso

  • Adicionar busca semântica ou recuperação de informações a um serviço Go com PostgreSQL
  • Armazenar embeddings de texto ou imagem junto com dados relacionais
  • Criar recursos de recomendação que classificam itens por similaridade vetorial
  • Carregar grandes conjuntos de dados de embeddings no PostgreSQL com eficiência

Início rápido

  1. 1

    Instale o pacote principal de Go

    go get github.com/pgvector/pgvector-go
  2. 2

    Instale o pacote de integração do pgx

    go get github.com/pgvector/pgvector-go/pgx
  3. 3

    Ative a extensão pgvector no PostgreSQL

    CREATE EXTENSION IF NOT EXISTS vector

Antes de usar

  • Requer PostgreSQL com a extensão pgvector instalada no servidor.

Em coleções

Tópicos

Perguntas frequentes

O que é pgvector-go?
Suporte em Go à extensão pgvector do PostgreSQL, com tipos para vetores e helpers para pgx, pg, Bun, Ent, GORM e sqlx. pgvector-go é uma biblioteca Go que permite às aplicações armazenar e consultar embeddings vetoriais no PostgreSQL usando a extensão pgvector. Ela oferece tipos Go para vetores densos, half vectors e vetores esparsos, além de adapters para usar esses tipos diretamente com pgx, pg, Bun, Ent, GORM e sqlx.
pgvector-go é gratuito? Qual é a licença?
pgvector-go é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
pgvector-go ainda é mantido?
Manutenção ativa. O último commit de pgvector-go foi em 5 de nov. de 2026.
Para que posso usar pgvector-go?
Adicionar busca semântica ou recuperação de informações a um serviço Go com PostgreSQL Armazenar embeddings de texto ou imagem junto com dados relacionais Criar recursos de recomendação que classificam itens por similaridade vetorial Carregar grandes conjuntos de dados de embeddings no PostgreSQL com eficiência
Como instalar pgvector-go?
Instale o pacote principal de Go: go get github.com/pgvector/pgvector-go Instale o pacote de integração do pgx: go get github.com/pgvector/pgvector-go/pgx Ative a extensão pgvector no PostgreSQL: CREATE EXTENSION IF NOT EXISTS vector
Onde consigo pgvector-go?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pgvector/pgvector-go

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados