2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IBM Cloud】Code Engine上のサンプルアプリとwatsonx Orchestrateを連動し、簡単なAIチャットボットを作ってみた①

2
Last updated at Posted at 2025-12-08

はじめに

今回はIBM Cloudで提供するコンテナフル・マネージド・ランタイムソリューションであるCode Engine上にサンプルアプリをデプロイし、watsonx Orchestrateと連携することでアプリの変化を確認する流れについて記載します。

本検証にはIBM Cloudアカウント(IBMid)が前提となっています。
また、検証で利用するソースコードや情報などは事前に用意しています。

なお、今回の検証は2つの記事に分けております。今回の記事は前半パートとなりますので、後半パートは以下の記事をご参照ください。

検証の概要

スクリーンショット 2025-12-05 11.48.40.png

今回の検証では、上記の通り、事前にGithub上に用意したソースコードをCode Engine上でコンテナ・イメージとしてビルドし、サンプル・アプリをデプロイします。アプリはチャットボット形式の簡単なアプリとなり、watsonx Orchestrateの回答をそのまま反映するUIとして利用する想定です。
ビルドしたコンテナ・イメージはイメージを保管するContainer Registryに格納されます。

その後、watsonx OrechestrateでもAgentの設定を行ってAIチャットボットとして動かしながら、Code Engine上のアプリと連携することで、watsonx Orchestrateの回答結果をCode Engine上のアプリで表示させます。

検証の流れ

APIキーの作成

まずは、環境内での操作のためにAPIキーを作成します。もし既存のAPIキーがある場合、こちらの段階はスキップいただいて構いません。

IBM Cloudにログインし、IBM Cloudのコンソールのダッシュボードが表示されましたら、右上の管理アクセス(IAM)をクリックします。
ここでIAMは、IBM Cloud上のユーザーやアカウント、アクセス権限などの管理を設定できる仕組み、機能全般のことです。
スクリーンショット 2025-12-05 12.57.19.png
左側のタブのAPIキーにて作成をクリックします。
スクリーンショット 2025-12-05 12.59.42.png
APIキーの名前を適宜入力し、作成をクリックします。
スクリーンショット 2025-12-05 13.00.33.png
APIキーが作成されましたら、コピーしておきます。
スクリーンショット 2025-12-05 13.38.52.png

すでにAPIキーが作成されている場合は、該当APIキーをクリックすると表示されますので、こちらをご利用ください。
スクリーンショット 2025-12-05 13.40.31.png

Code Engineプロジェクトとシークレットの作成

、左上のナビゲーション・メニューをクリックし、Code Engineカテゴリーに入ります。
スクリーンショット 2022-09-12 14.11.13.png
スクリーンショット 2022-09-12 14.11.23.png
プロジェクトを作成するため、プロジェクトボタンをクリックし、作成をクリックします。
スクリーンショット 2022-09-12 14.12.14.png
スクリーンショット 2022-09-12 14.12.22.png
プロジェクト作成画面でロケーションを選択し、プロジェクト名を設定します。
今回は東京リージョン(jp-tok)を選択しており、必要に応じてリソース・グループも設定します。その後、右下の作成ボタンをクリックします。
スクリーンショット 2022-09-13 15.53.23.png
無事作成できたら、リストから作成したプロジェクトが見え、ステータスもアクティブになっています。プロジェクトをクリックしてアクセスします。
スクリーンショット 2022-09-13 15.57.48.png

次はContainer Registryにアクセスするための権限を付与します。
シークレットおよびConfigmapをクリックします。
スクリーンショット 2025-12-05 12.54.17.png
新しくシークレットを作成するため、右上の作成ボタンをクリックします。
スクリーンショット 2025-12-05 12.55.09.png
シークレットを選択する画面が表示されます。繰り返しとなりますが、今回はイメージ保管のためのContainer Registryへのアクセス権限の付与のため、レジストリー・シークレットを選択し、次へをクリックします。
スクリーンショット 2025-12-05 12.55.50.png
レジストリー・シークレットの作成画面が表示されたら、適宜シークレット名やロケーションなどを適宜入力ください。また、先程コピーしたAPIキーも入力し、作成ボタンをクリックします。
また、画像ではダラスリージョンとなっていますが、全て同じリージョンに合わせてください。例えばCode Engineを東京リージョンで作成した場合、こちらのシークレットも東京リージョンに作成ください。
スクリーンショット 2025-12-05 14.15.52.png

サンプル・アプリの作成

アプリケーションを作成する流れについてです。作成したプロジェクトにアクセスしますと、左上にアプリケーションボタンがあるのでクリックします。
スクリーンショット 2022-09-12 14.13.09.png
アプリケーションの作成画面で、アプリケーション名や実行するコードの選択、イメージ参照の入力、その他ポートやユーザーIDの選択、エンドポイントの定義などができます。適宜設定ください。
今回は冒頭に記載した通り、事前にソースコードを作成しているので、それに基づいて新たにコンテナ・イメージをビルドします。なお、コード・リポジトリーURLはこちらを使用しています。https://github.com/Sungyun-Moon/techxchange2025

その後、ビルド詳細の指定をクリックします。
スクリーンショット 2025-12-05 14.26.00.png

今回のソースコードはDockerfileに基づいているため、ビルド詳細の指定画面でも適切に選択ください。そのほかタイムアウトやビルド用リソースなども選択可能ですが、今回はデフォルトにしています。

また、先程作成したレジストリー・シークレットやContainer Registryの名前空間を選択し、リポジトリー名も適宜入力ください。

設定が完了したら、Doneをクリックします。
スクリーンショット 2025-12-05 14.29.42.png

もし既存の名前空間がない場合、ナビゲーション・メニューコンテナContainer Registry名前空間で作成することができます。
スクリーンショット 2025-12-05 14.34.03.png
スクリーンショット 2025-12-05 14.33.32.png

その後、作成ボタンをクリックするとアプリのデプロイが始まります。Statusが対応可能になりましたら、デプロイ完了となります。
スクリーンショット 2025-12-05 14.37.51.png
スクリーンショット 2025-12-05 14.38.03.png

サンプル・アプリの確認

アプリケーションタブにて作成したアプリのURLが表示されるようになったら、アクセスします。
スクリーンショット 2025-12-05 15.03.06.png
アプリとしては立ち上がっていますが、まだ中身のない箱だけの状態であるため、エラーメッセージが表示されることがわかります。
スクリーンショット 2025-12-05 15.03.29.png

watsonx Orchestrateのインスタンス作成とCode Engineとの連携

カタログにてwatsonx Orchestrateを検索して作成画面に進みます。
スクリーンショット 2025-12-05 15.06.51.png
Code Engineと同じ東京リージョンを選択し、プランせ選択して作成ボタンをクリックします。なお、今回はTrial版で作成しています。
スクリーンショット 2025-12-05 15.07.12.png

再度Code Engineのアプリケーションに戻り、Service accessタブにて作成をクリックします。
このService accessはCode Engineのアプリと同アカウント内の他のサービスと連携(binding)するための機能です。
スクリーンショット 2025-12-05 15.09.51.png
スクリーンショット 2025-12-05 15.11.08.png
インスタンスの選択画面にて選択できるサービス一覧が表示されますが、ここでwatsonx Orchestrateを選択します。
スクリーンショット 2025-12-05 15.11.35.png
また、watsonx Orchestrateと連携するための権限として、アクセス・シークレットを作成する必要があります。今回は管理者権限としてManagerを選択しています。
なお、カスタム接頭部(Prifix)には必ずWATSONX_ORCHESTRATEを入力します。
事前に用意したソースコードはこちらの接頭部に基づいて書かれているため、もし他の接頭部を入力した場合はうまく動作しない可能性があります。
スクリーンショット 2025-12-05 15.12.40.png
サービスバインディングの設定が完了したら、アプリが再デプロイされ、しばらく経つとデプロイ完了となります。
また、下端のService bindingsタブにてwatsonx Orchestrateインスタンスが表示されていることを確認します。
スクリーンショット 2025-12-05 15.15.38.png
スクリーンショット 2025-12-05 15.16.17.png

検証の前半パートは以上となります。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?