Welcome to Epsilla, the revolutionary open-source vector database that promises to be 10x faster, cheaper, and better than its competitors. This guide is aimed at helping you set up and dive into the exciting world of vector search with EpsillaDB. Let’s roll up our sleeves and get started!
Understanding Epsilla: A Quick Overview
Think of Epsilla as a powerful librarian who can swiftly find any book (information) you’re looking for in a gigantic library (database). But not just that—this librarian also remembers details about the books and can even summarize their content based on your queries. This is achieved through advanced vector indexing techniques, allowing you to retrieve data efficiently even as your library grows.
Quick Start Using Docker
To get started, we’ll run Epsilla in a Docker container and interact with it via a Python client. Here’s a simple step-by-step guide:
1. Run Backend in Docker
docker pull epsillavector
docker run --pull=always -d -p 8888:8888 -v data:data epsillavector
2. Interact with Python Client
Once you have the backend running, you can interact with it using Python. Follow these steps:
pip install pyepsilla
from pyepsilla import vectordb
client = vectordb.Client(host='localhost', port=8888)
client.load_db(db_name='MyDB', db_path='data/epsilla')
client.use_db(db_name='MyDB')
client.create_table(
table_name='MyTable',
table_fields=[
{'name': 'ID', 'dataType': 'INT', 'primaryKey': True},
{'name': 'Doc', 'dataType': 'STRING'},
],
indices=[
{'name': 'Index', 'field': 'Doc'},
]
)
client.insert(
table_name='MyTable',
records=[
{'ID': 1, 'Doc': 'Jupiter is the largest planet in our solar system.'},
{'ID': 2, 'Doc': 'Cheetahs are the fastest land animals, reaching speeds over 60 mph.'},
{'ID': 3, 'Doc': 'Vincent van Gogh painted the famous work Starry Night.'},
{'ID': 4, 'Doc': 'The Amazon River is the longest river in the world.'},
{'ID': 5, 'Doc': 'The Moon completes one orbit around Earth every 27 days.'},
],
)
client.query(
table_name='MyTable',
query_text='Celestial bodies and their characteristics',
limit=2
)# Result
# message: Query search successfully.,
# result:
# [
# {'Doc': 'Jupiter is the largest planet in our solar system.', 'ID': 1},
# {'Doc': 'The Moon completes one orbit around Earth every 27 days.', 'ID': 5}
# ],
# statusCode: 200
Key Features of Epsilla
- High performance for similarity search on embedding vectors
- Full-fledged database management with easy familiarity
- Metadata filtering
- Hybrid search options combining dense and sparse vectors
- Cloud-native architecture with serverless capabilities
- Integrates with popular frameworks like LangChain and LlamaIndex
- Supports various programming clients including Python, JavaScript, Ruby, and REST API
Using Epsilla as a Python Library (Experimental)
You can also use Epsilla as a Python library without having to run the Docker image. Here’s how to do that:
1. Build Epsilla Python Bindings Package
cd engine/scripts
bash setup-dev.sh (only if on Ubuntu)
bash install_oatpp_modules.sh
cd ..
bash build.sh
ls -lh build/*.so
2. Run Tests with Python Bindings
cd engine
export PYTHONPATH=./build
export DB_PATH=tmpdb
python3 testbindings.py
Troubleshooting Common Issues
If you encounter issues during setup, here are some common troubleshooting steps:
- Ensure Docker is installed and running properly.
- If you face networking issues, check your firewall settings or ensure Docker is exposing the correct ports.
- For Python client issues, confirm that you have installed the pyepsilla library correctly.
- If you receive errors related to database connectivity, double-check that your DB name and path are correctly specified in your code.
- For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Conclusion
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
Final Thoughts
With this guide, you’re well on your way to harnessing the power of Epsilla. Its ability to deliver high-performance searches, efficiency, and cost-effectiveness will undoubtedly take your data management and retrieval to the next level. Happy coding!

