{
  "VADD": {
    "summary": "Add one or more elements to a vector set, or update its vector if it already exists",
    "complexity": "O(log(N)) for each element added, where N is the number of elements in the vector set.",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": -5,
    "function": "vaddCommand",
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "token": "REDUCE",
        "name": "reduce",
        "type": "block",
        "optional": true,
        "arguments": [
          {
            "name": "dim",
            "type": "integer"
          }
        ]
      },
      {
        "name": "format",
        "type": "oneof",
        "arguments": [
          {
            "name": "fp32",
            "type": "pure-token",
            "token": "FP32"
          },
          {
            "name": "values",
            "type": "pure-token",
            "token": "VALUES"
          }
        ]
      },
      {
        "name": "vector",
        "type": "string"
      },
      {
        "name": "element",
        "type": "string"
      },
      {
        "token": "CAS",
        "name": "cas",
        "type": "pure-token",
        "optional": true
      },
      {
        "name": "quant_type",
        "type": "oneof",
        "optional": true,
        "arguments": [
          {
            "name": "noquant",
            "type": "pure-token",
            "token": "NOQUANT"
          },
          {
            "name": "bin",
            "type": "pure-token",
            "token": "BIN"
          },
          {
            "name": "q8",
            "type": "pure-token",
            "token": "Q8"
          }
        ]
      },
      {
        "token": "EF",
        "name": "build-exploration-factor",
        "type": "integer",
        "optional": true
      },
      {
        "token": "SETATTR",
        "name": "attributes",
        "type": "string",
        "optional": true
      },
      {
        "token": "M",
        "name": "numlinks",
        "type": "integer",
        "optional": true
      }
    ],
    "command_flags": [
      "WRITE",
      "DENYOOM"
    ]
  },
  "VREM": {
    "summary": "Remove an element from a vector set",
    "complexity": "O(log(N)) for each element removed, where N is the number of elements in the vector set.",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": 3,
    "function": "vremCommand",
    "command_flags": [
      "WRITE"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "element",
        "type": "string"
      }
    ]
  },
  "VSIM": {
    "summary": "Return elements by vector similarity",
    "complexity": "O(log(N)) where N is the number of elements in the vector set.",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": -4,
    "function": "vsimCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "format",
        "type": "oneof",
        "arguments": [
          {
            "name": "ele",
            "type": "pure-token",
            "token": "ELE"
          },
          {
            "name": "fp32",
            "type": "pure-token",
            "token": "FP32"
          },
          {
            "name": "values",
            "type": "pure-token",
            "token": "VALUES"
          }
        ]
      },
      {
        "name": "vector_or_element",
        "type": "string"
      },
      {
        "token": "WITHSCORES",
        "name": "withscores",
        "type": "pure-token",
        "optional": true
      },
      {
        "token": "WITHATTRIBS",
        "name": "withattribs",
        "type": "pure-token",
        "optional": true
      },
      {
        "token": "COUNT",
        "name": "count",
        "type": "integer",
        "optional": true
      },
      {
        "token": "EPSILON",
        "name": "max_distance",
        "type": "double",
        "optional": true
      },
      {
        "token": "EF",
        "name": "search-exploration-factor",
        "type": "integer",
        "optional": true
      },
      {
        "token": "FILTER",
        "name": "expression",
        "type": "string",
        "optional": true
      },
      {
        "token": "FILTER-EF",
        "name": "max-filtering-effort",
        "type": "integer",
        "optional": true
      },
      {
        "token": "TRUTH",
        "name": "truth",
        "type": "pure-token",
        "optional": true
      },
      {
        "token": "NOTHREAD",
        "name": "nothread",
        "type": "pure-token",
        "optional": true
      }
    ]
  },
  "VDIM": {
    "summary": "Return the dimension of vectors in the vector set",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": 2,
    "function": "vdimCommand",
    "command_flags": [
      "READONLY",
      "FAST"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      }
    ]
  },
  "VCARD": {
    "summary": "Return the number of elements in a vector set",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": 2,
    "function": "vcardCommand",
    "command_flags": [
      "READONLY",
      "FAST"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      }
    ]
  },
  "VEMB": {
    "summary": "Return the vector associated with an element",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": -3,
    "function": "vembCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "element",
        "type": "string"
      },
      {
        "token": "RAW",
        "name": "raw",
        "type": "pure-token",
        "optional": true
      }
    ]
  },
  "VLINKS": {
    "summary": "Return the neighbors of an element at each layer in the HNSW graph",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": -3,
    "function": "vlinksCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "element",
        "type": "string"
      },
      {
        "token": "WITHSCORES",
        "name": "withscores",
        "type": "pure-token",
        "optional": true
      }
    ]
  },
  "VINFO": {
    "summary": "Return information about a vector set",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": 2,
    "function": "vinfoCommand",
    "command_flags": [
      "READONLY",
      "FAST"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      }
    ]
  },
  "VSETATTR": {
    "summary": "Associate or remove the JSON attributes of elements",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": 4,
    "function": "vsetattrCommand",
    "command_flags": [
      "WRITE"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "element",
        "type": "string"
      },
      {
        "name": "json",
        "type": "string"
      }
    ]
  },
  "VGETATTR": {
    "summary": "Retrieve the JSON attributes of elements",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": 3,
    "function": "vgetattrCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "element",
        "type": "string"
      }
    ]
  },
  "VRANDMEMBER": {
    "summary": "Return one or multiple random members from a vector set",
    "complexity": "O(N) where N is the absolute value of the count argument.",
    "group": "vector_set",
    "since": "8.0.0",
    "arity": -2,
    "function": "vrandmemberCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "count",
        "type": "integer",
        "optional": true
      }
    ]
  },
  "VISMEMBER": {
    "summary": "Check if an element exists in a vector set",
    "complexity": "O(1)",
    "group": "vector_set",
    "since": "8.2.0",
    "arity": 3,
    "function": "vismemberCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "element",
        "type": "string"
      }
    ]
  },
  "VRANGE": {
    "summary": "Return elements in a lexicographical range",
    "complexity": "O(log(K)+M) where K is the number of elements in the start prefix, and M is the number of elements returned. In practical terms, the command is just O(M)",
    "group": "vector_set",
    "since": "8.4.0",
    "arity": -4,
    "function": "vrangeCommand",
    "command_flags": [
      "READONLY"
    ],
    "arguments": [
      {
        "name": "key",
        "type": "key"
      },
      {
        "name": "start",
        "type": "string"
      },
      {
        "name": "end",
        "type": "string"
      },
      {
        "name": "count",
        "type": "integer",
        "optional": true
      }
    ]
  }
}
