Epsilla is an open-source vector database. Our focus is on ensuring scalability, high performance, and cost-effectiveness of vector search. EpsillaDB bridges the gap between information retrieval and memory retention in Large Language Models.
The key features of Epsilla include:
-
High performance and production-scale similarity search for embedding vectors.
-
Full fledged database management system with familiar database, table, and field concepts. Vector is just another field type.
-
Native Python support and REST API interface.
Epsilla’s core is written in C++ and leverages the advanced academic parallel graph traversal techniques for vector indexing, achieving 10 times faster vector search than HNSW while maintaining precision levels of over 99.9%.
Quick Start
1. Run Backend in Docker
docker pull epsilla/vectordb docker run --pull=always -d -p 8888:8888 -v /tmp:/tmp epsilla/vectordb
2. Interact with Python Client
from pyepsilla import vectordb client = vectordb.Client(host='localhost', port='8888') client.load_db(db_name="MyDB", db_path="/tmp/epsilla") client.use_db(db_name="MyDB") client.create_table( table_name="MyTable", table_fields=[ {"name": "ID", "dataType": "INT"}, {"name": "Doc", "dataType": "STRING"}, {"name": "Embedding", "dataType": "VECTOR_FLOAT", "dimensions": 4} ] ) client.insert( table_name="MyTable", records=[ {"ID": 1, "Doc": "Berlin", "Embedding": [0.05, 0.61, 0.76, 0.74]}, {"ID": 2, "Doc": "London", "Embedding": [0.19, 0.81, 0.75, 0.11]}, {"ID": 3, "Doc": "Moscow", "Embedding": [0.36, 0.55, 0.47, 0.94