qdrant
Adds items to a Qdrant collection.
This output writes messages into a collection in Qdrant, a vector database. Each message becomes a point, with the vector extracted through vector_mapping, an optional payload set through payload_mapping, and a point ID taken from id.
# Config fields, showing default values
output:
label: ""
qdrant:
max_in_flight: 64
batching:
count: 0
byte_size: 0
period: ""
check: ""
processors: []
grpc_host: "" # No default (required)
api_token: ""
tls:
enabled: false
skip_cert_verify: false
enable_renegotiation: false
root_cas: ""
root_cas_file: ""
client_certs: []
collection_name: "" # No default (required)
id: "" # No default (required)
vector_mapping: "" # No default (required)
payload_mapping: root = {}
Examples
- Basic insert
- Qdrant Cloud with TLS
Insert points into a local Qdrant collection, generating a random point ID for each message.
output:
qdrant:
grpc_host: localhost:6334
collection_name: my_collection
id: root = uuid_v4()
vector_mapping: 'root = this.vector'
payload_mapping: 'root = this.metadata'
Insert points into a hosted Qdrant Cloud collection over a TLS connection, authenticating with an API token supplied through an environment variable.
output:
qdrant:
grpc_host: xyz-example.eu-central.aws.cloud.qdrant.io:6334
api_token: "${QDRANT_API_TOKEN}"
tls:
enabled: true
collection_name: documents
id: root = this.id
vector_mapping: 'root = this.embedding'
payload_mapping: 'root = {"text": this.text}'
Fields
max_in_flight
The maximum number of messages to have in flight at a given time. Increase this to improve throughput.
Type: int
Default: 64
batching
Allows you to configure a batching policy.
Type: object
batching.count
A number of messages at which the batch should be flushed. If 0 disables count based batching.
Type: int
Default: 0
batching.byte_size
An amount of bytes at which the batch should be flushed. If 0 disables size based batching.
Type: int
Default: 0
batching.period
A period in which an incomplete batch should be flushed regardless of its size.
Type: string
Default: ""
batching.check
A Bloblang query that should return a boolean value indicating whether a message should end a batch.
Type: string
Default: ""
batching.processors[]
A list of processors to apply to a batch as it is flushed. This allows you to aggregate and archive the batch however you see fit. Please note that all resulting messages are flushed as a single batch, therefore splitting the batch into smaller batches using these processors is a no-op.
Type: processor
grpc_host
The gRPC host of the Qdrant server.
Type: string
api_token
The Qdrant API token for authentication. Defaults to an empty string. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::
Type: string
Default: ""
tls
Configure Transport Layer Security (TLS) settings to secure network connections. This includes options for standard TLS as well as mutual TLS (mTLS) authentication.
Type: object
tls.enabled
Whether custom TLS settings are enabled.
Type: bool
Default: false
tls.skip_cert_verify
Whether to skip server side certificate verification.
Type: bool
Default: false
tls.enable_renegotiation
Whether to allow the remote server to repeatedly request renegotiation. Enable this option if you're seeing the error message local error: tls: no renegotiation.
Type: bool
Default: false
tls.root_cas
An optional root certificate authority to use. This is a string, representing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::
Type: string
Default: ""
tls.root_cas_file
An optional path of a root certificate authority file to use. This is a file, often with a .pem extension, containing a certificate chain from the parent trusted root certificate, to possible intermediate signing certificates, to the host certificate.
Type: string
Default: ""
tls.client_certs[]
A list of client certificates to use. For each certificate either the fields cert and key, or cert_file and key_file should be specified, but not both.
Type: array
Default: []
tls.client_certs[].cert
A plain text certificate to use.
Type: string
Default: ""
tls.client_certs[].key
A plain text certificate key to use. :::warning Secret This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info. :::
Type: string
Default: ""
tls.client_certs[].cert_file
The path of a certificate to use.
Type: string
Default: ""
tls.client_certs[].key_file
The path of a certificate key to use.
Type: string
Default: ""
tls.client_certs[].password
A plain text password for when the private key is password encrypted in PKCS#1 or PKCS#8 format. The obsolete pbeWithMD5AndDES-CBC algorithm is not supported for the PKCS#8 format. Warning: Since it does not authenticate the ciphertext, it is vulnerable to padding oracle attacks that can let an attacker recover the plaintext.
:::warning Secret
This field contains sensitive information that usually shouldn't be added to a config directly, read our secrets page for more info.
:::
Type: string
Default: ""
collection_name
The name of the collection in Qdrant. This field supports interpolation functions.
Type: string
id
The ID of the point to insert. This can be a UUID string or a positive integer.
Type: string
vector_mapping
The mapping to extract the vector from the document.
Type: string
payload_mapping
An optional mapping of message to payload associated with the point.
Type: string
Default: root = {}