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を使用してインストールする

Dockerを使用してMilvus CLIをインストールできます。

必要なもの

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 .

または、圧縮されたtarボール(.tar.gzファイル)からもMilvus CLIをインストールできます。tarballをダウンロードしてからpython -m pip install milvus_cli-.tar.gzを実行します。

.exeファイルからのインストール

このインストール方法はWindowsにのみ適用されます。

GitHubから.exeファイルをダウンロードして実行し、Milvus CLIをインストールします。成功すると、以下の画像に示されるようにmilvus_cli-.exeが表示されます。

Milvus_CLI

Milvus CLIコマンドリファレンス

以下に、対応するオプションを含むすべてのサポートされているコマンドのリストとその例を示します。

clear

画面のコンテンツをクリアします。

構文

clear

オプション

オプション フルネーム 説明
--help N/A このコマンドの使用方法に関するヘルプ情報を表示します。

connect

Milvusに接続します。

構文

connect [-uri (text)] [-t (text)]

オプション

オプション フルネーム 説明
-uri --uri (任意)URI名。デフォルトは "http://127.0.0.1:19530" です。
-t --token (任意)zilliz cloudのapikeyまたはusername:password。デフォルトはNoneです。
--help N/A このコマンドの使用方法に関するヘルプ情報を表示します。

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

create Database

Milvusにデータベースを作成します。

構文

create database -db (text)

オプション

オプション フルネーム 説明
-db --database [必須] Milvusのデータベースの名前です。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

例1

以下の例では、Milvusに名前がtestdbのデータベースを作成します。

milvus_cli > create database -db testdb

Use Database

Milvusでデータベースを使用します。

構文

use database -db (text)

オプション

オプション フルネーム 説明
-db --database [必須] Milvus内のデータベースの名前。
--help n/a コマンドの使用方法のヘルプを表示します。

例 1

以下の例は、Milvus内のデータベースとしてtestdbという名前を使用しています。

milvus_cli > use database -db testdb

データベースのリスト

Milvus内のデータベースをリストします。

構文

list databases

例 1

以下の例は、Milvus内のデータベースをリストしています。

milvus_cli > list databases

データベースの削除

Milvus内のデータベースを削除します。

構文

delete database -db (text)

オプション

オプション フルネーム 説明
-db --database [必須] Milvus内のデータベースの名前。
--help n/a コマンドの使用方法のヘルプを表示します。

例 1

以下の例は、Milvus内のデータベースとしてtestdbという名前のデータベースを削除しています。

milvus_cli > delete database -db testdb

ユーザーの作成

Milvus内でユーザーを作成します。

構文

create user -u (text) -p (text)

オプション

オプション フルネーム 説明
-p --password Milvus内のユーザーのパスワード。デフォルト値は "なし" です。
-u --username Milvus内のユーザー名。デフォルト値は "なし" です。
--help n/a コマンドの使用方法のヘルプを表示します。

例 1

以下の例は、Milvus内でユーザー名が zilliz でパスワードが zilliz のユーザーを作成しています。

milvus_cli > create user -u zilliz -p zilliz

エイリアスの作成

コレクションに一意のエイリアスを割り当てます。

コレクションには複数のエイリアスを持つことができますが、エイリアスは1つのコレクションにのみ対応します。

構文

create alias -c (text) -a (text) [-A]

オプション

オプション フルネーム 説明
-c --collection-name コレクションの名前。
-a --alias-name エイリアス。
-A --alter (オプション) 指定されたコレクションにエイリアスを移動するためのフラグ。
--help n/a コマンドの使用方法のヘルプを表示します。

例 1

以下の例は、car という名前のコレクションにエイリアス carAlias1carAlias2 を作成しています。

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 (text) -f (text) -p (text) [-a] [-d (text)]

オプション

オプション フルネーム 説明
-c --collection-name コレクションの名前。
-f --schema-field (複数) :: の形式でフィールドパターン。
-p --schema-primary-field プライマリキーのフィールドの名前。
-a --schema-auto-id (オプション) ID の自動生成フラグ。
-desc --schema-description (オプション) コレクションの説明。
-level --consistency-level (オプション) 一貫性レベル: Bounded, Session, Strong, Eventual。
-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'

パーティションの作成

パーティションを作成します。

パーティションを作成します -c (text) -p (text) [-d (text)]

オプション

オプション フルネーム 説明
-c --collection-name コレクションの名前。
-p --partition パーティションの名前。
-d --description (オプション) パーティションの説明。
--help n/a コマンドの使用方法を表示します。

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

インデックスの作成

フィールドのためのインデックスを作成します。

現在、コレクションは最大1つのインデックスをサポートしています。

構文

create index

オプション

オプション フルネーム 説明
--help n/a コマンドの使用方法を表示します。

フィールドのインデックスを作成し、必要な情報をプロンプト表示するには:

milvus_cli > create index

Collection name (car, car2): car2

Field name to create an index for (vector): vector

Index name: vectorIndex

Index type (FLAT, IVF_FLAT, IVF_SQ8, IVF_PQ, RNSG, HNSW, ANNOY, AUTOINDEX, DISKANN, ) []:  IVF_FLAT  

Index metric type (L2, IP, HAMMING, TANIMOTO,): L2

Index nlist parameter: 2

Timeout []:

ユーザーの削除

ユーザーを削除します。

構文

delete user -u (text)

オプション

オプション フルネーム 説明
-u --username ユーザー名。
--help n/a コマンドの使用方法を表示します。

milvus_cli > delete user -u zilliz

エイリアスの削除

エイリアスを削除します。

構文

delete alias -a (text) 

オプション

オプション フルネーム 説明
-a --alias-name エイリアス。
--help n/a コマンドの使用方法を表示します。

コレクションの削除

コレクションを削除します。

構文

delete collection -c (text) 

オプション

オプション フルネーム 説明
-c --collection-name 削除するコレクションの名前。
--help n/a コマンドの使用方法を表示します。

milvus_cli > delete collection -c car

エンティティの削除

エンティティを削除します。

構文

delete entities -c (text) -p (text) 

オプション

オプション フルネーム 説明
-c --collection-name エンティティが所属するコレクションの名前。
-p --partition (オプション) 削除するパーティションの名前。
--help n/a コマンドの使用方法に関するヘルプ情報を表示します。

milvus_cli > delete entities -c vehicles

削除するエンティティの式を指定してください、例: "movie IDs in [0,1]": movie IDs in [0,1]

コレクションからエンティティを削除しようとしています。この操作は元に戻すことはできません!
この操作を続行しますか? [y/N]: y

パーティションの削除

パーティションを削除します。

構文

delete partition -c (text) -p (text)

オプション

オプション フルネーム 説明
-c --collection-name パーティションが属するコレクションの名前。
-p --partition 削除するパーティションの名前。
--help n/a コマンドの使用方法に関するヘルプ情報を表示します。

milvus_cli > delete partition -c vehicles -p new_partition

インデックスの削除

インデックスとそれに対応するインデックスファイルを削除します。

現在、コレクションは1つのインデックスまでサポートしています。

構文

delete index -c (text) -in (text)

オプション

オプション フルネーム 説明
-c --collection-name コレクションの名前。
-in --index-name インデックスの名前。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

milvus_cli > delete index -c vehicles -in index_name

コレクションの説明

コレクションの詳細情報を表示します。

構文

show collection -c (テキスト)

オプション

オプション フルネーム 説明
-c --collection-name コレクションの名前。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

milvus_cli > show collection -c test_collection_insert

パーティションの説明

パーティションの詳細情報を表示します。

構文

show partition -c (テキスト) -p (テキスト)

オプション

オプション フルネーム 説明
-c --collection-name パーティションが所属するコレクションの名前。
-p --partition パーティションの名前。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。
milvus_cli > show partition -c test_collection_insert -p _default

インデックスの説明

インデックスの詳細情報を表示します。

構文

show index -c (テキスト) -in (テキスト)

オプション

オプション フルネーム 説明
-c --collection-name コレクションの名前。
-in --index-name インデックスの名前。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

milvus_cli > show index -c test_collection -in index_name

終了

コマンドラインウィンドウを閉じます。

構文

exit

オプション

オプション フルネーム 説明
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

ヘルプ

コマンドのヘルプ情報を表示します。

構文

help

コマンド

コマンド 説明
calc 2つのベクトル配列間の距離を計算します。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 このコマンドの使用方法に関する情報を表示します。

インデックスの一覧表示

コレクションのすべてのインデックスを一覧表示します。

現在、コレクションは最大で1つのインデックスをサポートしています。

構文

list indexes -c (text)

オプション

オプション フルネーム 説明
-c --collection-name コレクション名。
--help n/a このコマンドの使用方法に関する情報を表示します。

パーティションの一覧表示

コレクションのすべてのパーティションを一覧表示します。

構文

list partitions -c (text)

オプション

オプション フルネーム 説明
-c --collection-name パーティションが所属するコレクション名。
--help n/a このコマンドの使用方法に関する情報を表示します。

ロード

ディスクからメモリにコレクションまたはパーティションをロードします。

構文

load -c (text) [-p (text)]

オプション

オプション フルネーム 説明
-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]: グレースフルタイム。バウンドされた一貫性レベルでのみ使用されます。graceful_timeが設定されている場合、PyMilvusは現在のタイムスタンプからgraceful_timeを引いたものを保証されたタイムスタンプとして使用します。このオプションが設定されていない場合、デフォルト値は5秒です。 [5]:

例2

クエリを実行し、必要な情報をプロンプトします:

milvus_cli > query

コレクション名: car

クエリ式: id > 428960801420883491

エンティティを含むパーティションの名前(カンマ区切り) []: default

返されるフィールドのリスト(カンマ区切り) []: id, color, brand

タイムアウト []:

保証されるタイムスタンプ。これはMilvusが提供されたタイムスタンプよりも前に行ったすべての操作を示します。そのようなタイムスタンプが提供されていない場合、Milvusは今までに行ったすべての操作を検索します [0]: 優雅な時間。バウンドされた一貫性レベルでのみ使用されます。graceful_timeが設定されている場合、PyMilvusは現在のタイムスタンプからgraceful_timeを減算して保証されるタイムスタンプとして使用します。このオプションが設定されていない場合、デフォルト値は5秒です [5]:

リリース

コレクションまたはパーティションのRAMを解放します。

構文

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ファイルもインポートできます
先頭行): examples/import_csv/search_vectors.csv

検索コレクションのベクトルフィールド(vector): 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]]

検索フィールド(例: vector): 

距離測定タイプ: 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

コレクションの検索用ベクトルフィールド(ベクトル):ベクトル

返される距離の小数点以下の桁数(-1はすべての桁を示す):5

返されるレコードの最大数、またはトップk:2

プロパティをフィルタリングするためのブール式:[]

検索するパーティションの名前(複数ある場合は','で区切る):['_default'] []

タイムアウト:[]

保証されたタイムスタンプ(これは、Milvusが指定されたタイムスタンプより前に実行されたすべての操作を表示することを示します。タイムスタンプが指定されていない場合、Milvusはこれまでに実行されたすべての操作を検索します):[0]

接続のリスト

接続をリストします。

構文

list connections 

オプション

オプション フルネーム 説明
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

インデックス進行状況の表示

エンティティのインデックス進行状況を表示します。

構文

show index_progress -c (text) [-i (text)]

オプション

オプション フルネーム 説明
-c --collection-name エンティティが所属するコレクションの名前。
-i --index (オプション)インデックスの名前。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

ロード進行状況の表示

エンティティのロード進行状況を表示します。

構文

show loading_progress -c (text) [-p (text)]

オプション

オプション フルネーム 説明
-c --collection-name エンティティが所属するコレクションの名前。
-p --partition (オプション/複数可)ロードするパーティションの名前。
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

バージョン

Milvus_CLIのバージョンを表示します。

構文

version

オプション

オプション フルネーム 説明
--help n/a このコマンドの使用方法に関するヘルプ情報を表示します。

また、次の例で示すように、シェルでMilvus_CLIのバージョンを確認することもできます。この場合、milvus_cli --versionがコマンドの役割を果たします。

$ milvus_cli --version
Milvus_CLI v0.4.0