---
title: qdrant_service | CodeWeaver Docs
description: API reference for codeweaver.providers.vector_stores.qdrant_service
url: "https://docs.knitli.com/api/providers/vector_stores/qdrant_service"
type: static
generatedAt: "2026-04-17T17:21:09.456Z"
---

# qdrant_service
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/providers/vector_stores/qdrant_service.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F&text=qdrant_service)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F&text=qdrant_service)[Share on Bluesky](https://bsky.app/intent/compose?text=qdrant_service%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F&title=qdrant_service)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F&t=qdrant_service)[Share on Email](mailto:?subject=qdrant_service&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F)[Share on WhatsApp](https://wa.me/?text=qdrant_service%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fproviders%2Fvector_stores%2Fqdrant_service%2F&text=qdrant_service)
# `codeweaver.providers.vector_stores.qdrant_service`
[Section titled “codeweaver.providers.vector_stores.qdrant_service”](#codeweaverprovidersvector_storesqdrant_service)
Service layer for Qdrant vector store operations.

This module separates behavior (DI-dependent operations) from configuration (pure data). The service uses QdrantVectorStoreProviderSettings (pure data) + injected dependencies to perform vector store operations.

Architecture:

 - QdrantVectorStoreProviderSettings: Pure configuration (data)
 - QdrantVectorStoreService: Behavior + DI (service)
 - This separation enables:
 - Easy testing (instantiate service with mocks)
 - Clear responsibilities (settings = data, service = operations)
 - No pydantic issues with DI

Usage:

# In tests (unit tests with mocks):
[Section titled “In tests (unit tests with mocks):”](#in-tests-unit-tests-with-mocks)
settings = QdrantVectorStoreProviderSettings(…) mock_embedding = Mock(spec=EmbeddingCapabilityGroup) service = QdrantVectorStoreService(settings, mock_embedding)

# In application (DI container resolves):
[Section titled “In application (DI container resolves):”](#in-application-di-container-resolves)
service = await container.resolve(QdrantVectorStoreService)

## Class: `QdrantVectorStoreService`
[Section titled “Class: QdrantVectorStoreService”](#class-qdrantvectorstoreservice)
Service layer for Qdrant vector store operations.

Responsibilities:

 - Use settings (pure data) to perform operations
 - Manage injected dependencies (embedding group, failover settings)
 - Encapsulate business logic (WalConfig merging, collection configuration)

This class separates behavior from configuration following SOLID principles:

 - Single Responsibility: Settings hold data, Service performs operations
 - Dependency Inversion: Service depends on abstractions (EmbeddingCapabilityGroup)
 - Open/Closed: Settings can be used without service infrastructure

The service is testable:

 - Unit tests: Instantiate with mock dependencies
 - Integration tests: Let DI container resolve dependencies

### Method: `get_collection_config`
[Section titled “Method: get_collection_config”](#method-get_collection_config)

**

```
get_collection_config()
```

Get collection configuration, merging failover WalConfig if backup system is enabled.

When the backup system is active, failover WalConfig settings take precedence over user-configured settings to ensure proper snapshot and recovery functionality.

Args: metadata: Collection metadata

Returns: QdrantCollectionConfig with merged WalConfig settings

Example:

# Unit test with mocks
[Section titled “Unit test with mocks”](#unit-test-with-mocks)
service = QdrantVectorStoreService( settings=test_settings, embedding_group=mock_embedding_group, failover_settings=mock_failover, ) config = await service.get_collection_config(metadata)

# Integration test with DI
[Section titled “Integration test with DI”](#integration-test-with-di)
service = await container.resolve(QdrantVectorStoreService) config = await service.get_collection_config(metadata)

## Function: `create_qdrant_service`
[Section titled “Function: create_qdrant_service”](#function-create_qdrant_service)

**

```
create_qdrant_service()
```

Factory function with DI for application startup.

The DI container resolves all dependencies and creates the service. This is used in production code paths.

Args: settings_dep: Provider settings (DI resolves) embedding_group: Embedding capability group (DI resolves) failover_settings: Failover configuration (DI resolves) failover_detector: Failover detector (DI resolves)

Returns: Configured QdrantVectorStoreService

Example:

# In application startup or endpoint handlers
[Section titled “In application startup or endpoint handlers”](#in-application-startup-or-endpoint-handlers)
service = await container.resolve(QdrantVectorStoreService) config = await service.get_collection_config(metadata)