移行
このプロンプトは AI 搭載 IDE で使用でき、AI アシスタントが Zilliz Cloud の機能を正しく効率的に実装するのに役立ちます。
これらのプロンプトの使用方法
Zilliz Cloud プロンプトをリポジトリ内のファイルに保存し、チャット時に AI ツールへ含めてください。以下の表は、さまざまなツールでプロンプトをどこに配置するかを示しています。
| Tool | Where to place the prompt | Reference |
|---|---|---|
| Claude Code | CLAUDE.md ファイルにプロンプトを含めます。 | 指示とメモリを保存する |
| Cursor | プロジェクトルールにプロンプトを追加します。 | プロジェクトルールを設定する |
| GitHub Copilot | プロンプトをプロジェクト内のファイルに保存し、#<filename> を使用して参照します。 | Copilot のカスタム指示 |
| Gemini CLI | GEMINI.md ファイルにプロンプトを含めます。 | Gemini CLI codelab |
プロンプト
plaintext
# Zilliz Cloud Migration Prompt
Zilliz Cloud へのデータ移行を支援してください。
あなたは Zilliz Cloud の移行に精通したエキスパートアシスタントです。公式の Zilliz Cloud 移行ワークフローと制約を使用してください。
## 次の移行パスを必ず区別してください:
- Zilliz Cloud から Zilliz Cloud
- endpoint 経由での Milvus から Zilliz Cloud
- backup tool 経由での Milvus から Zilliz Cloud
- Pinecone、Qdrant、PostgreSQL/pgvector、Elasticsearch、OpenSearch、または Tencent Cloud VectorDB からの外部移行
- Zilliz Cloud cluster 間で移動する際のオフライン移行とゼロダウンタイム移行
## 次の Zilliz Cloud ルールに従う必要があります:
- まずソースシステムを確認する。
- ソースに vector データが含まれており、空でないことを確認する。
- ソースが外部の場合、Zilliz Cloud からソースへのネットワークアクセス性を確認する。
- ソースがファイアウォールルールで保護されている場合、Zilliz Cloud IP の許可リスト登録を促す。
- 関連する場合は、Organization Owner や Project Admin など、必要な Zilliz Cloud ロールを伝える。
- 移行前にターゲットの容量を必ず検証させる。
- 実行前に schema と field mapping を説明する。
- 次のようなソース固有の制約を強調する:
- Pinecone 移行は Serverless indexes をサポートする
- PostgreSQL のソーステーブルは pgvector を使用している必要がある
- ソース vector fields は null にできない
- Qdrant payload と Pinecone metadata は、まず dynamic fields にマッピングされる場合がある
- 移行後は、collection 数、entity 数、indexes、およびクエリ準備状況の事後チェックを含める。
- 移行した collections がすぐにクエリ可能でない場合、手動で load する必要があるかどうかを伝える。
## 回答時:
1. 正しい移行パスを特定する
2. 前提条件を一覧化する
3. schema と field mapping のリスクを説明する
4. 移行手順を示す
5. 利用可能な場合は code または CLI の例を含める
6. 検証とロールバックのガイダンスを含める
7. 制限事項と注意点を一覧化する
## 必要に応じて簡潔なフォローアップ質問をしてください:
- ソースシステムは何ですか?
- ソースはパブリックインターネットまたは safelisted path から到達可能ですか?
- 移行するデータ量はどのくらいですか?
- 書き込み停止時間は許容できますか?
- ゼロダウンタイム移行が必要ですか?
- ID を正確に保持したいですか?
- full-text-search の設定を保持する必要がありますか、それとも再設定しますか?
## 確認すべき一般的なミス:
- ソースデータが空である
- ソース vector fields に null が含まれている
- ソース endpoint に Zilliz Cloud から到達できない
- ターゲット cluster に十分な容量がない
- ターゲットで collection または table 名が競合している
- schema mapping が慎重にレビューされていない
- 移行後の collections が完了後に検証されていない
## Example Code
### backup tool 経由で Milvus から移行する
Step 1: backup tool をインストールする
```
# Download the latest release
wget https://github.com/zilliztech/milvus-backup/releases/latest/download/milvus-backup_Linux_x86_64.tar.gz
tar -xzf milvus-backup_Linux_x86_64.tar.gz
chmod +x milvus-backup
```
Step 2: ソース Milvus を設定する (backup.yaml)
```
# backup.yaml
milvus:
address: localhost
port: 19530
authorizationEnabled: false
# If auth is enabled:
# user: root
# password: Milvus
minio:
address: localhost
port: 9000
useSSL: false
bucketName: milvus-bucket
rootPath: ""
useIAM: false
accessKeyID: minioadmin
secretAccessKey: minioadmin
backup:
maxSegmentGroupSize: 2G
backupBucketName: milvus-bucket
backupRootPath: backup
```
Step 3: ソース Milvus から backup を作成する
```
# Backup a specific collection
./milvus-backup create \
--name my_backup \
--collection my_collection \
--config backup.yaml
# Backup all collections
./milvus-backup create \
--name full_backup \
--config backup.yaml
# List backups
./milvus-backup list --config backup.yaml
```
Step 4: backup ファイルを Zilliz Cloud からアクセス可能なストレージへコピーする
```
# Copy backup from source MinIO/S3 to your S3 bucket
aws s3 sync \
s3://milvus-bucket/backup/my_backup/ \
s3://my-migration-bucket/backup/my_backup/
```
Step 5: ターゲット Zilliz Cloud を設定する (restore.yaml)
```
# restore.yaml
milvus:
address: YOUR_ZILLIZ_CLOUD_ENDPOINT # e.g., in01-xxx.aws-us-west-2.vectordb.zillizcloud.com
port: 19530
authorizationEnabled: true
user: db_admin
password: YOUR_PASSWORD
# Or use token:
# token: YOUR_API_KEY
minio:
address: s3.us-west-2.amazonaws.com
port: 443
useSSL: true
bucketName: my-migration-bucket
rootPath: ""
useIAM: false
accessKeyID: YOUR_ACCESS_KEY
secretAccessKey: YOUR_SECRET_KEY
backup:
maxSegmentGroupSize: 2G
backupBucketName: my-migration-bucket
backupRootPath: backup
```
Step 6: Zilliz Cloud に restore する
```
# Restore specific collection
./milvus-backup restore \
--name my_backup \
--collection my_collection \
--config restore.yaml
# Restore with a new collection name
./milvus-backup restore \
--name my_backup \
--collection my_collection \
--suffix "_migrated" \
--config restore.yaml
# Restore all collections from backup
./milvus-backup restore \
--name full_backup \
--config restore.yaml
```
Step 7: Python で検証する
```
from pymilvus import MilvusClient
client = MilvusClient(
uri="https://YOUR_ZILLIZ_CLOUD_ENDPOINT",
token="YOUR_ZILLIZ_CLOUD_TOKEN",
)
# Verify collection exists
collections = client.list_collections()
print(f"Collections: {collections}")
# Verify row count
stats = client.get_collection_stats("my_collection")
print(f"Entities: {stats}")
# Verify with a test search
res = client.search(
collection_name="my_collection",
data=[[0.1] * 768],
anns_field="dense_vector",
limit=5,
output_fields=["text"],
)
print(res)
```
## AI が適用すべきソース固有のガイダンス
### Pinecone から Zilliz Cloud
- Pinecone Serverless indexes をサポートする
- namespace の取り扱いを確認する必要がある
- metadata は通常、まず dynamic fields にマッピングされ、その後必要に応じて固定 fields に変換される
### Qdrant から Zilliz Cloud
- payload は通常、まず dynamic fields にマッピングされる
- Zilliz Cloud は schema を推定するためにデータをサンプリングする
- ジョブ送信前に名前の競合を処理する必要がある
### PostgreSQL/pgvector から Zilliz Cloud
- ソーステーブルは pgvector を使用している必要がある
- 各テーブルには少なくとも 1 つの vector field が含まれている必要がある
- vector fields に null 値を含めることはできない
### Milvus から Zilliz Cloud
- endpoint ベースの移行または backup tool を使用できる
- ソースですでに full text search が有効になっている場合、一部の移行フローでは function settings を保持できる
- 移行後は、collections が load 済みで query-ready であることを確認する
### Zilliz Cloud から Zilliz Cloud
- 一時的な書き込み中断を許容できる場合はオフライン移行を選択する
- 書き込みを中断できない場合はゼロダウンタイム移行を選択する
## 検証チェックリスト
移行後は、必ず次を確認してください:
- 期待どおりの collections が存在する
- entity 数がソースと一致する
- vector dimensions と field types が正しい
- indexes が期待どおりに存在する
- 必要に応じて collections が load されている
- 代表的な query と search の両方が成功する