AI Search Endpointを停止して起動
ベータ版
この機能はベータ版です。使用するには、ワークスペース管理者は、 プレビューページ から AI Search: Stop and 起動 Endpoint を有効にする必要があります。Databricksのプレビューを管理するを参照してください。
使用されていないAI Search Endpointを停止します。停止したEndpointのサービング料金は発生せず、そのインデックスとデータは保持されます。ストレージの料金は、Endpointを停止する前と同じです。Endpointを再び起動したときに、ソーステーブルからインデックスを再同期することなく、同じインデックスをサービングします。それぞれの停止と起動には数分かかります。停止されたEndpointは、起動または削除するまで停止されたままになります。
停止したEndpointはクエリーを処理できません。アプリケーションが依存していないEndpointのみを停止してください。クエリーを受信しないインデックスを持つEndpointを特定するには、「未使用のAI Search Endpointの特定」を参照してください。
要件
- ワークスペース管理者は、 AI Search: Endpointの停止と起動 プレビューを有効にする必要があります。Databricksのプレビューを管理するを参照してください。
- Endpoint に対する CAN MANAGE 権限が必要です。AI Search Endpoint ACLを参照してください。
Endpointの停止中に起こること
Endpointは停止するとすぐにサービングを停止し、起動して準備が整うと再びサービングを起動します。それまで:
-
クエリーは失敗し、インデックスはソーステーブルから同期されません。インデックスは オフライン と表示されます。
-
次の操作を実行することはできません。
- Endpointでインデックスを作成または削除します。
- ターゲット1秒あたりのクエリー数 (QPS)、使用ポリシー、タグなどのEndpoint設定を変更します。
- 検索品質評価またはリランカーファインチューニングをラン。
-
Endpointとそのインデックスの表示、権限の編集、Endpointの削除は引き続き可能です。
Endpointを起動した後、各Triggerされたインデックスを同期して、Endpointの停止中にソーステーブルに加えられた変更を反映させます。
Endpointを停止できない場合
次の場合、停止リクエストは失敗し、エラーメッセージにその理由が示されます:
- Endpointの準備ができていないか、インデックスの作成、削除、同期、ターゲットQPSの変更などの操作が進行中です。操作が完了した後、再試行してください。
- Endpoint上のインデックスは、連続同期モードを使用しているか、Direct Vector Accessインデックスです。これらのインデックスを持つEndpointを停止することはできません。
- Endpointにインデックスがありません。最後のインデックスが削除されてから24時間後にはEndpointの料金が発生しなくなるため、停止する必要はありません。「AI Searchの料金体系」を参照してください。
Endpointを停止する
Databricks UI、 Python SDK 、またはREST APIを使用してEndpointを停止できます。
- Databricks UI
- Python SDK
- REST API
- 左のサイドバーで、 コンピュート をクリックします。
- AI Search tabをクリックします。
- Endpointの行で、ケバブメニュー
をクリックし、[ Endpointの停止 ]を選択します。Endpointの詳細ページのケバブメニューから [ Endpointの停止 ] を選択することもできます。
- 確認ダイアログで、 「Endpointを停止」 をクリックします。
Endpointのステータスが 停止中 になり、次に 停止済み になります。
Endpointの停止と起動には、databricks-ai-search バージョン 0.80 以上が必要です。
%pip install --upgrade databricks-ai-search
dbutils.library.restartPython()
from databricks.ai_search.client import AISearchClient
client = AISearchClient()
client.stop_endpoint(name="my-endpoint")
# The state is STOPPING at first, and then STOPPED
endpoint = client.get_endpoint(name="my-endpoint")
print(endpoint["endpoint_status"]["state"])
Endpointを停止するには、リクエスト本文を含めずに次のリクエストを送信します:
POST /api/2.0/vector-search/endpoints/{endpoint_name}/stop
応答にはEndpointが含まれ、endpoint_status.state は STOPPING に設定されています。Endpoint が停止したかどうかを確認するには、次のリクエストを送信し、endpoint_status.state が STOPPED であることを確認します:
GET /api/2.0/vector-search/endpoints/{endpoint_name}
既に停止中または停止済みのEndpointに停止要求を送信した場合、Endpointを変更せずに返します。
Endpointを起動
Endpointを起動したときに、停止したときと同じインデックスをサービングします。
- Databricks UI
- Python SDK
- REST API
- 左のサイドバーで、 コンピュート をクリックします。
- AI Search tabをクリックします。
- 停止したEndpointの行で、ケバブメニュー
をクリックし、 Endpointを起動 を選択します。Endpointの詳細ページのケバブメニューから Endpointの起動 を選択することもできます。
Endpointのステータスは 起動中 に変わり、Endpointがクエリーを処理できる状態になると 準備完了 に変わります。
from databricks.ai_search.client import AISearchClient
client = AISearchClient()
# Start the endpoint and wait until it is ONLINE and ready to serve queries
client.start_endpoint_and_wait(name="my-endpoint")
待機せずにEndpointを起動するには、client.start_endpoint(name="my-endpoint") を使用します。
Endpointを起動するには、リクエスト本文なしで次のリクエストを送信します。
POST /api/2.0/vector-search/endpoints/{endpoint_name}/start
レスポンスにはEndpointが含まれ、endpoint_status.state が STARTING に設定されています。Endpointがクエリーを処理できる状態になると、endpoint_status.state は ONLINE になります。
すでに起動中のEndpointに対する起動要求を送信した場合、Endpointは変更されずに返されます。