Repolode
pgvector

pgvector/pgvector-go

Compatibilidad con pgvector para Go, con tipos vectoriales y utilidades para pgx, pg, Bun, Ent, GORM y sqlx.

Estrellas
356
Forks
16
Issues abiertos
0
Último commit
anteayer

¿Qué es?

pgvector-go es una biblioteca de Go que permite a las aplicaciones almacenar y consultar embeddings vectoriales en PostgreSQL mediante la extensión pgvector. Ofrece tipos de Go para vectores densos, half vectors y vectores dispersos, además de adaptadores para que estos tipos funcionen directamente con pgx, pg, Bun, Ent, GORM y sqlx.

La biblioteca cubre el flujo de trabajo habitual: habilitar la extensión, definir una columna vectorial, insertar embeddings y ejecutar consultas de vecinos más cercanos con operadores de distancia como L2, producto interno y coseno. También muestra cómo crear índices HNSW o IVFFlat para búsquedas aproximadas. La integración con Ent incluye utilidades para varias funciones de distancia.

Los ejemplos del repositorio abarcan embeddings de OpenAI y Cohere, búsqueda híbrida con Reciprocal Rank Fusion, búsqueda dispersa, recomendaciones, escalado horizontal con Citus y carga masiva con COPY.

Funciones clave

  • 01Tipos de Go para vectores densos, half vectors y vectores dispersos
  • 02Adaptadores para pgx, pg, Bun, Ent, GORM y sqlx
  • 03Consultas de vecinos más cercanos con operadores de distancia L2, producto interno y coseno
  • 04Ejemplos de creación de índices HNSW e IVFFlat
  • 05Ejemplos de OpenAI, Cohere, búsqueda híbrida y carga masiva con COPY

Casos de uso

  • Añadir búsqueda semántica o recuperación de información a un servicio de Go respaldado por PostgreSQL
  • Almacenar embeddings de texto o imágenes junto con datos relacionales
  • Crear funciones de recomendación que ordenen elementos según su similitud vectorial
  • Cargar grandes conjuntos de datos de embeddings en PostgreSQL de forma eficiente

Inicio rápido

  1. 1

    Instala el paquete principal de Go

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

    Instala el paquete de integración de pgx

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

    Activa la extensión pgvector en PostgreSQL

    CREATE EXTENSION IF NOT EXISTS vector

Antes de usarlo

  • Requiere PostgreSQL con la extensión pgvector instalada en el servidor.

En colecciones

Temas

Preguntas frecuentes

¿Qué es pgvector-go?
Compatibilidad con pgvector para Go, con tipos vectoriales y utilidades para pgx, pg, Bun, Ent, GORM y sqlx. pgvector-go es una biblioteca de Go que permite a las aplicaciones almacenar y consultar embeddings vectoriales en PostgreSQL mediante la extensión pgvector. Ofrece tipos de Go para vectores densos, half vectors y vectores dispersos, además de adaptadores para que estos tipos funcionen directamente con pgx, pg, Bun, Ent, GORM y sqlx.
¿pgvector-go es gratuito? ¿Qué licencia tiene?
pgvector-go es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pgvector-go sigue mantenido?
Mantenimiento activo. El último commit de pgvector-go fue el 5 nov 2026.
¿Para qué puedo usar pgvector-go?
Añadir búsqueda semántica o recuperación de información a un servicio de Go respaldado por PostgreSQL Almacenar embeddings de texto o imágenes junto con datos relacionales Crear funciones de recomendación que ordenen elementos según su similitud vectorial Cargar grandes conjuntos de datos de embeddings en PostgreSQL de forma eficiente
¿Cómo se instala pgvector-go?
Instala el paquete principal de Go: go get github.com/pgvector/pgvector-go Instala el paquete de integración de pgx: go get github.com/pgvector/pgvector-go/pgx Activa la extensión pgvector en PostgreSQL: CREATE EXTENSION IF NOT EXISTS vector
¿Dónde consigo pgvector-go?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pgvector/pgvector-go

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados