Install any skill in seconds. Free to start, no credit card required.
Get Started Free →qdrant/qdrant-multitenancy
Guides tenant isolation architecture in Qdrant for multi-tenant or multi-user applications.
Passed 23 of 23 test cases with the skill, and 18 of 23 without it.
and 6 more in the full report
5 fixed18 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/11/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
We are building a multi-tenant SaaS platform on Qdrant where thousands of small customers will store vector embeddings. We want to avoid creating a separate collection for every single user. Could you provide a recommended collection setup and index configuration guide? Specifically, explain how to configure payload indexing for tenant isolation, how to format query filters, and what performance tuning parameters we should adjust if vector ingestion becomes a bottleneck across shared collections.
| Checked | Without skill | With skill |
|---|---|---|
| Recommends creating a single collection partitioned by payload. | Passed | Passed |
| Specifies setting is_tenant to true when creating the keyword payload index. | Missed | Passed |
| Requires a must filter clause on the tenant field in query requests. | Passed | Passed |
| Recommends setting m to 0 in HNSW configuration to disable global graph creation. | Missed | Passed |
| Recommends setting payload_m to a non-zero value to build per-tenant indexes. | Missed | Passed |
The instructions your model reads when the skill loads.
Multitenancy is how you isolate data across multiple users or tenants within a single Qdrant deployment.
Use when: you have many tenants of roughly similar, modest size. This is the recommended default for most users.
One collection holds every tenant. A payload field marks ownership, and a filter on that field at query time is what isolates each tenant's results.
is_tenant=true (the flag requires v1.11+). is_tenant tells Qdrant the field identifies tenants, so each tenant's vectors are stored together and served by sequential reads. Check .must filter on the tenant field. Without it, a query searches every tenant's data. Check Payload-based multitenancy.m=0 and payload_m to a non-zero value. Although this accelerates the indexing process, keep in mind that requests without a tenant filter will become slower as they must scan all groups. So only make this trade if you hit the bottleneck and cross-tenant search is rare. Calibrate performance.Use when: you have a realistic SaaS distribution: a few large customers and many small ones, possibly with small tenants that grow over time. Available in v1.16+. It avoids the noisy-neighbor problem, where one big tenant forces the whole cluster to scale, raising costs and degrading performance for everyone else.
Tiered multitenancy keeps small tenants together in a shared fallback shard while isolating large tenants in their own dedicated shards, all in one collection. It layers two isolation levels: payload-based tenancy for logical isolation, and custom sharding for physical/ resource-based isolation of the large tenants. A tenant that outgrows the shared shard can be promoted to a dedicated shard later with no downtime.
test cases passed, vs 18 / 23 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.