Skip to content
Back to skills

Qdrant

ASecurity

Qdrant is a production-grade vector similarity search engine with extended payload-based filtering, hybrid search (dense + sparse vectors), and multi-tenant collection partitioning.

  • 13 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 21, 2026
ai-agentstypescriptbashreactvueapidatabase

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 21, 2026

npx -y skills add ashish7802/awesome-api-skills --skill qdrant --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Qdrant?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Qdrant
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashish7802-qdrant/badge)](https://www.skillsdirectory.com/skills/ashish7802-qdrant)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Qdrant Vector Database API Skill

## Overview
Qdrant is a production-grade vector similarity search engine with extended payload-based filtering, hybrid search (dense + sparse vectors), and multi-tenant collection partitioning.

## Installation
```bash
npm install @qdrant/js-client-rest
pip install qdrant-client
```

## Authentication
Connect using API keys for Qdrant Cloud or direct endpoint URLs for self-hosted instances.

```typescript
import { QdrantClient } from '@qdrant/js-client-rest';

const client = new QdrantClient({
  url: process.env.QDRANT_URL || 'http://localhost:6333',
  apiKey: process.env.QDRANT_API_KEY,
});
```

## Core API Operations

### 1. Create Collection
```typescript
await client.createCollection('knowledge-base', {
  vectors: {
    size: 1536, // Match embedding model dimension
    distance: 'Cosine',
  },
  optimizers_config: {
    default_segment_number: 2,
  },
  replication_factor: 2,
});
```

### 2. Upsert Vector Points with Metadata Payload
```typescript
await client.upsert('knowledge-base', {
  wait: true,
  points: [
    {
      id: 'doc-uuid-101',
      vector: [0.012, -0.043, 0.089 /* 1536 dimensions */],
      payload: {
        document_id: 'doc-101',
        title: 'Qdrant Architecture Overview',
        tenant_id: 'team_alpha',
        tags: ['vector-db', 'ai'],
        created_at: Date.now(),
      },
    },
  ],
});
```

### 3. Vector Similarity Search with Payload Filtering
```typescript
const searchResults = await client.search('knowledge-base', {
  vector: queryEmbeddingVector,
  limit: 5,
  filter: {
    must: [
      { key: 'tenant_id', match: { value: 'team_alpha' } },
      { key: 'tags', match: { any: ['ai'] } },
    ],
  },
  with_payload: true,
  score_threshold: 0.75,
});
```

## AI Pitfalls & Anti-Hallucination Guidelines
- **Dimension Mismatches**: Do not assume 1536 dimensions; verify if the embedding model outputs 768, 1536, or 3072 dimensions.
- **Unindexed Payload Filters**: Queries with `filter` on non-indexed payload fields trigger full collection scans on large datasets. Always call `createPayloadIndex`.
- **Client Bundling**: Never instantiate `QdrantClient` with write API keys in client-side React/Vue components.

## Production Verification Checklist
- [ ] Collection vector distance metric matches the embedding model (Cosine for normalized embeddings, Dot/Euclid otherwise)
- [ ] Multi-tenant isolation verified with tenant filtering rules
- [ ] Write operations set `wait: true` or handle async acknowledgement
- [ ] Payload indexes created for frequently filtered attributes

---
> **Last Verified:** 2026-07-03

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.