watsonx.aiでは、あらかじめ定義されたテンプレートを使ってAIサービスを展開することができます。 AIサービス・テンプレートは、AIアプリケーションのための事前構築された基盤を提供し、開発者はゼロから始めるのではなく、アプリケーションのコア・ロジックに集中することができます。
テンプレートによるAIサービス展開の標準化
AIサービス・テンプレートは、あらかじめ構築され、再利用可能で、カスタマイズ可能なコンポーネントであり、ジェネレーティブAIアプリケーションを展開・管理するための構造化されたアプローチを提供する。 AIモデルをパッケージ化し、デプロイし、他のアプリケーションやシステムと統合するための標準化された方法を提供することで、開発者は基盤となるインフラやデプロイのロジスティクスを気にすることなく、モデルの構築とトレーニングに集中することができる。 あらかじめ定義された構造、構成、ツールのセットを提供することで、AIサービステンプレートはAIサービスの展開プロセスを簡素化し、エラーのリスクを低減し、AI開発と展開の全体的な効率性と一貫性を向上させる。
AIサービス・テンプレートの構成要素
AIサービステンプレートの構成要素は以下の通り:
ソース・ディレクトリ :ソースディレクトリには、デプロイされた関数が使用するコード(
ai_service.py
ファイルから)が含まれます。 デプロイ時に、ソースディレクトリはパッケージ化され、パッケージ拡張としてクラウドに送られる。コアアプリケーションロジック :コアアプリケーションロジックは
ai_service.py
。 このファイルには、アプリケーションのコア・ロジック、入力スキーマ定義、認証コードなど、デプロイされる機能が含まれています。設定ファイル :
config.toml
ファイルには、モデルのデプロイメント メタデータと構成設定が格納されます。テスト :
tests/
には、ツールやユーティリティ関数のテストを含む、テンプレートのユニットテストが含まれています。デプロイスクリプト :
scripts/deploy.py
は、 IBM Cloud 上にテンプレートをデプロイします。examples/execute_ai_service_locally.py
、AIサービスをローカルで実行することができる。examples/query_existing_deployment.py
は、既存の配備を推論するために使用できる。プロジェクトの設定 :
pyproject.toml
ファイルは、プロジェクトの依存関係とパッケージを管理します。
テンプレートを使ったAIサービスの展開
テンプレートを使ってAIサービスを展開するには、以下の手順に従ってください:
テンプレートの準備テンプレートの準備: テンプレートを準備するには、テンプレート・リポジトリーをクローンし、必要な依存関係やツール (
Pipx
、Poetry
など)をインストールし、ローカル・シス テムで環境をセットアップし、仮想環境をアクティブ化する必要があります。 これにより、テンプレートが適切に設定され、配備の準備が整っていることが確認される。テンプレートを設定します:
config.toml
ファイルに必要な認証情報と構成設定を入力してテンプレートを構成します。 これには、AIサービスの特定の要件に合わせて、必要に応じてアプリケーション・ロジックでモデルをカスタマイズすることも含まれる。 コンフィギュレーションファイルは、モデルのデプロイメントメタデータとコンフィギュレーション設定を保存し、ローカルでの実行のためにモデルを微調整するために使用されます。また、
Parameter sets
、またはconfig.toml
ファイル内のCUSTOM
オブジェクトを使用することで、アプリに追加のキー・バリュー・データを提供することもできる。 パラメータセットの保存と管理についての詳細は、 Python クライアントライブラリドキュメントの 「パラメータセット」 を参照してください。外部クレデンシャルを扱うには、 IBM Secrets Managerを使用できます。 Secrets Managerは、APIキーやパスワードなどの機密情報を安全に保管・管理できるサービスです。 Secrets Managerを使うことで、認証情報をコードやコンフィギュレーションファイルの外に置くことができ、アプリケーションのセキュリティを向上させることができます。 詳細については、 IBM Cloud Secrets Manager API ドキュメントを参照してください。
テンプレートのテストテンプレートをデプロイする前に、それが正しく動作することを確認するためのテストが不可欠です。 これには、
examples/execute_ai_service_locally.py
スクリプトを実行してアプリケーションをローカルでテストすることで、テンプレートが期待通りに機能していることを検証する単体テストを実行することが含まれます。 このスクリプトを実行すると、AIサービスをローカルで実行し、サンプル入力でテストすることができます。テンプレートのデプロイテンプレートのテストと検証が完了したら、
scripts/deploy.py
スクリプトを使用してデプロイできます。 このスクリプトは、デプロイメントプロセスを自動化し、パッケージエクステンションを作成します。 Secrets Managerを使用すると、デプロイ時に外部認証情報を処理できます。 これを行うには、使用したいクレデンシャルを含むシークレットを作成する。 シークレットを作成したら、デプロイ時に参照することができます。 これで、シークレットの認証情報を使ってアプリがデプロイされる。 配置プロセスが完了するまで数分かかる場合があります。テンプレートの推論
examples/query_existing_deployment.py
スクリプトを使用して、デプロイされたAIサービスを推論することができます。 このスクリプトを使用して、サンプル入力でAIサービスをテストし、出力を検証します。 また、ユーザーインターフェイスを使って配備を推論し、AIサービスと対話することもできる。
サンプル・テンプレート
テンプレートを使用してAIサービスを展開する方法については、以下のサンプルテンプレートを参照してください:
テンプレート | 説明 |
---|---|
関数呼び出し機能を持つ LangGraph LLMアプリテンプレート |
|
親トピック AIサービスの展開