Skip to content

Embex - The Universal Vector Database ORM

Embex is a vector database ORM that provides one API across Pinecone, Qdrant, LanceDB, Milvus, Chroma, Weaviate, and PgVector. It allows you to write your code once and run it with any supported provider.

Every vector database currently has a different API. If you start with one provider and want to switch later—maybe for better performance, lower costs, or different features—you have to rewrite your entire codebase.

You’re locked into vendor-specific APIs:

# Pinecone specific code
index.upsert(vectors=[(id, values, metadata)])
results = index.query(vector=query, top_k=5)

Embex provides one unified API that works with seven different databases.

Your core logic stays exactly the same. To switch providers, you only change one configuration line.

# Works with ANY provider
await client.collection("products").insert(vectors)
results = await client.collection("products").search(vector=query, top_k=5)

Switching from development (LanceDB) to production (Qdrant) is trivial:

client = await EmbexClient.new_async(provider="lancedb", url="./data")
client = await EmbexClient.new_async(provider="qdrant", url="http://localhost:6333")

Stop writing vendor-specific adapter code. Embex abstracts the differences between providers so you can focus on building your application.

Embex isn’t just a wrapper. The core is written in Rust with SIMD acceleration, making vector operations up to 4x faster than native Python clients for tasks like normalization and cosine similarity.

Built for scale with features that many native clients miss:

  • Connection Pooling: Efficiently manage database connections.
  • Built-in Migrations: Manage schema changes across any provider.
  • Observability: Hooks for monitoring and metrics.

Embex currently supports:

  • LanceDB: Perfect for local development and embedded apps (No Docker required).
  • Qdrant: High-performance, scalable vector search engine.
  • Pinecone: Fully managed vector database.
  • Chroma: Open-source embedding database.
  • Weaviate: AI-native vector database.
  • PgVector: Vector similarity search for PostgreSQL.
  • Milvus: Cloud-native vector database for massive scale.