Skip to main content

Qdrant

This page guides you through the process of setting up the Qdrant destination connector.

Output schema

The connector writes every source stream into a single Qdrant collection, which you name in the connector configuration. If that collection doesn't exist, the connector creates it, using the vector size of your embedding model and the distance metric you select.

If the collection already exists, its vector size must match the dimensions of your embedding model and its distance metric must match the Distance Metric you select. Otherwise, the connection check fails. To change either setting, create a new collection or select a different collection name.

Each record is chunked, and each chunk becomes a point with a randomly generated UUID as its point id. The chunk's embedding is the point vector. The point payload contains the record's metadata fields and, unless you enable Do not store raw text, the embedded text in the field named by Text Field.

The connector adds and indexes two payload fields it uses to manage records:

  • _ab_stream: the source stream, prefixed with the namespace when the stream has one, as namespace_stream.
  • _ab_record_id: the record's primary key. Present only for streams in append + deduped mode that have a primary key.

In overwrite mode, the connector deletes all points matching _ab_stream for that stream before the sync, rather than dropping the collection. Points from other streams in the same collection are untouched.

Supported sync modes

Sync modeSupported?
Full Refresh - OverwriteYes
Full Refresh - AppendYes
Full Refresh - Overwrite + DedupedYes
Incremental Sync - AppendYes
Incremental Sync - Append + DedupedYes

Requirements

To use this destination, you need:

  • A running Qdrant server, either in Qdrant Cloud or self-hosted. The connector always connects over the network, so Qdrant's embedded local mode and on-disk local persistence aren't supported. To try the connector locally, run Qdrant in Docker.
  • The endpoint URL of that server, and an API key if the server requires authentication.
  • Credentials for the embedding service you choose, unless you use the Fake embedder for testing.

Set up Qdrant

Qdrant Cloud

  1. Create a cluster by following Qdrant's cloud quickstart.
  2. Copy the cluster endpoint URL. It looks like https://xyz-example.eu-central.aws.cloud.qdrant.io:6333.
  3. Create a database API key for the cluster. Qdrant shows the key only once, so store it before closing the dialog. Give the key permission to write to the cluster, and, if you scope the key to specific collections, include the collection this connector writes to.

Self-hosted Qdrant

  1. Start Qdrant, for example with Docker: docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant.
  2. Use http://<host>:6333 as the endpoint URL. Qdrant serves its REST API on port 6333 and its gRPC API on port 6334.
  3. Self-hosted Qdrant has no authentication by default. If you haven't set an API key, select the no-authentication option in the connector. Anyone who can reach an unauthenticated server has full access to it, so don't expose one to the internet.

Configure network access

Airbyte must be able to reach your Qdrant server. If the server is in a VPC, allow access from the IP address Airbyte connects from.

Airbyte connects to the REST port in the endpoint URL. When Prefer gRPC is enabled, it also connects to gRPC port 6334 on the same host. The connector can't change the gRPC port, so make sure 6334 is reachable, and that gRPC is enabled on a self-hosted server. If you can only expose the REST port, disable Prefer gRPC.

Set up the Qdrant destination in Airbyte

Configure the following fields.

Processing

  • (Required) Chunk size: The maximum number of tokens per chunk. Keep it within the context window of your embedding model.
  • (Optional) Chunk overlap: The number of tokens repeated between consecutive chunks. Defaults to 0.
  • (Optional) Text fields to embed: The record fields to embed. If you leave this empty, the connector embeds all fields.
  • (Optional) Fields to store as metadata: The record fields to write to the point payload. If you leave this empty, the connector stores all fields.
  • (Optional) Text splitter: How to split long text into chunks. Choose splitting by separator, by Markdown headers, or by code syntax.
  • (Optional) Field name mappings: Rename source fields before they're written to the payload.

Embedding

(Required) Choose how to produce vectors. Options are OpenAI, Azure OpenAI, Cohere, OpenAI-compatible (for self-hosted or third-party services that implement the OpenAI embedding API), and Fake (random vectors, for testing only). Each option has its own configuration fields, including credentials or vector dimensions where applicable.

Indexing

  • (Required) Public Endpoint: The URL of your Qdrant server, such as https://xyz-example.eu-central.aws.cloud.qdrant.io:6333 or http://localhost:6333.
  • (Optional) Authentication Method: Either API key authentication, with your Qdrant API key, or no authentication. Defaults to API key authentication. When you use an API key, the endpoint must start with https://.
  • (Optional) Prefer gRPC: Whether to prefer gRPC over HTTP. Enabled by default, and recommended for Qdrant Cloud clusters.
  • (Required) Collection Name: The collection to write to.
  • (Optional) Distance Metric: The metric used to compare vectors. Choose Dot product, Cosine similarity, or Euclidean distance. Defaults to cosine similarity. The connector applies this only when it creates the collection. For an existing collection, the value must match the collection's metric.
  • (Optional) Text Field: The payload field that holds the embedded text. Defaults to text.

Advanced

  • (Optional) Do not store raw text: Write only the vector and metadata, without the text that was embedded.

Namespace support

This destination supports namespaces. All streams share one collection, so a stream's namespace appears in the _ab_stream payload field instead of creating a separate collection.

Reference

Config fields reference

Field
Type
Property name
object
embedding
object
indexing
object
processing
boolean
omit_raw_text

Changelog

Expand to review
VersionDatePull RequestSubject
0.1.422026-08-1384360Update the CDK to remediate CVE-2025-68664 in the langchain dependency
0.1.412025-05-1059814Update dependencies
0.1.402025-05-0358718Update dependencies
0.1.392025-04-1958282Update dependencies
0.1.382025-04-1257610Update dependencies
0.1.372025-04-0557162Update dependencies
0.1.362025-03-2956564Update dependencies
0.1.352025-03-2256159Update dependencies
0.1.342025-03-0855363Update dependencies
0.1.332025-03-0154889Update dependencies
0.1.322025-02-2254246Update dependencies
0.1.312025-02-1553939Update dependencies
0.1.302025-02-0853389Update dependencies
0.1.292025-02-0152917Update dependencies
0.1.282025-01-2552171Update dependencies
0.1.272025-01-1851716Update dependencies
0.1.262025-01-1151232Update dependencies
0.1.252025-01-0450917Update dependencies
0.1.242024-12-2850459Update dependencies
0.1.232024-12-2150222Update dependencies
0.1.222024-12-1449290Update dependencies
0.1.212024-11-2548641Update dependencies
0.1.202024-11-0448191Update dependencies
0.1.192024-10-2947757Update dependencies
0.1.182024-10-2847621Update dependencies
0.1.172024-10-2847054Update dependencies
0.1.162024-10-1246774Update dependencies
0.1.152024-10-0546417Update dependencies
0.1.142024-09-2846137Update dependencies
0.1.132024-09-2145830Update dependencies
0.1.122024-09-1445526Update dependencies
0.1.112024-09-0745217Update dependencies
0.1.102024-08-3144678Update dependencies
0.1.92024-08-1744293Update dependencies
0.1.82024-08-1243744Update dependencies
0.1.72024-08-1043529Update dependencies
0.1.62024-08-0343219Update dependencies
0.1.52024-07-2742620Update dependencies
0.1.42024-07-2042384Update dependencies
0.1.32024-07-1341919Update dependencies
0.1.22024-07-1041530Update dependencies
0.1.12024-07-0941096Update dependencies
0.1.02024-06-2741020Update to Airbyte CDK 2.3 and qdrant-client 1.10
0.0.132024-06-2740215Replaced deprecated AirbyteLogger with logging.Logger
0.0.122024-06-0639172[autopull] Upgrade base image to v1.2.2
0.0.112024-04-15#37333Updated CDK and pytest versions to fix security vulnerabilities
0.0.102023-12-11#33303Fix bug with embedding special tokens
0.0.92023-12-01#32697Allow omitting raw text
0.0.82023-11-29#32608Support deleting records for CDC sources and fix spec schema
0.0.72023-11-13#32357Improve spec schema
0.0.62023-10-23#31563Add field mapping option
0.0.52023-10-15#31329Add OpenAI-compatible embedder option
0.0.42023-10-04#31075Fix OpenAI embedder batch size
0.0.32023-09-29#30820Update CDK
0.0.22023-09-25#30689Update CDK to support Azure OpenAI embeddings and text splitting options
0.0.12023-09-22#30332🎉 New Destination: Qdrant (Vector Database)