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
ソースコードからのインストール
- 次のコマンドを実行して
milvus_cli
リポジトリをダウンロードします。
git clone https://github.com/zilliztech/milvus_cli.git
- 次のコマンドを実行して
milvus_cli
フォルダに移動します。
cd milvus_cli
- 次のコマンドを実行して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コマンドリファレンス
以下に、対応するオプションを含むすべてのサポートされているコマンドのリストとその例を示します。
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
という名前のコレクションにエイリアス carAlias1
と carAlias2
を作成しています。
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