Skip to content

qdrant

Query items within a Qdrant collection.

# Common config fields, showing default values
label: ""
qdrant:
grpc_host: localhost:6334 # No default (required)
api_token: ""
collection_name: "" # No default (required)
vector_mapping: root = [1.2, 0.5, 0.76] # No default (required)
filter: | # No default (optional)
root.must = [
{"has_id":{"has_id":[{"num": 8}, { "uuid":"1234-5678-90ab-cdef" }]}},
{"field":{"key": "city", "match": {"text": "London"}}},
]
payload_fields: []
payload_filter: include
limit: 10

Fields

grpc_host

The gRPC host of the Qdrant server.

Type: string

# Examples
grpc_host: localhost:6334
grpc_host: xyz-example.eu-central.aws.cloud.qdrant.io:6334

api_token

The Qdrant API token for authentication. Defaults to an empty string.

Type: string

Default: ""

tls

TLS(HTTPS) config to use when connecting

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 Requires version 3.45.0 or newer

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.

Type: string

Default: ""

# Examples
root_cas: |-
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

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: ""

# Examples
root_cas_file: ./root_cas.pem

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: []

# Examples
client_certs:
- cert: foo
key: bar
client_certs:
- cert_file: ./example.pem
key_file: ./example.key

tls.client_certs[].cert

A plain text certificate to use.

Type: string

Default: ""

tls.client_certs[].key

A plain text certificate key to use.

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.

Because the obsolete pbeWithMD5AndDES-CBC algorithm does not authenticate the ciphertext, it is vulnerable to padding oracle attacks that can let an attacker recover the plaintext.

Type: string

Default: ""

# Examples
password: foo
password: ${KEY_PASSWORD}

collection_name

The name of the collection in Qdrant. This field supports interpolation functions.

Type: string

vector_mapping

The mapping to extract the search vector from the document.

Type: string

# Examples
vector_mapping: root = [1.2, 0.5, 0.76]
vector_mapping: root = this.vector
vector_mapping: root = [[0.352,0.532,0.532,0.234],[0.352,0.532,0.532,0.234]]
vector_mapping: 'root = {"some_sparse": {"indices":[23,325,532],"values":[0.352,0.532,0.532]}}'
vector_mapping: 'root = {"some_multi": [[0.352,0.532,0.532,0.234],[0.352,0.532,0.532,0.234]]}'
vector_mapping: 'root = {"some_dense": [0.352,0.532,0.532,0.234]}'

filter

Additional filtering to perform on the results. The mapping should return a valid filter (using the proto3 encoded form) in qdrant. See the ^Qdrant documentation for examples.

Type: string

# Examples
filter: |2
root.must = [
{"has_id":{"has_id":[{"num": 8}, { "uuid":"1234-5678-90ab-cdef" }]}},
{"field":{"key": "city", "match": {"text": "London"}}},
]
filter: |2
root.must = [
{"field":{"key": "city", "match": {"text": "London"}}},
]
root.must_not = [
{"field":{"color": "city", "match": {"text": "red"}}},
]

payload_fields

The fields to include or exclude in returned result based on the payload_filter.

Type: array

Default: []

payload_filter

The way the fields in payload_fields are filtered in the result.

Type: string

Default: "include"

OptionSummary
excludeExclude the payload fields specified in payload_fields.
includeInclude the payload fields specified in payload_fields.

limit

The maximum number of points to return.

Type: int

Default: 10