IBM- watsonx -ai-cli による AI サービスのコーディングと展開
ibm-watsonx-ai-cli Python パッケージを使用して、ローカル環境からAIサービスをダウンロード、編集、テスト、デプロイします。
ibm-watsonx-ai-cli を使用することで、ニーズに応じて、以下のことができる:
- ローカル環境にダウンロードしたテンプレートに引数を渡して、AIサービスをデプロイせずにローカルでテストする。
- watsonx.ai、AIサービスをデプロイし、デプロイしたサービスに引数を渡してローカルでテストする。
- AIサービスに基づくアプリをダウンロード、デプロイ、テストする。
前提条件:
- Python 3.11
- パッケージングおよび依存関係管理ツール(
Poetry)がローカル環境にインストールされている必要がある。Poetryをインストールするには、 詩のインストールページの指示に従ってください。
ローカル環境でAIサービステンプレートを使い始めるには、まず ibm-watsonx-ai-cli をインストールする必要があります。 ibm-watsonx-ai-cli をインストールするには、ローカルマシンで次のコマンドを入力します: pip install -U ibm-watsonx-ai-cli.
- テンプレートによっては、正しく準備された設定ファイル(
config.toml)が必要です。ダウンロードしたテンプレートにプレースホルダ付きのconfig.tomlが含まれている場合は、その説明をよく読み、必要なフィールドを埋めてください。 - セキュリティ上の理由から、APIキーやその他の秘密をスクリプトや
config.tomlファイルに直接ハードコードしないことをお勧めします。 その代わりに、環境変数として設定し、コードからその変数にアクセスする。 例:WATSONX_APIKEY = os.environ.get("WATSONX_APIKEY", "")。 ibm-watsonx-ai-cliのバージョン 0.2.0 以降、 IBM watsonx.ai で認証に必要なAPIキーやその他のシークレットを渡すには、.envファイルを使用することを推奨する。.envファイルは、cliコマンドを呼び出すパスになければならない。- パッケージ拡張資産準備されると、テンプレートのソースコード配布を含む
distフォルダがローカルに作成されます。ibm-watsonx-ai-cliのバージョン 0.3.0 以降、AI サービスのコンテンツが正常にデプロイされると、このフォルダは自動的に削除されます。
AIサービス導入フロー例
ibm-watsonx-ai-cli を使用してAIサービス・テンプレートを展開するには、このフロー例を参照してください:
IDEでテンプレートを作成する:
watsonx-ai template new利用可能なテンプレートのリストが画面に表示されます。 作業したいテンプレートに関連付けられている番号を入力する。 次に、作成するフォルダの名前を入力する。
テンプレート・ディレクトリに移動する:
cd <template directory> cp config.toml.example config.tomlテンプレートコードをカスタマイズして編集します
config.tomlプレースホルダー valuesFor を更新するファイルです。必要な変数の一部に簡単にアクセスするには、 開発者アクセス ページを参照してください。テンプレートコードをテストする:
watsonx-ai template invoke "<your query>"サービスを作る:
watsonx-ai service newサービスがデプロイされると、
ibm-watsonx-ai-cli、 デプロイメント IDが返される。 この ID を、デプロイされたサービスを呼び出すときのデフォルトのデプロイメント ID にする場合は、config.tomlファイルにdeployment_idとして貼り付けます。 これを行わないと、デプロイ サービスを呼び出すたびにデプロイメント ID を指定する必要があります。サービスのテスト
watsonx-ai service invoke "<your query>"
グラフィカル・ユーザー・インターフェースを使用してローカルでサービスをテストしたい場合は、React UI Appをインストールしてください。 詳しくは、 watsonx.ai AIサービスUIアプリをご覧ください
AIサービステンプレートに基づくアプリ作成のフロー例
ibm-watsonx-ai-cli、AIサービス・テンプレートに基づくアプリを作成するには、このフロー例を参照してください:
IDEでアプリを作成する:
watsonx-ai app new利用可能なアプリのリストが画面に表示されます。 作業したいアプリに関連付けられている番号を入力します。 次に、作成するフォルダの名前を入力する。
appディレクトリに移動し、環境変数ファイルをコピーする:
cd <created folder with the app> cp template.env .env.envファイルを編集してプレースホルダーの値を更新する。 必要な変数のいくつかに簡単にアクセスするには、 開発者アクセスページをご覧ください。WATSONX_BASE_DEPLOYMENT_URLの場合、デプロイされたサービスのエンドポイントに URL を使用する。アプリケーションを開始します。
watsonx-ai app runあるいは、アプリの実行中にアプリのソースコードに変更を加えたい場合は、アプリを開発モードで起動する:
watsonx-ai app run --devアプリが開発モードで実行されている場合、変更を保存するたびにアプリはリロードされます。
eval コマンドの実行フロー例
eval コマンドを使用して、エージェントが特定のデータセットでどのように動作するかを確認する。 1つの eval コマンドに複数のベンチマークファイルを含めることができます。 結果はファイルごとに別々に計算される。
eval コマンドは、エージェントのパフォーマンスを評価するために同時に使用できるいくつかのメトリック提供します。 利用可能なメトリック詳細については、以下を実行してください:
watsonx-ai template eval --help
answer_similarity 、 answer_relevance メトリック、LLMを審査員として使うことができる。 モデルのIDを指定するか(モデルはクラウド環境で利用可能でなければなりません)、 llm_as_judge キーワードを使用します(この場合、2つの定義済みモデルのうちの1つが使用されます)。
以下はevalコマンドの使用例である:
watsonx-ai template eval --tests test1.jsonl,test2.jsonl --metrics answer_similarity,answer_relevance --evaluator llm_as_judge
以下は、1つのメトリック結果である:
{
"name": "answer_similarity",
"method": "llm_as_judge",
"provider": "unitxt",
"value": 0.6333333333333333,
"errors": null,
"additional_info": null,
"group": "answer_quality",
"thresholds": [
{
"type": "lower_limit",
"value": 0.7
}
],
"min": 0.0,
"max": 1.0,
"mean": 0.6333333333333333,
"total_records": 3,
"record_level_metrics": [
{
"name": "answer_similarity",
"method": "llm_as_judge",
"provider": "unitxt",
"value": 1.0,
"errors": null,
"additional_info": null,
"group": "answer_quality",
"thresholds": [
{
"type": "lower_limit",
"value": 0.7
}
],
"record_id": "c6ffedaa-b2b1-4ece-bbe6-0d680a470a12",
"record_timestamp": null
},
{
"name": "answer_similarity",
"method": "llm_as_judge",
"provider": "unitxt",
"value": 0.9,
"errors": null,
"additional_info": null,
"group": "answer_quality",
"thresholds": [
{
"type": "lower_limit",
"value": 0.7
}
],
"record_id": "f5c15bfc-80a8-4095-a2c3-54ae1c21dc23",
"record_timestamp": null
},
{
"name": "answer_similarity",
"method": "llm_as_judge",
"provider": "unitxt",
"value": 0.0,
"errors": null,
"additional_info": null,
"group": "answer_quality",
"thresholds": [
{
"type": "lower_limit",
"value": 0.7
}
],
"record_id": "f7dda69a-fd54-4b80-a966-2198c44109d8",
"record_timestamp": null
}
]
}
詳細情報
詳しくは
ibm- watsonx -ai-cli PyPi リポジトリー内の IBM watsonx.ai CLI for Agents の README ファイル。
watsonx -developer-hub Github リポジトリの watsonx.ai を使ってエージェントをデプロイするための readme ファイルです。
watsonx -developer-hub Github リポジトリにある watsonx.ai を使ってアプリをデプロイするための readme ファイル。
watsonx -developer-hub の watsonx.ai を使ってエージェントをビルドし、デプロイするためのクイックスタートガイドです。