CPDCTLは、 IBM Cloud Pak for Data (CPD)プラットフォーム上でAIサービスを展開および管理するためのコマンドラインツールです。 これは、AIサービスの展開をシンプルかつ合理的に行う方法を提供し、手動での設定を不要にし、エラー発生のリスクを低減します。 Cloud Pak for Data (CPDCTL)コマンドラインインターフェイスを使用して、AIサービスをプログラムで使用する生成型AIソリューションを展開することができます。
プロセスの概要
CPDCTL を使用して AI サービスをデプロイするプロセスには、CPDCTL のインストールと環境変数の設定による環境の準備、AI サービスインスタンスの作成、AI サービスのコードのアップロード、AI サービスのデプロイによる利用可能化が含まれます。 デプロイメントは、AIサービスインスタンスの作成、コードのアップロード、AIサービスの展開を含む一連のCPDCTLコマンドを実行することで開始されます。 展開されたAIサービスは、REST APIエンドポイントを通じてアクセスでき、リアルタイムでの予測と意思決定が可能になります。 CPDCTLは、AIサービスの展開、管理、拡張をシンプルかつ効率的に行う方法を提供します。
前提条件
CPDCTLでAIサービスを展開する前に、以下の前提条件を満たす必要があります
- CPDCTLをインストールして設定します。 詳細については 、 IBM Cloud Pak for Data コマンドラインインターフェースを参照してください。
- Create a deployment space with access to watsonx.ai.
- Save the deployment space ID, service URL, and API key as environment variables:
SPACE_ID
,WML_URL
, andAPI_KEY
. runtime-24.1-py3.11
のソフトウェア仕様書を用意し、langgraph: SOFT_SPEC
にアクセスできるようにする。
コードの準備
AIサービスコードをダウンロード:
deployable_code.py
。wget -O deployable_code.py https://raw.githubusercontent.com/IBM/watson-machine-learning-samples/refs/heads/ai-service-cli-sample/cloud/definitions/ai_service/deployable_function_ai_service_cli.py
AIサービスに
space_id
とurl
を提供する必要があります。コードファイルを
gzip
ファイルに用意します。gzip -k deployable_code.py
AIサービスインスタンスの作成
CPDCTL を使用して AI サービスインスタンスを作成します
cpdctl wx-ai ai-service create \ --space-id $SPACE_ID \ --name ai-service-app \ --description "Sample AI Service" \ --tags langgraph,example \ --code-type python \ --software-spec-id $SOFT_SPEC
これは作成されたAIサービスインスタンスの基本情報を返します。 より詳細なデータを得るには、 --output
JSON フラグを使用してください。
- 取得したIDを
AI_SERVICE_ID
として保存します。
AIサービスインスタンスへのコードのアップロード
CPDCTL を使用して、AI サービスインスタンスにコードをアップロードします
cpdctl wx-ai ai-service upload-code \
--space-id $SPACE_ID \
--ai-service-id $AI_SERVICE_ID \
--upload-code deployable_code.py.gz
AIサービスを展開する
CPDCTL を使用して AI サービスを展開します
cpdctl wx-ai deployment create \
--space-id $SPACE_ID \
--asset-id $AI_SERVICE_ID \
--name ai-service-deployment \
--description "Deployed AI Service" \
--tags ai_service,example,langgraph \
--online '{}' \
--output json
generate_stream
メソッドへのアクセスを担当するレスポンス内の URL を URL_STREAM
として保存します。
カスタムパラメータオブジェクトの提供
When creating a deployment, you can provide a custom parameters object by using the --custom
flag. このフラグは、キーと値のペアを持つJSONオブジェクトを受け入れます。
例えば、以下のカスタムオブジェクトを提供したい場合:
{
"avatar_icon": "Bot",
"avatar_color": "background",
"placeholder_image": "image4.png",
"sample_questions": [
"Question 1",
"Question 2"
]
}
次のようなコマンドを使用できます。
cpdctl wx-ai deployment create \
--space-id $SPACE_ID \
--asset-id $AI_SERVICE_ID \
--name ai-service-deployment \
--description "Deployed AI Service" \
--tags ai_service,example,langgraph \
--online '{}' \
--output json \
--custom '{"avatar_icon": "Bot", "avatar_color": "background", "placeholder_image": "image4.png", "sample_questions": ["Question 1", "Question 2"]}'
または、カスタムパラメータを含むJSONファイルを用意し、 @
シンボルとともに --custom
フラグを使用して、このファイルのパスを渡すこともできます。 例:
cpdctl wx-ai deployment create \
--space-id $SPACE_ID \
--asset-id $AI_SERVICE_ID \
--name ai-service-deployment \
--description "Deployed AI Service" \
--tags ai_service,example,langgraph \
--online '{}' \
--output json \
--custom @path_to_file_with_params.json
path_to_file_with_params.json
を、お客様のJSONファイルへの実際のパスに置き換えてください。
Cloud Identity and Access Management トークンの生成
デプロイメントを呼び出すには、IAMトークンを提供する必要があります。 curl
を使用して IAM トークンを生成します
curl -X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json" \
--data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
--data-urlencode "apikey=$API_KEY" \
"https://iam.test.cloud.ibm.com/identity/token"
取得したトークンを IAM_TOKEN
として保存します。
エンドポイントの推論
curl
を使用してエンドポイントにリクエストを送信します
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $IAM_TOKEN" \
-d "{\"space_id\": \"$SPACE_ID\", \"url\": \"$WML_URL\", \"question\": \"What is the total sum of the numbers 11, 13, and 20? Remember to always return the final result using the last tool message.\"}" \
$URL_STREAM
これは、モデルからの出力のストリームを返します。
親トピック: 直接コーディングによるAIサービスの展開