RedisVL CLI

How to use RedisVL's CLI

RedisVL is a Python library with a dedicated CLI to help load and create vector search indexes within Redis.

This document will walk through how to use the RedisVL CLI (rvl).

Note:
This document is a converted form of this Jupyter notebook.

Before beginning, be sure of the following:

  1. You have installed RedisVL and have that environment activated.
  2. You have a running Redis instance with the Redis Query Engine capability.
# First, see if the rvl tool is installed
$ rvl version
11:13:52 [RedisVL] INFO   RedisVL version 0.1.2

Index

The rvl index command can be used for a number of tasks related to creating and managing indexes. Whether you are working in Bash or another shell, this CLI tool can still be useful for managing and inspecting your indexes.

First, create an index from a YAML schema that looks like the following:

version: '0.1.0'

index:
    name: vectorizers
    prefix: doc
    storage_type: hash

fields:
    - name: sentence
      type: text
    - name: embedding
      type: vector
      attrs:
        dims: 768
        algorithm: flat
        distance_metric: cosine
# Create an index from a yaml schema
$ rvl index create -s schema.yaml
11:13:54 [RedisVL] INFO   Index created successfully
# List the indexes that are available
$ rvl index listall
11:13:56 [RedisVL] INFO   Indices:
11:13:56 [RedisVL] INFO   1. vectorizers
# inspect the index fields
$ rvl index info -i providers

Index Information:
╭──────────────┬────────────────┬────────────┬─────────────────┬────────────╮
│ Index Name   │ Storage Type   │ Prefixes   │ Index Options   │   Indexing │
├──────────────┼────────────────┼────────────┼─────────────────┼────────────┤
│ vectorizers  │ HASH           │ ['doc'][]0╰──────────────┴────────────────┴────────────┴─────────────────┴────────────╯
Index Fields:
╭───────────┬─────────────┬────────┬────────────────┬────────────────╮
│ Name      │ Attribute   │ Type   │ Field Option   │   Option Value │
├───────────┼─────────────┼────────┼────────────────┼────────────────┤
│ sentence  │ sentence    │ TEXT   │ WEIGHT         │              1│ embedding │ embedding   │ VECTOR │                │                │
╰───────────┴─────────────┴────────┴────────────────┴────────────────╯
# delete an index without deleting the data within it
$ rvl index delete -i vectorizers
11:13:59 [RedisVL] INFO   Index deleted successfully
# view the index
$ rvl index listall
11:14:00 [RedisVL] INFO   Indices:

Stats

The rvl stats command will return some basic information about an index. This is useful for checking the status of an index, or for getting information about the index to use in other commands.

# create a new index with the same schema
$ rvl index create -s schema.yaml
11:14:02 [RedisVL] INFO   Index created successfully
# list the indexes that are available
$ rvl index listall
11:14:03 [RedisVL] INFO   Indices:
11:14:03 [RedisVL] INFO   1. vectorizers
# see all the stats for the index
$ rvl stats -i providers

Statistics:
╭─────────────────────────────┬────────────╮
│ Stat Key                    │ Value      │
├─────────────────────────────┼────────────┤
│ num_docs                    │ 0│ num_terms                   │ 0│ max_doc_id                  │ 0│ num_records                 │ 0│ percent_indexed             │ 1│ hash_indexing_failures      │ 0│ number_of_uses              │ 1│ bytes_per_record_avg        │ nan        │
│ doc_table_size_mb           │ 0│ inverted_sz_mb              │ 0│ key_table_size_mb           │ 0│ offset_bits_per_record_avg  │ nan        │
│ offset_vectors_sz_mb        │ 0│ offsets_per_term_avg        │ nan        │
│ records_per_doc_avg         │ nan        │
│ sortable_values_size_mb     │ 0│ total_indexing_time         │ 0│ total_inverted_index_blocks │ 0│ vector_index_sz_mb          │ 0.00818634 │
╰─────────────────────────────┴────────────╯
$ rvl index destroy -i vectorizers

09:00:27 [RedisVL] INFO   Index deleted successfully
RATE THIS PAGE
Back to top ↑