Интерфейс командной строки Milvus (CLI)

Интерфейс командной строки Milvus (CLI) - это инструмент командной строки, который поддерживает подключение к базе данных, операции с данными, импорт и экспорт данных. Основанный на Milvus Python SDK, он позволяет выполнять команды через интерактивные приглашения командной строки через терминал.

Текущая версия

Текущая версия Milvus CLI - 0.4.0. Чтобы узнать установленную версию и определить, нужно ли обновление, выполните команду milvus_cli --version.

Установка Milvus CLI

Вот как установить Milvus CLI.

Установка из PyPI

Вы можете установить Milvus CLI с PyPI.

Предварительные требования

  • Установите Python 3.8.5 или более новую версию.
  • Установите pip.

Использование pip для установки

Запустите следующую команду для установки Milvus CLI.

pip install milvus-cli

Установка с помощью Docker

Вы можете установить Milvus CLI с использованием Docker.

Предварительные требования

Требуется Docker версии 19.03 или выше.

Установка из образа Docker

$ docker run -it zilliz/milvus_cli:latest

Установка из исходного кода

  1. Запустите следующую команду, чтобы загрузить репозиторий milvus_cli.
git clone https://github.com/zilliztech/milvus_cli.git
  1. Запустите следующую команду, чтобы войти в папку milvus_cli.
cd milvus_cli
  1. Запустите следующую команду, чтобы установить Milvus CLI.
python -m pip install --editable .

Кроме того, вы также можете установить Milvus CLI из сжатого tarball-файла (.tar.gz). Скачайте tarball, а затем выполните python -m pip install milvus_cli-.tar.gz.

Установка из файла .exe

Этот способ установки применим только к Windows.

Загрузите файл .exe с GitHub и запустите его для установки Milvus CLI. В случае успешной установки появится milvus_cli-.exe, как показано на изображении ниже.

Milvus_CLI

Справочник команд Milvus CLI

Вот список всех поддерживаемых команд с соответствующими опциями, включая несколько примеров для справки.

clear

Очистить содержимое экрана.

Синтаксис

clear

Опции

Опция Полное название Описание
--help N/A Показать информацию о помощи по использованию этой команды.

connect

Подключиться к Milvus.

Синтаксис

connect [-uri (текст)] [-t (текст)]

Опции

Опция Полное название Описание
-uri --uri (Необязательно) Имя URI. По умолчанию - "http://127.0.0.1:19530".
-t --token (Необязательно) API-ключ облака zilliz или username:password. По умолчанию - None.
--help N/A Показать информацию о помощи по использованию этой команды.

Пример

milvus_cli > connect -uri http://127.0.0.1:19530

create Database

Создать базу данных в Milvus.

Синтаксис

create database -db (текст)

Опции

Опция Полное название Описание
-db --database [Обязательно] Имя базы данных в Milvus.
--help n/a Показать информацию о помощи по использованию этой команды.

Пример

Пример 1

В следующем примере создается база данных с именем testdb в Milvus.

milvus_cli > create database -db testdb

Use Database

Использовать базу данных в Milvus.

Синтаксис

use database -db (текст)

Опции

Опция Полное имя Описание
-db --database [Обязательно] Название базы данных в Milvus.
--help n/a Показать справку по использованию команды.

Пример

Пример 1

В следующем примере используется база данных с названием testdb в Milvus.

milvus_cli > use database -db testdb

Список баз данных

Список баз данных в Milvus.

Синтаксис

list databases

Пример

Пример 1

В следующем примере перечисляются базы данных в Milvus.

milvus_cli > list databases

Удаление базы данных

Удалить базу данных в Milvus.

Синтаксис

delete database -db (текст)

Опции

Опция Полное имя Описание
-db --database [Обязательно] Название базы данных в Milvus.
--help n/a Показать справку по использованию команды.

Пример

Пример 1

В следующем примере удаляется база данных с названием testdb в Milvus.

milvus_cli > delete database -db testdb

Создание пользователя

Создание пользователя в Milvus.

Синтаксис

create user -u (текст) -p (текст)

Опции

Опция Полное имя Описание
-p --password Пароль пользователя в Milvus. Значение по умолчанию - "None".
-u --username Имя пользователя в Milvus. Значение по умолчанию - "None".
--help n/a Показать справку по использованию команды.

Пример

Пример 1

В следующем примере создается пользователь с именем пользователя zilliz и паролем zilliz в Milvus.

milvus_cli > create user -u zilliz -p zilliz

Создание псевдонима

Присвоение уникального псевдонима коллекции.

У коллекции может быть несколько псевдонимов, но псевдоним соответствует только одной коллекции.

Синтаксис

create alias -c (текст) -a (текст) [-A]

Опции

Опция Полное имя Описание
-c --collection-name Название коллекции.
-a --alias-name Псевдоним.
-A --alter (Необязательно) Флаг для перемещения псевдонима в указанную коллекцию.
--help n/a Показать справку по использованию команды.

Пример

Пример 1

В следующем примере создаются псевдонимы carAlias1 и carAlias2 для коллекции с названием car.

milvus_cli > create alias -c car -a carAlias1

Пример 2

Пример 2 основан на примере 1.

В следующем примере псевдоним carAlias1 перемещается из коллекции car в коллекцию car2.

milvus_cli > create alias -c car2 -A -a carAlias1

Создание коллекции

Создание коллекции.

Синтаксис

create collection -c (текст) -f (текст) -p (текст) [-a] [-d (текст)]

Опции

Опция Полное имя Описание
-c --collection-name Название коллекции.
-f --schema-field (множественно) Шаблоны полей в формате ::.
-p --schema-primary-field Название поля первичного ключа.
-a --schema-auto-id (необязательно) Флаг для автоматической генерации ID.
-desc --schema-description (необязательно) Описание коллекции.
-level --consistency-level (необязательно) Уровень согласованности: Ограниченный, Сессионный, Сильный, Постепенный.
-d --is-dynamic (необязательно) Поддержка ли схемы коллекции динамических полей.
-s --shards-num (необязательно) Количество шардов.
--help n/a Показать справку по использованию команды.

Пример

milvus_cli > create collection -c car -f id:INT64:primary_field -f vector:FLOAT_VECTOR:128 -f color:INT64:color -f brand:INT64:brand -p id -A -d 'car_collection'

Создание раздела

Создание раздела.

create partition -c (текст) -p (текст) [-d (текст)]

Опции

Опция Полное название Описание
-c --collection-name Название коллекции.
-p --partition Название раздела.
-d --description (необязательно) Описание раздела.
--help n/a Показать справку по использованию команды.

Пример

milvus_cli > create partition -c car -p new_partition -d test_add_partition

Создание индекса

Создание индекса для поля.

В настоящее время коллекция поддерживает максимум один индекс.

Синтаксис

create index

Опции

Опция Полное название Описание
--help n/a Показать справку по использованию команды.

Пример

Для создания индекса для поля и запроса необходимой информации:

milvus_cli > create index

Название коллекции (car, car2): car2

Название поля для создания индекса (вектор): вектор

Название индекса: векторныйИндекс

Тип индекса (FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, RNSG, HNSW, ANNOY, AUTOINDEX, DISKANN, ) []:  IVF_FLAT  

Тип метрики индекса (L2, IP, HAMMING, TANIMOTO,): L2

Параметр nlist индекса: 2

Тайм-аут []:

Удаление пользователя

Удаление пользователя.

Синтаксис

delete user -u (текст)

Опции

Опция Полное название Описание
-u --username Имя пользователя.
--help n/a Показать справку по использованию команды.

Пример

milvus_cli > delete user -u zilliz

Удаление псевдонима

Удаление псевдонима.

Синтаксис

delete alias -a (текст) 

Опции

Опция Полное название Описание
-a --alias-name Псевдоним.
--help n/a Показать справку по использованию команды.

Удаление коллекции

Удаление коллекции.

Синтаксис

delete collection -c (текст) 

Опции

Опция Полное название Описание
-c --collection-name Название коллекции, которую нужно удалить.
--help n/a Показать справку по использованию команды.

Пример

milvus_cli > delete collection -c car

Удаление сущностей

Удаление сущностей.

Синтаксис

delete entities -c (текст) -p (текст) 

Опции

Опция Полное название Описание
-c --collection-name Название коллекции, к которой принадлежит сущность.
-p --partition (Необязательно) Название раздела для удаления.
--help n/a Показать справку по использованию команды.

Пример

milvus_cli > delete entities -c vehicles

Укажите выражение для удаляемых сущностей, например, "идентификаторы фильмов в [0,1]": идентификаторы фильмов в [0,1]

Вы собираетесь удалить сущности из коллекции. Эту операцию нельзя отменить!
Продолжить выполнение этой операции? [y/N]: y

Удаление раздела

Удаление раздела.

Синтаксис

delete partition -c (текст) -p (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции, к которой принадлежит раздел.
-p --partition Название удаляемого раздела.
--help n/a Показать справку по использованию команды.

Пример

milvus_cli > delete partition -c vehicles -p new_partition

Удаление индекса

Удаление индекса и соответствующих файлов индекса.

В настоящее время коллекция поддерживает до одного индекса.

Синтаксис

delete index -c (текст) -in (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции.
-in --index-name Название индекса.
--help n/a Отобразить информацию о том, как использовать команду.

Пример

milvus_cli > delete index -c транспортные_средства -in название_индекса

Описание коллекции

Отображение подробной информации о коллекции.

Синтаксис

show collection -c (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции.
--help n/a Отобразить информацию о том, как использовать команду.

Пример

milvus_cli > show collection -c тестовая_коллекция_вставка

Описание раздела

Отображение подробной информации о разделе.

Синтаксис

show partition -c (текст) -p (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции, к которой принадлежит раздел.
-p --partition Название раздела.
--help n/a Отобразить информацию о том, как использовать команду.
milvus_cli > show partition -c тестовая_коллекция_вставка -p _default

Описание индекса

Отображение подробной информации об индексе.

Синтаксис

show index -c (текст) -in (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции.
-in --index-name Название индекса.
--help n/a Отобразить информацию о том, как использовать эту команду.

Пример

milvus_cli > show index -c тестовая_коллекция -in название_индекса

Выход

Закрыть окно командной строки.

Синтаксис

exit

Опции

Опция Полное название Описание
--help n/a Отобразить информацию о том, как использовать эту команду.

Справка

Отобразить справочную информацию по команде.

Синтаксис

help

Команды

Команда Описание
calc Рассчитать расстояние между двумя массивами векторов, которые могут быть mkts_from_hybridts, mkts_from_unixtime, hybridts_to_unixtime.
clear Очистить экран.
connect Подключиться к Milvus.
create Создать коллекцию, раздел, индекс или псевдоним.
delete Удалить коллекцию, раздел, индекс, сущность или псевдоним.
describe Описать коллекцию, раздел или индекс.
exit Закрыть окно командной строки.
help Отобразить справочную информацию по команде.
import Импортировать данные из локального или удаленного источника в раздел.
list Перечислить коллекции, разделы или индексы.
load Загрузить коллекцию или раздел в память.
load_balance Выполнить балансировку нагрузки на узле запросов.
query Отобразить результаты запроса, удовлетворяющие всем входным условиям.
release Освободить коллекцию или раздел.
search Выполнить поиск векторной похожести или гибридный поиск.
show Отобразить текущую коллекцию, прогресс загрузки сущностей, прогресс индексирования сущностей или информацию о сегменте.
version Отобразить версию Milvus_CLI.

Импорт

Импортировать локальные или удаленные данные в раздел.

Синтаксис

import -c (текст)[-p (текст)] 

Опции

Опция Полное название Описание
-c --collection-name Название коллекции, в которую будут вставлены данные.
-p --partition (Необязательно) Название раздела, в который будут вставлены данные. Пропуск этой опции раздела указывает на выбор раздела "_default".
--help n/a Отобразить информацию о том, как использовать эту команду.

Пример 1

В следующем примере выполняется импорт локального CSV файла.

milvus_cli > import -c car 'examples/import_csv/vectors.csv'

Чтение csv файла...  [####################################]  100%

Имена столбцов ['vector', 'color', 'brand']

Обработано 50001 строк.

Вставка...

Успешно вставлено.
--------------------------  ------------------
Всего вставленных сущностей:             50000
Общее количество сущностей в коллекции:    150000
Отметка времени Milvus:           428849214449254403
--------------------------  ------------------

Пример 2

В следующем примере выполняется импорт удаленного CSV файла.

milvus_cli > import -c car 'https://raw.githubusercontent.com/milvus-io/milvus_cli/main/examples/import_csv/vectors.csv'

Чтение файла по удаленному URL.

Чтение csv файла...  [####################################]  100%

Имена столбцов ['vector', 'color', 'brand']

Обработка 50001 строк.

Вставка...

Успешно вставлено.

--------------------------  ------------------
Всего вставленных сущностей:                   50000
Общее количество сущностей в коллекции:         150000
Отметка времени Milvus:          428849214449254403
--------------------------  ------------------

Список пользователей

Отображает всех пользователей.

Синтаксис

list users

Опции

Опция Полное название Описание
--help n/a Отображает информацию об использовании этой команды.

Список коллекций

Отображает все коллекции.

Синтаксис

list collections

Опции

Опция Полное название Описание
--help n/a Отображает информацию об использовании этой команды.

Список индексов

Отображает все индексы для коллекции.

В настоящее время коллекция поддерживает не более одного индекса.

Синтаксис

list indexes -c (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции.
--help n/a Отображает информацию об использовании этой команды.

Список разделов

Отображает все разделы для коллекции.

Синтаксис

list partitions -c (текст)

Опции

Опция Полное название Описание
-c --collection-name Название коллекции.
--help n/a Отображает информацию об использовании этой команды.

Загрузка

Загружает коллекцию или раздел с диска в память.

Синтаксис

load -c (текст) [-p (текст)]

Опции

Опция Полное название Описание
-c --collection-name Название коллекции, к которой относится раздел.
-p --partition (Дополнительно/несколько) Название раздела.
--help n/a Отображает информацию об использовании этой команды.

Запрос

Отображает результаты запроса, соответствующие всем введенным условиям.

Синтаксис

query

Опции

Опция Полное название Описание
--help n/a Отображает информацию об использовании этой команды.

Пример

Пример 1

Выполнить запрос и запросить необходимую информацию:

milvus_cli > query

Название коллекции: car

Выражение запроса: id in [428960801420883491, 428960801420883492, 428960801420883493]

Названия разделов, содержащих сущности (разделенные запятыми) []: default

Список возвращаемых полей (разделенные запятыми) []: color, brand

Таймаут []:

Гарантированная временная метка. Это указывает, что все операции, выполненные Milvus до предоставленной временной метки. Если временная метка не предоставлена, Milvus будет искать все операции, выполненные до настоящего времени. [0]: Время уступки. Используется только в ограниченном уровне согласованности. Если задано время уступки, PyMilvus вычтет текущую временную метку из времени уступки, чтобы использовать его как гарантированную временную метку. Если эта опция не установлена, установлено значение по умолчанию - 5 секунд. [5]:

Пример 2

Выполните запрос и запросите необходимую информацию:

milvus_cli > query

Название коллекции: car

Выражение запроса: id > 428960801420883491

Имена разделов, содержащих сущности (разделенные запятыми) []: default

Список возвращаемых полей (разделенных запятыми) []: id, color, brand

Тайм-аут []:

Гарантированный временной штамп. Это указывает, что все операции, выполняемые Milvus до предоставленного временного штампа. Если такой временной штамп не предоставлен, Milvus будет искать все операции, выполненные до настоящего времени. [0]: Вежливое время. Используется только в ограниченном уровне согласованности. Если установлено вежливое время (graceful_time), PyMilvus вычтет текущий временной штамп из вежливого времени для использования в качестве гарантированного временного штампа. Если этот параметр не установлен, используется значение по умолчанию - 5 секунд. [5]:

Освободить

Освободить ОЗУ коллекции или раздела.

Синтаксис

release -c (текст) [-p (текст)]

Параметры

Параметр Полное название Описание
-c --collection-name Название коллекции, к которой принадлежит раздел.
-p --partition (Опционально/множественно) Название раздела.
--help n/a Отображает информацию об использовании команды.

Поиск

Выполнить поиск похожих векторов или гибридный поиск.

Синтаксис

search

Параметры

Опция Полное название Описание
--help n/a Отображает информацию об использовании команды.

Пример

Пример 1

Выполнить поиск в csv-файле и запросить необходимую информацию:

milvus_cli > search

Название коллекции (car, test_collection): car

Векторы для поиска данных (длина данных для запроса (nq), размерность каждого вектора в данных должна быть равна векторному полю коллекции. Вы также можете импортировать csv-файл
head): examples/import_csv/search_vectors.csv

Векторное поле для поиска коллекции (вектор): vector

Тип метрики: L2

Значение nprobe для параметра поиска: 10

Максимальное количество записей для возврата, также известное как topk: 2

Логическое выражение для фильтрации свойств []: id > 0

Имена разделов для поиска (разделенные запятыми) ['_default'] []: _default

Тайм-аут []:

Гарантированный временной штамп (указывает, что Milvus выполняет все операции до предоставленного временного штампа. Если такой временной штамп не предоставлен, Milvus будет искать все операции до настоящего времени) [0]: 

Пример 2

Выполните поиск в коллекции индексов и запросите необходимые параметры:

milvus_cli > search

Введите название коллекции (например, car, test_collection): car

Векторные данные для поиска (длина данных - количество запросов (nq), размерность каждого вектора должна быть равной размерности векторного поля в коллекции. Вы также можете импортировать CSV-файл без строки заголовка):
    [[0.71, 0.76, 0.17, 0.13, 0.42, 0.07, 0.15, 0.67, 0.58, 0.02, 0.39, 0.47, 0.58, 0.88, 0.73, 0.31, 0.23, 0.57, 0.33, 0.2, 0.03, 0.43, 0.78, 0.49, 0.17, 0.56, 0.76, 0.54, 0.45, 0.46, 0.05, 0.1, 0.43, 0.63, 0.29, 0.44, 0.65, 0.01, 0.35, 0.46, 0.66, 0.7, 0.88, 0.07, 0.49, 0.92, 0.57, 0.5, 0.16, 0.77, 0.98, 0.1, 0.44, 0.88, 0.82, 0.16, 0.67, 0.63, 0.57, 0.55, 0.95, 0.13, 0.64, 0.43, 0.71, 0.81, 0.43, 0.65, 0.76, 0.7, 0.05, 0.24, 0.03, 0.9, 0.46, 0.28, 0.92, 0.25, 0.97, 0.79, 0.73, 0.97, 0.49, 0.28, 0.64, 0.19, 0.23, 0.51, 0.09, 0.1, 0.53, 0.03, 0.23, 0.94, 0.87, 0.14, 0.42, 0.82, 0.91, 0.11, 0.91, 0.37, 0.26, 0.6, 0.89, 0.6, 0.32, 0.11, 0.98, 0.67, 0.12, 0.66, 0.47, 0.02, 0.15, 0.6, 0.64, 0.57, 0.14, 0.81, 0.75, 0.11, 0.49, 0.78, 0.16, 0.63, 0.57, 0.18]]

Поле вектора для поиска (например, вектор): 

Тип измерения расстояния: L2

Значение параметра поиска nprobe: 10

Количество знаков после запятой для возвращаемых расстояний (также известный как topk): 5

Булево выражение для фильтрации свойств ([]): id > 0

Имена разделов для поиска (если их несколько, разделяйте запятыми) ['_default'] []: _default

Тайм-аут ([]): 

Гарантия временной метки (указывает Milvus искать все операции, выполненные до указанной временной метки. Если временная метка не указана, Milvus будет искать все операции, выполненные до настоящего времени) [0]: 

Пример 3

Поиск непроиндексированных коллекций и запрос ввода:

milvus_cli > search

Имя коллекции (car, car2): car

Векторы для поиска данных (длина данных для подсчета запроса (nq), размерности каждого вектора в данных должны быть равны векторному полю коллекции. Вы также можете импортировать файл csv без заголовков): examples/import_csv/search_vectors.csv

Векторное поле для поиска коллекции (vector): vector

Десятичные знаки возвращаемых расстояний (-1 указывает на все знаки): 5

Максимальное количество возвращаемых записей, также известное как topk: 2

Логическое выражение для фильтрации свойств: []

Имена разделов, которые нужно искать (используйте «,» для разделения, если их несколько): ['_default'] []

Тайм-аут: []

Гарантированные временные метки (это указывает, что Milvus просматривает все операции, выполненные до предоставленной временной метки. Если временная метка не предоставлена, Milvus будет искать все операции, выполненные до настоящего момента): [0]

Список подключений

Отображение списка подключений.

Синтаксис

list connections

Параметры

Опция Полное имя Описание
--help n/a Отображение справочной информации по использованию этой команды.

show index_progress

Отображение прогресса индексации сущности.

Синтаксис

show index_progress -c (текст) [-i (текст)]

Параметры

Опция Полное имя Описание
-c --collection-name Имя коллекции, к которой принадлежит сущность.
-i --index (Необязательно) Имя индекса.
--help n/a Отображение справочной информации по использованию этой команды.

show loading_progress

Отображение прогресса загрузки сущности.

Синтаксис

show loading_progress -c (текст) [-p (текст)]

Параметры

Опция Полное имя Описание
-c --collection-name Имя коллекции, к которой принадлежит сущность.
-p --partition (Необязательно/несколько) Имя раздела для загрузки.
--help n/a Отображение справочной информации по использованию этой команды.

version

Отображение версии Milvus_CLI.

Синтаксис

version

Параметры

Опция Полное имя Описание
--help n/a Отображение справочной информации по использованию этой команды.

Вы также можете проверить версию Milvus_CLI в оболочке, как показано в следующем примере. В этом случае milvus_cli --version действует как команда.

Пример

$ milvus_cli --version
Milvus_CLI v0.4.0