はじめに
今回はIBM Cloudで提供するコンテナフル・マネージド・ランタイムソリューションであるCode Engine上にサンプルアプリをデプロイし、watsonx Orchestrateと連携することでアプリの変化を確認する流れについて記載します。
本検証にはIBM Cloudアカウント(IBMid)が前提となっています。
また、検証で利用するソースコードや情報などは事前に用意しています。
なお、今回の検証は2つの記事に分けております。今回の記事は後半パートとなりますので、必ず以下の前半の記事を参照して実施後に、こちらを後半パートを検証ください。
検証の流れ
watsonx Orchestrate(wxO)のAgentの作成
前半パートのアプリのデプロイが完了したら、先程作成したwatsonx Orchestrateインスタンスにアクセスし、watsonx Orchestrateを起動ボタンにてコンソールに入ります。

wxOコンソールにはデフォルトのチュートリアルとしてLesson Planが設けられています。以下の添付のように、こちらのLesson Planを段階的に進めていくことによって、wxOの操作方法や仕組みをイメージしやすいかと思います。また、チュートリアルの中にはサンプルファイルもダウンロードすることができますので、今回はサンプルファイルを利用しています。


今回利用するAgentのコンセプトは、医療業界におけるユースケースに基づいて回答が帰ってくることを想定しています。
AskHRというエージェントを構築しますが、これは医療処置や医療プランの給付に関する質問に答えるデジタルエージェントを想定しています。
その後、エージェント名やそれに対する説明も記載します。入力が完了したらCreateをクリックします。

エージェント作成の詳細画面が表示されたら、まずToolを入れていきます。
ここでいうToolとは、API アクセスやデータ処理、AIサービスなどの機能をエージェントに提供するコンポーネントの一つです。まだToolが何も入っていないので、Add toolをクリックします。

今回は事前に用意されていたサンプルyamlファイルにてtoolが作成されていたため、そのファイルをインポートしました。OpenAPI→Upload filesにてファイルをyamlファイルをアップロードします。その後、Nextに進みます。


yamlファイルから読み取れるToolの一覧をここで表示しています。今回は全てのToolを使用しますので、全てチェックを入れてDoneをクリックします。

Toolが入った後には、以下のようにToolsetが含まれていることがわかります。今回は合計9つのToolを入れています。

Toolが入ったら次はKnowledgeを入れていきます。ここでいうKnowledgeとは、ユーザーの質問に対してそのAgentが回答するために必要な参考情報のことを示します。
Knowledgeカテゴリーをクリックし、Documents→Add sourceをクリックします。

Knowledgeも事前に用意したファイルを新たに使用するため、New knowledgeを選択します。

Knowledge追加の選択画面にてUpload filesを選択しNextに進みます。

Toolsetと同様にKnowledgeファイルをアップロードし、Nextに進みます。

また、KnowledgeはKnowledge名や説明を入れる箇所もありますので、適宜記載し、Saveをクリックします。

ここまで設定が完了したら、うまく動くかどうかの確認を行います。
wxOはコンソール右側にプレビュー画面が表示されており、都度設定した内容をここに反映することで設定やチューニングを行うことができます。また設定した項目の反映速度がほぼリアルタイムに行われるため、非常に楽な仕様です。
早速X線の料金の内訳を教えて欲しいとの簡単な質問を投げてみたら、以下のように回答がしっかり戻ってきます。
Can you give me a cost breakdown for X rays?
なお、回答の上端にあるShow Reasoning→Step 1をクリックすることで、回答に使用されたyamlファイルの中の情報がjson形式に表示されます。質問となったコスト関連の情報を正しく読み取って理解し、コスト関連のデータを推論して表示させていることがわかります。

設定したToolやKnowledgeに問題がなければ、上端のDeployをクリックします。

最後にデプロイのプレビューサマリーが表示されますので、問題ないか確認後、Deployボタンをクリックします。
なお、今回はBehaviourの設定は行なっていないため、アラートは無視します。

エージェント画面に先ほど作成したAskHRAgnetが表示されていることがわかります。

サンプル・アプリの再確認
ここまで実施したら、先程エラーが表示されていたアプリの動作を再度確認します。
アプリにて同じ質問を投げてみるとwxOと同様の回答が表示されるようになり、無事Code Engine上のアプリとwxOが連動されていることがわかります。

なお、ソースコード内にEnv(Environment)ボタンも追加していて、こちらをクリックすることでCode Engineインスタンスやサンプル・アプリの詳細情報(紐づいているAPIキーやシークレット、ポート、エンドポイントなど)を確認するようにしています。
その中にwatsonx Orchestrateもしっかり紐づいていることがわかります。

検証は以上です。

