生成 AI は研究室の外へ飛び出し、今やビジネス現場の常識を塗り替えています。SAPは全速力でその波に乗っています。このブログシリーズでは、SAP AI Core の既定モデルを最速で呼び出し、実務で使える AI エージェントへ拡張する“秒速ハンズオン”をお届けします。
お知らせ
You can find the English version here.
学習時間
各Part は 10–15 分 で読める&手を動かせるボリュームを予定しています。
この記事がお役に立ったら、ぜひ Kudos を押していただけると励みになります。 「ここをもっと詳しく知りたい」「別のテーマも取り上げてほしい」など、ご要望があればお気軽にコメントください!
これまでローカルで開発してきた Python API と Fiori UI を、ビジネス向け PaaS である Cloud Foundry 環境へデプロイしましょう。
Cloud Foundry はアプリケーションのビルドパックを自動判定し、必要なランタイムを用意したうえでスケールやサービス連携を簡素化してくれるのが魅力です。今回は 「UI を mta build → cf deploy」「Python を manifest.yaml → cf push」 の 2 本立てで、“秒速” 本番デプロイを目指します。
Trial 環境の注意
Trial の HANA Cloud インスタンスは 毎晩自動停止 されます。日をまたぐ作業の場合は翌日インスタンスを再起動してください
ローカルで完成した UI と API をクラウドへ持ち上げるために、まずはプロジェクトのフォルダ構成を再確認します。UI 側は MTA プロジェクトとして my-ai-agent-ui/ に、バックエンドの Python API は my-ai-agent-api/ に分かれているはずです。
# フォルダ構成
PROJECTS
├── my-ai-agent-ui/
│ ├── mta.yaml
│ └── ...
└── my-ai-agent-api/
├── main.py
└── ...
最初にバックエンドからデプロイします。my-ai-agent-api 直下に manifest.yaml を用意し、必要なメモリやビルドパック、起動コマンドを宣言しておきます。
applications:
- name: my-ai-agent-api
memory: 256M
disk_quota: 2G
instances: 1
buildpack: python_buildpack
command: gunicorn -w 1 -k uvicorn.workers.UvicornWorker main:app --bind 0.0.0.0:${PORT:-8000}
random-route: true
次に Cloud Foundry CLI でサブアカウントへログインします。
cf login -a <CF_API_Endpoint>
次に、my-ai-agent-api フォルダで cf push を実行します。
cd my-ai-agent-api
cf push
デプロイが完了するとコンソールに routes: が表示され、そこが公開 URL になります。ブラウザで <route>/docs にアクセスして FastAPI の Swagger UI が開けば、API は正しくホストされています!
フロントエンドをデプロイする前に、チャット画面がクラウド上の API に正しく接続できるようエンドポイントを差し替えておきます。my-ai-agent-ui/webapp/controller/ChatEntity.controller.js の冒頭付近にある ENDPOINT 定数を、先ほど Cloud Foundry にデプロイした Python API の URL に置き換えてください。
// 環境によってエンドポイントを切り替え
const ENDPOINT = (
["localhost", "applicationstudio"].some(h => window.location.hostname.includes(h)) ||
window.location.port === "8080"
) ? "" : "https://my-ai-agent-api-relaxed-raven-ie.cfapps.us10-001.hana.ondemand.com";
ローカル開発中は空文字列(UI5 ミドルウェアのプロキシ経由)を使い、Cloud Foundry にデプロイされたアプリが実行される環境ではフル URL が使われる仕組みです。
続いて、フロントエンドを Cloud Foundry に載せます。my-ai-agent-ui フォルダに移動して mbt build を実行すると、mta_archives ディレクトリに MTAR ファイルが生成されます。生成物を cf deploy でアップロードすれば、UI 側もクラウドへ反映されます.
cd ../my-ai-agent-ui
mbt build
cf deploy mta_archives/my-ai-agent-ui_0.0.1.mtar -f
デプロイ後、BTP Cockpit の HTML5 Applications を開くと、先ほどのアプリがタイルとして表示されるのでクリックして起動します。
もしチャットが API に接続できていなければ、ENDPOINT 定数や Destination の URL を先ほど控えた API ルートに合わせて修正してください。
SAP Build Work Zone, Standard Edition を使うと、今デプロイした HTML5 アプリを社内ポータルにワンクリックで追加できます。Integrate Your Application with SAP Build Work Zone, Standard Edition を参考に、次の流れでチャレンジしてみましょう。
SAP BTP でカスタム AI を組む意義はシンプルです。業務データとモデルを同じ基盤に置けるため データ移送やガバナンス調整が最小限 になり、Fiori や Work Zone にそのまま埋め込めるので ユーザは慣れた SAP 画面から AI を呼び出せます。さらに MTA や AI Core が開発〜再学習までを一貫して支えるため、PoC から本番までの距離が短い——これが SAP でやる最大のメリットです。
今回の流れをテンプレート化しておけば、プロンプトと UI を差し替えるだけで新しい AI アプリを量産できます。ぜひ自社のユースケースに合わせて拡張してみてください!
ここまで、お疲れ様でした!ありがとうございました!
本ブログに記載された見解および意見はすべて私個人のものであり、私の個人的な立場で発信しています。SAP は本ブログの内容について一切の責任を負いません。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
12 | |
11 | |
8 | |
7 | |
6 | |
6 | |
6 | |
6 | |
6 | |
6 |