Repolode
pgvector

pgvector/pgvector-python

Biblioteca de Python que incorpora compatibilidad con el tipo vectorial de pgvector y la búsqueda por similitud en Django, SQLAlchemy, Psycopg, asyncpg, Peewee y otros drivers de PostgreSQL.

Estrellas
1,541
Forks
104
Issues abiertos
9
Último commit
ayer

¿Qué es?

pgvector-python es una biblioteca cliente de Python que permite a las aplicaciones almacenar y consultar vectores en PostgreSQL mediante la extensión pgvector. Ofrece tipos vectoriales, de media precisión, de bits y dispersos, además de operadores de distancia para comparaciones L2, de producto interno, coseno, L1, Hamming y Jaccard.

El paquete se integra con distintos stacks de bases de datos de Python, como Django, SQLAlchemy, SQLModel, Psycopg 2 y 3, asyncpg, pg8000 y Peewee. Cada integración cubre los pasos habituales: habilitar la extensión, añadir una columna vectorial, insertar embeddings, ejecutar consultas de vecinos más cercanos y crear índices HNSW o IVFFlat.

El repositorio también incluye scripts de ejemplo para generación aumentada por recuperación con Ollama, embeddings con OpenAI y Cohere, búsqueda híbrida, búsqueda de imágenes, recomendaciones y carga masiva con COPY.

Funciones clave

  • 01Es compatible con Django, SQLAlchemy, SQLModel, Psycopg 2/3, asyncpg, pg8000 y Peewee.
  • 02Ofrece tipos de campo vectoriales, de media precisión, de bits y dispersos.
  • 03Incluye operadores de distancia como L2, producto interno, coseno, L1, Hamming y Jaccard.
  • 04Crea índices aproximados HNSW y IVFFlat mediante la API de cada biblioteca.
  • 05Convierte entre listas de Python, arrays de NumPy y arrays dispersos de SciPy.

Casos de uso

  • Añadir búsqueda semántica o recuperación RAG a una aplicación de Django o SQLAlchemy respaldada por PostgreSQL.
  • Almacenar embeddings de texto o imágenes de OpenAI, Cohere o SentenceTransformers en Postgres.
  • Crear funciones de recomendación a partir de vectores de usuarios y elementos en una base de datos Postgres existente.

Inicio rápido

  1. 1

    Instala el paquete desde PyPI

    pip install pgvector
  2. 2

    Activa la extensión pgvector en tu base de datos PostgreSQL (ejemplo con Psycopg 3)

    conn.execute('CREATE EXTENSION IF NOT EXISTS vector')
  3. 3

    Registra el tipo vector en la conexión y, después, inserta y consulta vectores siguiendo el README de tu biblioteca

    register_vector(conn)

Antes de usarlo

  • Es necesario tener instalada la extensión pgvector en el servidor PostgreSQL.
  • Cada biblioteca de bases de datos requiere sus propios pasos de configuración y código de registro.

En colecciones

Temas

Preguntas frecuentes

¿Qué es pgvector-python?
Biblioteca de Python que incorpora compatibilidad con el tipo vectorial de pgvector y la búsqueda por similitud en Django, SQLAlchemy, Psycopg, asyncpg, Peewee y otros drivers de PostgreSQL. pgvector-python es una biblioteca cliente de Python que permite a las aplicaciones almacenar y consultar vectores en PostgreSQL mediante la extensión pgvector. Ofrece tipos vectoriales, de media precisión, de bits y dispersos, además de operadores de distancia para comparaciones L2, de producto interno, coseno, L1, Hamming y Jaccard.
¿pgvector-python es gratuito? ¿Qué licencia tiene?
pgvector-python es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿pgvector-python sigue mantenido?
Mantenimiento activo. El último commit de pgvector-python fue el 5 nov 2026.
¿Para qué puedo usar pgvector-python?
Añadir búsqueda semántica o recuperación RAG a una aplicación de Django o SQLAlchemy respaldada por PostgreSQL. Almacenar embeddings de texto o imágenes de OpenAI, Cohere o SentenceTransformers en Postgres. Crear funciones de recomendación a partir de vectores de usuarios y elementos en una base de datos Postgres existente.
¿Cómo se instala pgvector-python?
Instala el paquete desde PyPI: pip install pgvector Activa la extensión pgvector en tu base de datos PostgreSQL (ejemplo con Psycopg 3): conn.execute('CREATE EXTENSION IF NOT EXISTS vector') Registra el tipo vector en la conexión y, después, inserta y consulta vectores siguiendo el README de tu biblioteca: register_vector(conn)
¿Dónde consigo pgvector-python?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pgvector/pgvector-python

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

Proyectos relacionados