Files
qdrant/docs/grpc/docs.md
Ivan Pleshkov d14d2c2e36 binary quantization (#2470)
* binary quantization

* update quantization version

* fix quantizing bug

* are you happy fmt
2023-08-21 21:16:27 +02:00

86 KiB
Raw Blame History

Protocol Documentation

Table of Contents

Top

collections.proto

AliasDescription

Field Type Label Description
alias_name string Name of the alias
collection_name string Name of the collection

AliasOperations

Field Type Label Description
create_alias CreateAlias
rename_alias RenameAlias
delete_alias DeleteAlias

BinaryQuantization

Field Type Label Description
always_ram bool optional If true - quantized vectors always will be stored in RAM, ignoring the config of main storage

ChangeAliases

Field Type Label Description
actions AliasOperations repeated List of actions
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

CollectionClusterInfoRequest

Field Type Label Description
collection_name string Name of the collection

CollectionClusterInfoResponse

Field Type Label Description
peer_id uint64 ID of this peer
shard_count uint64 Total number of shards
local_shards LocalShardInfo repeated Local shards
remote_shards RemoteShardInfo repeated Remote shards
shard_transfers ShardTransferInfo repeated Shard transfers

CollectionConfig

Field Type Label Description
params CollectionParams Collection parameters
hnsw_config HnswConfigDiff Configuration of vector index
optimizer_config OptimizersConfigDiff Configuration of the optimizers
wal_config WalConfigDiff Configuration of the Write-Ahead-Log
quantization_config QuantizationConfig optional Configuration of the vector quantization

CollectionDescription

Field Type Label Description
name string Name of the collection

CollectionInfo

Field Type Label Description
status CollectionStatus operating condition of the collection
optimizer_status OptimizerStatus status of collection optimizers
vectors_count uint64 number of vectors in the collection
segments_count uint64 Number of independent segments
config CollectionConfig Configuration
payload_schema CollectionInfo.PayloadSchemaEntry repeated Collection data types
points_count uint64 number of points in the collection
indexed_vectors_count uint64 optional number of indexed vectors in the collection.

CollectionInfo.PayloadSchemaEntry

Field Type Label Description
key string
value PayloadSchemaInfo

CollectionOperationResponse

Field Type Label Description
result bool if operation made changes
time double Time spent to process

CollectionParams

Field Type Label Description
shard_number uint32 Number of shards in collection
on_disk_payload bool If true - point's payload will not be stored in memory
vectors_config VectorsConfig optional Configuration for vectors
replication_factor uint32 optional Number of replicas of each shard that network tries to maintain
write_consistency_factor uint32 optional How many replicas should apply the operation for us to consider it successful

CollectionParamsDiff

Field Type Label Description
replication_factor uint32 optional Number of replicas of each shard that network tries to maintain
write_consistency_factor uint32 optional How many replicas should apply the operation for us to consider it successful
on_disk_payload bool optional If true - point's payload will not be stored in memory

CreateAlias

Field Type Label Description
collection_name string Name of the collection
alias_name string New name of the alias

CreateCollection

Field Type Label Description
collection_name string Name of the collection
hnsw_config HnswConfigDiff optional Configuration of vector index
wal_config WalConfigDiff optional Configuration of the Write-Ahead-Log
optimizers_config OptimizersConfigDiff optional Configuration of the optimizers
shard_number uint32 optional Number of shards in the collection, default is 1 for standalone, otherwise equal to the number of nodes. Minimum is 1
on_disk_payload bool optional If true - point's payload will not be stored in memory
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied
vectors_config VectorsConfig optional Configuration for vectors
replication_factor uint32 optional Number of replicas of each shard that network tries to maintain, default = 1
write_consistency_factor uint32 optional How many replicas should apply the operation for us to consider it successful, default = 1
init_from_collection string optional Specify name of the other collection to copy data from
quantization_config QuantizationConfig optional Quantization configuration of vector

DeleteAlias

Field Type Label Description
alias_name string Name of the alias

DeleteCollection

Field Type Label Description
collection_name string Name of the collection
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

Disabled

GetCollectionInfoRequest

Field Type Label Description
collection_name string Name of the collection

GetCollectionInfoResponse

Field Type Label Description
result CollectionInfo
time double Time spent to process

HnswConfigDiff

Field Type Label Description
m uint64 optional Number of edges per node in the index graph. Larger the value - more accurate the search, more space required.
ef_construct uint64 optional Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index.
full_scan_threshold uint64 optional Minimal size (in KiloBytes) of vectors for additional payload-based indexing. If the payload chunk is smaller than full_scan_threshold additional indexing won't be used - in this case full-scan search should be preferred by query planner and additional indexing is not required. Note: 1 Kb = 1 vector of size 256
max_indexing_threads uint64 optional Number of parallel threads used for background index building. If 0 - auto selection.
on_disk bool optional Store HNSW index on disk. If set to false, the index will be stored in RAM.
payload_m uint64 optional Number of additional payload-aware links per node in the index graph. If not set - regular M parameter will be used.

ListAliasesRequest

ListAliasesResponse

Field Type Label Description
aliases AliasDescription repeated
time double Time spent to process

ListCollectionAliasesRequest

Field Type Label Description
collection_name string Name of the collection

ListCollectionsRequest

ListCollectionsResponse

Field Type Label Description
collections CollectionDescription repeated
time double Time spent to process

LocalShardInfo

Field Type Label Description
shard_id uint32 Local shard id
points_count uint64 Number of points in the shard
state ReplicaState Is replica active

MoveShard

Field Type Label Description
shard_id uint32 Local shard id
from_peer_id uint64
to_peer_id uint64

OptimizerStatus

Field Type Label Description
ok bool
error string

OptimizersConfigDiff

Field Type Label Description
deleted_threshold double optional The minimal fraction of deleted vectors in a segment, required to perform segment optimization
vacuum_min_vector_number uint64 optional The minimal number of vectors in a segment, required to perform segment optimization
default_segment_number uint64 optional Target amount of segments the optimizer will try to keep. Real amount of segments may vary depending on multiple parameters:
  • Amount of stored points. - Current write RPS.

It is recommended to select the default number of segments as a factor of the number of search threads, so that each segment would be handled evenly by one of the threads. | | max_segment_size | uint64 | optional | Do not create segments larger this size (in kilobytes). Large segments might require disproportionately long indexation times, therefore it makes sense to limit the size of segments.

If indexing speed is more important - make this parameter lower. If search speed is more important - make this parameter higher. Note: 1Kb = 1 vector of size 256 If not set, will be automatically selected considering the number of available CPUs. | | memmap_threshold | uint64 | optional | Maximum size (in kilobytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as read-only memmaped file.

Memmap storage is disabled by default, to enable it, set this threshold to a reasonable value.

To disable memmap storage, set this to 0.

Note: 1Kb = 1 vector of size 256 | | indexing_threshold | uint64 | optional | Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing

Default value is 20,000, based on <https://github.com/google-research/google-research/blob/master/scann/docs/algorithms.md>.

To disable vector indexing, set to 0.

Note: 1kB = 1 vector of size 256. | | flush_interval_sec | uint64 | optional | Interval between forced flushes. | | max_optimization_threads | uint64 | optional | Max number of threads, which can be used for optimization. If 0 - NUM_CPU - 1 will be used |

PayloadIndexParams

Field Type Label Description
text_index_params TextIndexParams Parameters for text index

PayloadSchemaInfo

Field Type Label Description
data_type PayloadSchemaType Field data type
params PayloadIndexParams optional Field index parameters
points uint64 optional Number of points indexed within this field indexed

ProductQuantization

Field Type Label Description
compression CompressionRatio Compression ratio
always_ram bool optional If true - quantized vectors always will be stored in RAM, ignoring the config of main storage

QuantizationConfig

Field Type Label Description
scalar ScalarQuantization
product ProductQuantization
binary BinaryQuantization

QuantizationConfigDiff

Field Type Label Description
scalar ScalarQuantization
product ProductQuantization
disabled Disabled
binary BinaryQuantization

RemoteShardInfo

Field Type Label Description
shard_id uint32 Local shard id
peer_id uint64 Remote peer id
state ReplicaState Is replica active

RenameAlias

Field Type Label Description
old_alias_name string Name of the alias to rename
new_alias_name string Name of the alias

Replica

Field Type Label Description
shard_id uint32
peer_id uint64

ScalarQuantization

Field Type Label Description
type QuantizationType Type of quantization
quantile float optional Number of bits to use for quantization
always_ram bool optional If true - quantized vectors always will be stored in RAM, ignoring the config of main storage

ShardTransferInfo

Field Type Label Description
shard_id uint32 Local shard id
from uint64
to uint64
sync bool If true transfer is a synchronization of a replicas; If false transfer is a moving of a shard from one peer to another

TextIndexParams

Field Type Label Description
tokenizer TokenizerType Tokenizer type
lowercase bool optional If true - all tokens will be lowercase
min_token_len uint64 optional Minimal token length
max_token_len uint64 optional Maximal token length

UpdateCollection

Field Type Label Description
collection_name string Name of the collection
optimizers_config OptimizersConfigDiff optional New configuration parameters for the collection. This operation is blocking, it will only proceed once all current optimizations are complete
timeout uint64 optional Wait timeout for operation commit in seconds if blocking, if not specified - default value will be supplied
params CollectionParamsDiff optional New configuration parameters for the collection
hnsw_config HnswConfigDiff optional New HNSW parameters for the collection index
vectors_config VectorsConfigDiff optional New vector parameters
quantization_config QuantizationConfigDiff optional Quantization configuration of vector

UpdateCollectionClusterSetupRequest

Field Type Label Description
collection_name string Name of the collection
move_shard MoveShard
replicate_shard MoveShard
abort_transfer MoveShard
drop_replica Replica
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

UpdateCollectionClusterSetupResponse

Field Type Label Description
result bool

VectorParams

Field Type Label Description
size uint64 Size of the vectors
distance Distance Distance function used for comparing vectors
hnsw_config HnswConfigDiff optional Configuration of vector HNSW graph. If omitted - the collection configuration will be used
quantization_config QuantizationConfig optional Configuration of vector quantization config. If omitted - the collection configuration will be used
on_disk bool optional If true - serve vectors from disk. If set to false, the vectors will be loaded in RAM.

VectorParamsDiff

Field Type Label Description
hnsw_config HnswConfigDiff optional Update params for HNSW index. If empty object - it will be unset
quantization_config QuantizationConfigDiff optional Update quantization params. If none - it is left unchanged.
on_disk bool optional If true - serve vectors from disk. If set to false, the vectors will be loaded in RAM.

VectorParamsDiffMap

Field Type Label Description
map VectorParamsDiffMap.MapEntry repeated

VectorParamsDiffMap.MapEntry

Field Type Label Description
key string
value VectorParamsDiff

VectorParamsMap

Field Type Label Description
map VectorParamsMap.MapEntry repeated

VectorParamsMap.MapEntry

Field Type Label Description
key string
value VectorParams

VectorsConfig

Field Type Label Description
params VectorParams
params_map VectorParamsMap

VectorsConfigDiff

Field Type Label Description
params VectorParamsDiff
params_map VectorParamsDiffMap

WalConfigDiff

Field Type Label Description
wal_capacity_mb uint64 optional Size of a single WAL block file
wal_segments_ahead uint64 optional Number of segments to create in advance

CollectionStatus

Name Number Description
UnknownCollectionStatus 0
Green 1 All segments are ready
Yellow 2 Optimization in process
Red 3 Something went wrong

CompressionRatio

Name Number Description
x4 0
x8 1
x16 2
x32 3
x64 4

Distance

Name Number Description
UnknownDistance 0
Cosine 1
Euclid 2
Dot 3

PayloadSchemaType

Name Number Description
UnknownType 0
Keyword 1
Integer 2
Float 3
Geo 4
Text 5
Bool 6

QuantizationType

Name Number Description
UnknownQuantization 0
Int8 1

ReplicaState

Name Number Description
Active 0 Active and sound
Dead 1 Failed for some reason
Partial 2 The shard is partially loaded and is currently receiving data from other shards
Initializing 3 Collection is being created
Listener 4 A shard which receives data, but is not used for search; Useful for backup shards

TokenizerType

Name Number Description
Unknown 0
Prefix 1
Whitespace 2
Word 3
Multilingual 4

Top

collections_service.proto

Collections

Method Name Request Type Response Type Description
Get GetCollectionInfoRequest GetCollectionInfoResponse Get detailed information about specified existing collection
List ListCollectionsRequest ListCollectionsResponse Get list name of all existing collections
Create CreateCollection CollectionOperationResponse Create new collection with given parameters
Update UpdateCollection CollectionOperationResponse Update parameters of the existing collection
Delete DeleteCollection CollectionOperationResponse Drop collection and all associated data
UpdateAliases ChangeAliases CollectionOperationResponse Update Aliases of the existing collection
ListCollectionAliases ListCollectionAliasesRequest ListAliasesResponse Get list of all aliases for a collection
ListAliases ListAliasesRequest ListAliasesResponse Get list of all aliases for all existing collections
CollectionClusterInfo CollectionClusterInfoRequest CollectionClusterInfoResponse Get cluster information for a collection
UpdateCollectionClusterSetup UpdateCollectionClusterSetupRequest UpdateCollectionClusterSetupResponse Update cluster setup for a collection

Top

json_with_int.proto

ListValue

ListValue is a wrapper around a repeated field of values.

The JSON representation for ListValue is a JSON array.

Field Type Label Description
values Value repeated Repeated field of dynamically typed values.

Struct

Struct represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, Struct might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language.

The JSON representation for Struct is a JSON object.

Field Type Label Description
fields Struct.FieldsEntry repeated Unordered map of dynamically typed values.

Struct.FieldsEntry

Field Type Label Description
key string
value Value

Value

Value represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of those variants, absence of any variant indicates an error.

The JSON representation for Value is a JSON value.

Field Type Label Description
null_value NullValue Represents a null value.
double_value double Represents a double value.
integer_value int64 Represents an integer value
string_value string Represents a string value.
bool_value bool Represents a boolean value.
struct_value Struct Represents a structured value.
list_value ListValue Represents a repeated Value.

NullValue

NullValue is a singleton enumeration to represent the null value for the Value type union.

The JSON representation for NullValue is JSON null.

Name Number Description
NULL_VALUE 0 Null value.

Top

points.proto

BatchResult

Field Type Label Description
result ScoredPoint repeated

ClearPayloadPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointsSelector Affected points
ordering WriteOrdering optional Write ordering guarantees

Condition

Field Type Label Description
field FieldCondition
is_empty IsEmptyCondition
has_id HasIdCondition
filter Filter
is_null IsNullCondition
nested NestedCondition

CountPoints

Field Type Label Description
collection_name string name of the collection
filter Filter Filter conditions - return only those points that satisfy the specified conditions
exact bool optional If true - return exact count, if false - return approximate count

CountResponse

Field Type Label Description
result CountResult
time double Time spent to process

CountResult

Field Type Label Description
count uint64

CreateFieldIndexCollection

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
field_name string Field name to index
field_type FieldType optional Field type.
field_index_params PayloadIndexParams optional Payload index params.
ordering WriteOrdering optional Write ordering guarantees

DeleteFieldIndexCollection

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
field_name string Field name to delete
ordering WriteOrdering optional Write ordering guarantees

DeletePayloadPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
keys string repeated List of keys to delete
points_selector PointsSelector optional Affected points
ordering WriteOrdering optional Write ordering guarantees

DeletePointVectors

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points_selector PointsSelector Affected points
vectors VectorsSelector List of vector names to delete
ordering WriteOrdering optional Write ordering guarantees

DeletePoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointsSelector Affected points
ordering WriteOrdering optional Write ordering guarantees

FieldCondition

Field Type Label Description
key string
match Match Check if point has field with a given value
range Range Check if points value lies in a given range
geo_bounding_box GeoBoundingBox Check if points geolocation lies in a given area
geo_radius GeoRadius Check if geo point is within a given radius
values_count ValuesCount Check number of values for a specific field

Filter

Field Type Label Description
should Condition repeated At least one of those conditions should match
must Condition repeated All conditions must match
must_not Condition repeated All conditions must NOT match

GeoBoundingBox

Field Type Label Description
top_left GeoPoint north-west corner
bottom_right GeoPoint south-east corner

GeoPoint

Field Type Label Description
lon double
lat double

GeoPolygon

Field Type Label Description
points GeoPoint repeated Ordered list of coordinates representing the vertices of a polygon. The minimum size is 4, and the first coordinate and the last coordinate should be the same to form a closed polygon.

GeoRadius

Field Type Label Description
center GeoPoint Center of the circle
radius float In meters

GetPoints

Field Type Label Description
collection_name string name of the collection
ids PointId repeated List of points to retrieve
with_payload WithPayloadSelector Options for specifying which payload to include or not
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
read_consistency ReadConsistency optional Options for specifying read consistency guarantees

GetResponse

Field Type Label Description
result RetrievedPoint repeated
time double Time spent to process

GroupId

Field Type Label Description
unsigned_value uint64 Represents a double value.
integer_value int64 Represents an integer value
string_value string Represents a string value.

GroupsResult

Field Type Label Description
groups PointGroup repeated Groups

HasIdCondition

Field Type Label Description
has_id PointId repeated

IsEmptyCondition

Field Type Label Description
key string

IsNullCondition

Field Type Label Description
key string

LookupLocation

Field Type Label Description
collection_name string
vector_name string optional Which vector to use for search, if not specified - use default vector

Match

Field Type Label Description
keyword string Match string keyword
integer int64 Match integer
boolean bool Match boolean
text string Match text
keywords RepeatedStrings Match multiple keywords
integers RepeatedIntegers Match multiple integers
except_integers RepeatedIntegers Match any other value except those integers
except_keywords RepeatedStrings Match any other value except those keywords

NamedVectors

Field Type Label Description
vectors NamedVectors.VectorsEntry repeated

NamedVectors.VectorsEntry

Field Type Label Description
key string
value Vector

NestedCondition

Field Type Label Description
key string Path to nested object
filter Filter Filter condition

PayloadExcludeSelector

Field Type Label Description
fields string repeated List of payload keys to exclude from the result

PayloadIncludeSelector

Field Type Label Description
fields string repeated List of payload keys to include into result

PointGroup

Field Type Label Description
id GroupId Group id
hits ScoredPoint repeated Points in the group
lookup RetrievedPoint Point(s) from the lookup collection that matches the group id

PointId

Field Type Label Description
num uint64 Numerical ID of the point
uuid string UUID

PointStruct

Field Type Label Description
id PointId
payload PointStruct.PayloadEntry repeated
vectors Vectors optional

PointStruct.PayloadEntry

Field Type Label Description
key string
value Value

PointVectors

Field Type Label Description
id PointId ID to update vectors for
vectors Vectors Named vectors to update, leave others intact

PointsIdsList

Field Type Label Description
ids PointId repeated

PointsOperationResponse

Field Type Label Description
result UpdateResult
time double Time spent to process

PointsSelector

Field Type Label Description
points PointsIdsList
filter Filter

PointsUpdateOperation

Field Type Label Description
upsert PointsUpdateOperation.PointStructList
delete PointsSelector
set_payload PointsUpdateOperation.SetPayload
overwrite_payload PointsUpdateOperation.SetPayload
delete_payload PointsUpdateOperation.DeletePayload
clear_payload PointsSelector
update_vectors PointsUpdateOperation.UpdateVectors
delete_vectors PointsUpdateOperation.DeleteVectors

PointsUpdateOperation.DeletePayload

Field Type Label Description
keys string repeated
points_selector PointsSelector optional Affected points

PointsUpdateOperation.DeleteVectors

Field Type Label Description
points_selector PointsSelector Affected points
vectors VectorsSelector List of vector names to delete

PointsUpdateOperation.PointStructList

Field Type Label Description
points PointStruct repeated

PointsUpdateOperation.SetPayload

Field Type Label Description
payload PointsUpdateOperation.SetPayload.PayloadEntry repeated
points_selector PointsSelector optional Affected points

PointsUpdateOperation.SetPayload.PayloadEntry

Field Type Label Description
key string
value Value

PointsUpdateOperation.UpdateVectors

Field Type Label Description
points PointVectors repeated List of points and vectors to update

QuantizationSearchParams

Field Type Label Description
ignore bool optional If set to true, search will ignore quantized vector data
rescore bool optional If true, use original vectors to re-score top-k results. Default is true.
oversampling double optional Oversampling factor for quantization.

Defines how many extra vectors should be pre-selected using quantized index, and then re-scored using original vectors.

For example, if oversampling is 2.4 and limit is 100, then 240 vectors will be pre-selected using quantized index, and then top-100 will be returned after re-scoring. |

Range

Field Type Label Description
lt double optional
gt double optional
gte double optional
lte double optional

ReadConsistency

Field Type Label Description
type ReadConsistencyType Common read consistency configurations
factor uint64 Send request to a specified number of nodes, and return points which are present on all of them

RecommendBatchPoints

Field Type Label Description
collection_name string Name of the collection
recommend_points RecommendPoints repeated
read_consistency ReadConsistency optional Options for specifying read consistency guarantees

RecommendBatchResponse

Field Type Label Description
result BatchResult repeated
time double Time spent to process

RecommendGroupsResponse

Field Type Label Description
result GroupsResult
time double Time spent to process

RecommendPointGroups

Field Type Label Description
collection_name string Name of the collection
positive PointId repeated Look for vectors closest to those
negative PointId repeated Try to avoid vectors like this
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint32 Max number of groups in result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
using string optional Define which vector to use for recommendation, if not specified - default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
lookup_from LookupLocation optional Name of the collection to use for points lookup, if not specified - use current collection
group_by string Payload field to group by, must be a string or number field. If there are multiple values for the field, all of them will be used. One point can be in multiple groups.
group_size uint32 Maximum amount of points to return per group
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
with_lookup WithLookup optional Options for specifying how to use the group id to lookup points in another collection

RecommendPoints

Field Type Label Description
collection_name string name of the collection
positive PointId repeated Look for vectors closest to those
negative PointId repeated Try to avoid vectors like this
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint64 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
offset uint64 optional Offset of the result
using string optional Define which vector to use for recommendation, if not specified - default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
lookup_from LookupLocation optional Name of the collection to use for points lookup, if not specified - use current collection
read_consistency ReadConsistency optional Options for specifying read consistency guarantees

RecommendResponse

Field Type Label Description
result ScoredPoint repeated
time double Time spent to process

RepeatedIntegers

Field Type Label Description
integers int64 repeated

RepeatedStrings

Field Type Label Description
strings string repeated

RetrievedPoint

Field Type Label Description
id PointId
payload RetrievedPoint.PayloadEntry repeated
vectors Vectors optional

RetrievedPoint.PayloadEntry

Field Type Label Description
key string
value Value

ScoredPoint

Field Type Label Description
id PointId Point id
payload ScoredPoint.PayloadEntry repeated Payload
score float Similarity score
version uint64 Last update operation applied to this point
vectors Vectors optional Vectors to search

ScoredPoint.PayloadEntry

Field Type Label Description
key string
value Value

ScrollPoints

Field Type Label Description
collection_name string
filter Filter Filter conditions - return only those points that satisfy the specified conditions
offset PointId optional Start with this ID
limit uint32 optional Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
read_consistency ReadConsistency optional Options for specifying read consistency guarantees

ScrollResponse

Field Type Label Description
next_page_offset PointId optional Use this offset for the next query
result RetrievedPoint repeated
time double Time spent to process

SearchBatchPoints

Field Type Label Description
collection_name string Name of the collection
search_points SearchPoints repeated
read_consistency ReadConsistency optional Options for specifying read consistency guarantees

SearchBatchResponse

Field Type Label Description
result BatchResult repeated
time double Time spent to process

SearchGroupsResponse

Field Type Label Description
result GroupsResult
time double Time spent to process

SearchParams

Field Type Label Description
hnsw_ef uint64 optional Params relevant to HNSW index. Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search.
exact bool optional Search without approximation. If set to true, search may run long but with exact results.
quantization QuantizationSearchParams optional If set to true, search will ignore quantized vector data
indexed_only bool optional If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors will be included in search results

SearchPointGroups

Field Type Label Description
collection_name string Name of the collection
vector float repeated Vector to compare against
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint32 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
vector_name string optional Which vector to use for search, if not specified - use default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
group_by string Payload field to group by, must be a string or number field. If there are multiple values for the field, all of them will be used. One point can be in multiple groups.
group_size uint32 Maximum amount of points to return per group
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
with_lookup WithLookup optional Options for specifying how to use the group id to lookup points in another collection

SearchPoints

Field Type Label Description
collection_name string name of the collection
vector float repeated vector
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint64 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
offset uint64 optional Offset of the result
vector_name string optional Which vector to use for search, if not specified - use default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
read_consistency ReadConsistency optional Options for specifying read consistency guarantees

SearchResponse

Field Type Label Description
result ScoredPoint repeated
time double Time spent to process

SetPayloadPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
payload SetPayloadPoints.PayloadEntry repeated New payload values
points_selector PointsSelector optional Affected points
ordering WriteOrdering optional Write ordering guarantees

SetPayloadPoints.PayloadEntry

Field Type Label Description
key string
value Value

UpdateBatchPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
operations PointsUpdateOperation repeated
ordering WriteOrdering optional Write ordering guarantees

UpdateBatchResponse

Field Type Label Description
result UpdateResult repeated
time double Time spent to process

UpdatePointVectors

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointVectors repeated List of points and vectors to update
ordering WriteOrdering optional Write ordering guarantees

UpdateResult

Field Type Label Description
operation_id uint64 Number of operation
status UpdateStatus Operation status

UpsertPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointStruct repeated
ordering WriteOrdering optional Write ordering guarantees

ValuesCount

Field Type Label Description
lt uint64 optional
gt uint64 optional
gte uint64 optional
lte uint64 optional

Vector

Field Type Label Description
data float repeated

Vectors

Field Type Label Description
vector Vector
vectors NamedVectors

VectorsSelector

Field Type Label Description
names string repeated List of vectors to include into result

WithLookup

Field Type Label Description
collection string Name of the collection to use for points lookup
with_payload WithPayloadSelector optional Options for specifying which payload to include (or not)
with_vectors WithVectorsSelector optional Options for specifying which vectors to include (or not)

WithPayloadSelector

Field Type Label Description
enable bool If true - return all payload, if false - none
include PayloadIncludeSelector
exclude PayloadExcludeSelector

WithVectorsSelector

Field Type Label Description
enable bool If true - return all vectors, if false - none
include VectorsSelector List of payload keys to include into result

WriteOrdering

Field Type Label Description
type WriteOrderingType Write ordering guarantees

FieldType

Name Number Description
FieldTypeKeyword 0
FieldTypeInteger 1
FieldTypeFloat 2
FieldTypeGeo 3
FieldTypeText 4
FieldTypeBool 5

ReadConsistencyType

Name Number Description
All 0 Send request to all nodes and return points which are present on all of them
Majority 1 Send requests to all nodes and return points which are present on majority of them
Quorum 2 Send requests to half + 1 nodes, return points which are present on all of them

UpdateStatus

Name Number Description
UnknownUpdateStatus 0
Acknowledged 1 Update is received, but not processed yet
Completed 2 Update is applied and ready for search

WriteOrderingType

Name Number Description
Weak 0 Write operations may be reordered, works faster, default
Medium 1 Write operations go through dynamically selected leader, may be inconsistent for a short period of time in case of leader change
Strong 2 Write operations go through the permanent leader, consistent, but may be unavailable if leader is down

Top

points_service.proto

Points

Method Name Request Type Response Type Description
Upsert UpsertPoints PointsOperationResponse Perform insert + updates on points. If a point with a given ID already exists - it will be overwritten.
Delete DeletePoints PointsOperationResponse Delete points
Get GetPoints GetResponse Retrieve points
UpdateVectors UpdatePointVectors PointsOperationResponse Update named vectors for point
DeleteVectors DeletePointVectors PointsOperationResponse Delete named vectors for points
SetPayload SetPayloadPoints PointsOperationResponse Set payload for points
OverwritePayload SetPayloadPoints PointsOperationResponse Overwrite payload for points
DeletePayload DeletePayloadPoints PointsOperationResponse Delete specified key payload for points
ClearPayload ClearPayloadPoints PointsOperationResponse Remove all payload for specified points
CreateFieldIndex CreateFieldIndexCollection PointsOperationResponse Create index for field in collection
DeleteFieldIndex DeleteFieldIndexCollection PointsOperationResponse Delete field index for collection
Search SearchPoints SearchResponse Retrieve closest points based on vector similarity and given filtering conditions
SearchBatch SearchBatchPoints SearchBatchResponse Retrieve closest points based on vector similarity and given filtering conditions
SearchGroups SearchPointGroups SearchGroupsResponse Retrieve closest points based on vector similarity and given filtering conditions, grouped by a given field
Scroll ScrollPoints ScrollResponse Iterate over all or filtered points points
Recommend RecommendPoints RecommendResponse Look for the points which are closer to stored positive examples and at the same time further to negative examples.
RecommendBatch RecommendBatchPoints RecommendBatchResponse Look for the points which are closer to stored positive examples and at the same time further to negative examples.
RecommendGroups RecommendPointGroups RecommendGroupsResponse Look for the points which are closer to stored positive examples and at the same time further to negative examples, grouped by a given field
Count CountPoints CountResponse Count points in collection with given filtering conditions
UpdateBatch UpdateBatchPoints UpdateBatchResponse Perform multiple update operations in one request

Top

qdrant.proto

HealthCheckReply

Field Type Label Description
title string
version string

HealthCheckRequest

Qdrant

Method Name Request Type Response Type Description
HealthCheck HealthCheckRequest HealthCheckReply

Top

qdrant_internal_service.proto

HttpPortRequest

HttpPortResponse

Field Type Label Description
port int32

QdrantInternal

Method Name Request Type Response Type Description
GetHttpPort HttpPortRequest HttpPortResponse Get HTTP port for remote host.

Top

snapshots_service.proto

CreateFullSnapshotRequest

CreateSnapshotRequest

Field Type Label Description
collection_name string Name of the collection

CreateSnapshotResponse

Field Type Label Description
snapshot_description SnapshotDescription
time double Time spent to process

DeleteFullSnapshotRequest

Field Type Label Description
snapshot_name string Name of the full snapshot

DeleteSnapshotRequest

Field Type Label Description
collection_name string Name of the collection
snapshot_name string Name of the collection snapshot

DeleteSnapshotResponse

Field Type Label Description
time double Time spent to process

ListFullSnapshotsRequest

ListSnapshotsRequest

Field Type Label Description
collection_name string Name of the collection

ListSnapshotsResponse

Field Type Label Description
snapshot_descriptions SnapshotDescription repeated
time double Time spent to process

SnapshotDescription

Field Type Label Description
name string Name of the snapshot
creation_time google.protobuf.Timestamp Creation time of the snapshot
size int64 Size of the snapshot in bytes

Snapshots

Method Name Request Type Response Type Description
Create CreateSnapshotRequest CreateSnapshotResponse Create collection snapshot
List ListSnapshotsRequest ListSnapshotsResponse List collection snapshots
Delete DeleteSnapshotRequest DeleteSnapshotResponse Delete collection snapshots
CreateFull CreateFullSnapshotRequest CreateSnapshotResponse Create full storage snapshot
ListFull ListFullSnapshotsRequest ListSnapshotsResponse List full storage snapshots
DeleteFull DeleteFullSnapshotRequest DeleteSnapshotResponse List full storage snapshots

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)