Minimal implementation of a local embedding database
Project description
iota - a minimal local embedding database.
Motivation
WIP
[!IMPORTANT] This project is by no means scalable, but should suffice for smaller projects.
Installation
Install the package via PyPI:
pip install iotadb
Usage
Here is a very simple example:
from iotadb import IotaDB, Document
# Define a list of documents
docs = [
Document(text="That is a happy dog"),
Document(text="That is a very happy person"),
Document(text="Today is a sunny day")
]
# Create a collection
db = IotaDB()
db.create_collection(name="my_collection", documents=docs)
# Query documents within your collection
results = db.search("That is a happy person", return_similarities=True)
for doc, score in results:
print(f"Text: {doc.text}")
print(f"similarity: {score:.3f}\n")
More examples can be found in the /examples
directory.
Features
- Simple interface: Easy-to-use API for database operations.
- Lightweight implementation: Minimal resource utilization.
- Local storage: Stores embeddings locally for fast and retrieval.
- Fast Indexing: Efficient embedding indexing for storage and retrieval.
Use cases
- Query with Natural Language: Search for relevant documents using simple natural language queries.
- Contextual Summarization: Integrate documents into LLM contexts like GPT-3 for data-augmented tasks.
- Similarity Search: Find similar items/documents based on their embeddings.
Contributing
Interested in contributing? Head over to the Contribution Guide for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
iotadb-0.0.15.tar.gz
(6.4 kB
view hashes)