Skip to content

vinid/omnivector

Repository files navigation

OmniVector

image

image

Documentation Status

OmniVector provides a simple interface to vector databases. We integrate the main functionalities of different vector dbs, generally indexing and searching, into a single interface. This allows us to easily switch between different vector dbs.

db = WeaviateDB()  # or PineconeDB() or LanceDB()

encoder = SentenceTransformerEmbedder("paraphrase-MiniLM-L6-v2", device="cpu")
docs = ["the cat is on the table", "the table is on the cat", "the dog is mining bitcoins"]


ids = list(range(4, len(docs) + 4))
embeddings = encoder.embed(docs)

db.create_index()
db.add(ids, docs, embeddings)
search_vector = encoder.embed(["the dog is mining bitcoins"])[0]
print(db.vector_search(search_vector, k=1))

Features

  • The AbstractDB requires setting OMNIVECTOR_CONFIG env variable to a config file (an example is in config.yaml)

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages