{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/RecommendGroupsRequest",
"title": "RecommendGroupsRequest",
"type": "object",
"required": [
"group_by",
"group_size",
"limit"
],
"properties": {
"shard_key": {
"description": "Specify in which shards to look for the points, if not specified - look in all shards",
"anyOf": [
{
"$ref": "#/components/schemas/ShardKeySelector"
},
{
"nullable": true
}
]
},
"positive": {
"description": "Look for vectors closest to those",
"default": [],
"type": "array",
"items": {
"$ref": "#/components/schemas/RecommendExample"
}
},
"negative": {
"description": "Try to avoid vectors like this",
"default": [],
"type": "array",
"items": {
"$ref": "#/components/schemas/RecommendExample"
}
},
"strategy": {
"description": "How to use positive and negative examples to find the results",
"default": null,
"anyOf": [
{
"$ref": "#/components/schemas/RecommendStrategy"
},
{
"nullable": true
}
]
},
"filter": {
"description": "Look only for points which satisfies this conditions",
"anyOf": [
{
"$ref": "#/components/schemas/Filter"
},
{
"nullable": true
}
]
},
"params": {
"description": "Additional search params",
"anyOf": [
{
"$ref": "#/components/schemas/SearchParams"
},
{
"nullable": true
}
]
},
"with_payload": {
"description": "Select which payload to return with the response. Default is false.",
"anyOf": [
{
"$ref": "#/components/schemas/WithPayloadInterface"
},
{
"nullable": true
}
]
},
"with_vector": {
"description": "Options for specifying which vectors to include into response. Default is false.",
"default": null,
"anyOf": [
{
"$ref": "#/components/schemas/WithVector"
},
{
"nullable": true
}
]
},
"score_threshold": {
"description": "Define a minimal score threshold for the result. If defined, less similar results will not be returned. Score of the returned result might be higher or smaller than the threshold depending on the Distance function used. E.g. for cosine similarity only higher scores will be returned.",
"type": "number",
"format": "float",
"nullable": true
},
"using": {
"description": "Define which vector to use for recommendation, if not specified - try to use default vector",
"default": null,
"anyOf": [
{
"$ref": "#/components/schemas/UsingVector"
},
{
"nullable": true
}
]
},
"lookup_from": {
"description": "The location used to lookup vectors. If not specified - use current collection. Note: the other collection should have the same vector size as the current collection",
"default": null,
"anyOf": [
{
"$ref": "#/components/schemas/LookupLocation"
},
{
"nullable": true
}
]
},
"group_by": {
"description": "Payload field to group by, must be a string or number field. If the field contains more than 1 value, all values will be used for grouping. One point can be in multiple groups.",
"type": "string",
"minLength": 1
},
"group_size": {
"description": "Maximum amount of points to return per group",
"type": "integer",
"format": "uint32",
"minimum": 1
},
"limit": {
"description": "Maximum amount of groups to return",
"type": "integer",
"format": "uint32",
"minimum": 1
},
"with_lookup": {
"description": "Look for points in another collection using the group ids",
"anyOf": [
{
"$ref": "#/components/schemas/WithLookupInterface"
},
{
"nullable": true
}
]
}
}
}