About
This skill guides developers using Qdrant Edge, the embedded in-process vector search engine. It helps you leverage built-in features like BM25, snapshots, and local sync while clarifying what you must implement yourself, such as cloud synchronization and query fusion logic. Use it to avoid reinventing core functionality and to understand the shard's API boundaries.
Quick Install
Claude Code
Recommendednpx skills add qdrant/skills -a claude-code/plugin add https://github.com/qdrant/skillsgit clone https://github.com/qdrant/skills.git ~/.claude/skills/qdrant-edgeCopy and paste this command in Claude Code to install this skill
Documentation
Building on Qdrant Edge
Edge is the Qdrant engine embedded in your process (Python or Rust), not a thin local vector store to wrap. The failure mode is rebuilding what the shard already ships: keyword scoring, snapshot apply, faceting, counting. Before writing any of that, check the shard API. Two things Edge does NOT give you are a one-call cloud sync and query-time fusion, so knowing which is which keeps you from both reinventing built-ins and expecting capabilities Edge lacks. Edge is single-node and shares the server's data format.
- Edge is in beta: pin your version, the API drifts between releases Qdrant Edge.
Syncing a Shard with a Qdrant Server
Use when: seeding a shard from a server, keeping it fresh, backing it up, or aggregating many devices into one collection.
There is no built-in .sync(). Sync is a pattern you assemble from shard helpers plus your own transport, so do not go looking for one call.
- Follow the documented dual-shard pattern: a
mutableshard for local writes plus animmutableshard restored from a server snapshot, query both, refresh on a schedule Edge synchronization guide. - You write the snapshot download (plain HTTP to the shard snapshot endpoint), then apply it with
unpack_snapshotandupdate_from_snapshot. Do not untar or merge segments by hand Synchronization patterns. - Refresh incrementally with a partial snapshot built from
snapshot_manifest, not a full snapshot every cycle Synchronization patterns. - Push is your own dual-write: on each local upsert, enqueue the point and let a background worker upsert it to the server, buffering while offline Synchronization patterns.
Keyword and Hybrid Search on Device
Use when: you need exact-term or BM25 matching, alone or alongside vectors.
- BM25 is built into Edge (
Bm25,Bm25Config,embed_document,embed_query) with the IDFModifieronEdgeSparseVectorParams, and is wire-compatible with server BM25: a shard seeded from a server snapshot answers local BM25 queries without re-indexing. Do not ship a second BM25 library Edge BM25 - Dense embeddings are NOT in Edge: generate them on device with the separate
fastembedpackage FastEmbed embeddings - Edge queries one vector field per request (
using) and does not fuse dense and sparse at query time. Run each leg separately and combine the rankings in application code Edge quickstart
Operating the Shard
Use when: writes have accumulated, search looks stale after inserts, or a backup is larger than the data.
- Edge has NO background optimizer. Call
optimizeafter bulk writes: it builds indexes (including the sparse index) and reclaims deleted points. Skip it and that data stays unindexed Edge quickstart - Faceting, counting, and enumeration are built in (
facet,count,scroll); index the fields you filter or facet withcreate_field_indexrather than aggregating in application code Edge quickstart - The write-ahead log is pre-allocated to 32 MB and inflates apparent disk and backup size. Shrink it with
wal_options(Rust), and do not treat raw file size as real usage Edge quickstart
What NOT to Do
- Expect a bidirectional
.sync()or a built-in push path: Edge gives you snapshot apply, you own the transport and the dual-write - Untar or merge snapshot segments by hand instead of using
unpack_snapshotandupdate_from_snapshot - Ship a custom or third-party BM25 when Edge has one built in
- Use
embed_documentfor queries orembed_queryfor documents: the weighting differs and results go wrong - Assume Edge fuses dense and sparse or consumes Prefetch: combine the rankings in application code
- Assume a background optimizer like the server's: nothing is indexed or compacted until you call
optimize - Reach for Edge when you need distributed or multi-node search: it is single-node Qdrant Edge
- Claim support for a language beyond Python and Rust, or an OS or accelerator the Edge docs do not state
GitHub Repository
Frequently asked questions
What is the qdrant-edge skill?
qdrant-edge is a Claude Skill by qdrant. Skills package instructions and resources that Claude loads on demand, so Claude can perform qdrant-edge-related tasks without extra prompting.
How do I install qdrant-edge?
Use the install commands on this page: add qdrant-edge to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does qdrant-edge belong to?
qdrant-edge is in the Meta category, tagged word, ai and design.
Is qdrant-edge free to use?
Yes. qdrant-edge is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Related Skills
This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
