Skip to main content

No project description provided

Project description

PyVectorDB

Simple Wrapper for Vector Database in Python which support CRUD and retrieve by distance.

Installation

pip install pyvectordb

Usage Example

PGVector

PGvector is an extension for PostgreSQL that allows the storage, indexing, and querying of vector embeddings. It is designed to support vector similarity search, which is useful in machine learning applications like natural language processing, image recognition, and recommendation systems. By storing vector embeddings as a data type, PGvector enables efficient similarity searches using distance metrics such as cosine similarity, Euclidean distance, inner product, etc.

import os
from pyvectordb import PgvectorDB, Vector
from pyvectordb.distance_function import DistanceFunction

v = Vector(
    embedding=[2., 2., 1.]
)

print("VECTOR", v)

pgv = PgvectorDB(
    db_user=os.getenv("PG_USER"),
    db_password=os.getenv("PG_PASSWORD"),
    db_host=os.getenv("PG_HOST"),
    db_port=os.getenv("PG_PORT"),
    db_name=os.getenv("PG_NAME"),
    collection=os.getenv("PG_COLLECTION"),
    distance_function=DistanceFunction.L2,
)

new_v = pgv.create_vector(v)
print("CREATE_VECTOR", new_v)

new_v = pgv.read_vector(new_v.id)
print("READ_VECTOR", new_v)

new_v = pgv.update_vector(new_v)
print("UPDATE_VECTOR", new_v)

for x in pgv.get_neighbor_vectors(v, 5):
    print(f"{x}")

pgv.delete_vector(new_v.id)
print("DELETE_VECTOR")

Qdrant

Qdrant “is a vector similarity search engine that provides a production-ready service with a convenient API to store, search, and manage points (i.e. vectors) with an additional payload.” You can think of the payloads as additional pieces of information that can help you hone in on your search and also receive useful information that you can give to your users.

Using Qdrant in pyvectordb is simple, you only need to change the client to QdrantDB

from pyvectordb import QdrantDB

qv = QdrantDB(
    host=os.getenv("Q_HOST"),
    api_key=os.getenv("Q_API_KEY"),
    port=os.getenv("Q_PORT"),
    collection=os.getenv("Q_COLLECTION"),
    vector_size=int(os.getenv("Q_SIZE")),
    distance_function=DistanceFunction.COSINE,
)

Chroma DB

Chroma is the AI-native open-source vector database. Chroma makes it easy to build LLM apps by making knowledge, facts, and skills pluggable for LLMs.

from pyvectordb import ChromaDB

ch = ChromaDB(
    host=os.getenv("CH_HOST"),
    port=os.getenv("CH_PORT"),
    auth_provider=os.getenv("CH_AUTH_PROVIDER"),
    auth_credentials=os.getenv("CH_AUTH_CREDENTIALS"),
    collection_name=os.getenv("CH_COLLECTION_NAME"),
    distance_function=DistanceFunction.L2,
)

Support or Anything

Reach me out on email razifrizqullah@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvectordb-0.1.2.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

pyvectordb-0.1.2-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file pyvectordb-0.1.2.tar.gz.

File metadata

  • Download URL: pyvectordb-0.1.2.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.5 Darwin/23.0.0

File hashes

Hashes for pyvectordb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 97577fbb253d2784ec795158a7d0c398c3cf490c4da1b47263a24e7160334192
MD5 58dbd4b93fbc3682e2b0d1d0fa5d6608
BLAKE2b-256 16bc7800526dd7c7d5c5a8d5aa2cd07c402aa0c99205af33c9b73f7bf27777e2

See more details on using hashes here.

File details

Details for the file pyvectordb-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pyvectordb-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.5 Darwin/23.0.0

File hashes

Hashes for pyvectordb-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 67b3084deca4a2133e74fa87c9e500507274483b234aa047d3e5f9dd2fe4dab6
MD5 e9d4e3072628e860d57540ec3c37a08e
BLAKE2b-256 ceebf4a4b7dec66701542e2a70e8feaa74153d78935446c3977599f763431d5d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page