Introduction
Embex is the universal vector database client.
The Recommended Path
Section titled “The Recommended Path”We recommend starting with LanceDB for development. It runs embedded (no Docker, no cloud setup), stores data locally, and is production-ready.
When you’re ready to scale or need a managed service, you can switch to Qdrant, Pinecone, or others without rewriting your code.
Why Async Initialization?
Section titled “Why Async Initialization?”# Initialize properly for ANY provider (local or cloud)client = await EmbexClient.new_async(provider="lancedb", url="./data")// Initialize properly for ANY provider (local or cloud)const client = await EmbexClient.newAsync("lancedb", "./data");Features
Section titled “Features”- Unified API: Switch providers (Qdrant, Pinecone, LanceDB, Chroma, etc.) with a single line of config.
- High Performance: Powered by a shared Rust core with SIMD acceleration.
- Production Ready: Connection pooling, migrations, and observability built-in.