Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
Ryota_Ito
Product and Topic Expert
Product and Topic Expert
850

生成 AI は研究室の外へ飛び出し、今やビジネス現場の常識を塗り替えています。SAPは全速力でその波に乗っています。このブログシリーズでは、SAP AI Core の既定モデルを最速で呼び出し、実務で使える AI エージェントへ拡張する“秒速ハンズオン”をお届けします。

お知らせ
You can find the English version here.

 

📖 本シリーズで学べること

  • SAP AI Core 上でカスタム AI Agent を “秒速” で動かす方法
  • LangChain・Google 検索ツール・RAGを使った実装
  • AI Agent を REST API 化し、SAPUI5/Fiori の UI に載せ、Cloud Foundryにデプロイする手順

学習時間
各Part は 10–15 分 で読める&手を動かせるボリュームを予定しています。

 

🗺️ 連載ロードマップ

この記事がお役に立ったら、ぜひ Kudos を押していただけると励みになります。 「ここをもっと詳しく知りたい」「別のテーマも取り上げてほしい」など、ご要望があればお気軽にコメントください!


CloudFoundry にデプロイ

1 | はじめに 

これまでローカルで開発してきた Python APIFiori UI を、ビジネス向け PaaS である Cloud Foundry 環境へデプロイしましょう。

Cloud Foundry はアプリケーションのビルドパックを自動判定し、必要なランタイムを用意したうえでスケールやサービス連携を簡素化してくれるのが魅力です。今回は 「UI を mta build → cf deploy」「Python を manifest.yaml → cf push」 の 2 本立てで、“秒速” 本番デプロイを目指します。

 

2 | 事前準備

  • BTP サブアカウント
  • SAP AI Core インスタンス
  • SAP AI Launchpadのサブスクリプション
  • Python 3.13環境 & pip
  • VSCodeやBASなどのIDE

Trial 環境の注意
Trial の HANA Cloud インスタンスは 毎晩自動停止 されます。日をまたぐ作業の場合は翌日インスタンスを再起動してください

 

3 | Cloud Foundry にデプロイ

ローカルで完成した 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>

Screenshot 2025-06-13 at 14.48.35.png

次に、my-ai-agent-api フォルダで cf push を実行します。

cd my-ai-agent-api
cf push

デプロイが完了するとコンソールに routes: が表示され、そこが公開 URL になります。ブラウザで <route>/docs にアクセスして FastAPI の Swagger UI が開けば、API は正しくホストされています!

Screenshot 2025-06-13 at 14.55.43.png

 

フロントエンドをデプロイする前に、チャット画面がクラウド上の 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 を開くと、先ほどのアプリがタイルとして表示されるのでクリックして起動します。 

Screenshot 2025-06-13 at 15.08.49.png

もしチャットが API に接続できていなければ、ENDPOINT 定数や Destination の URL を先ほど控えた API ルートに合わせて修正してください。 

 

4 | チャレンジ – WorkZone に載せよう

SAP Build Work Zone, Standard Edition を使うと、今デプロイした HTML5 アプリを社内ポータルにワンクリックで追加できます。Integrate Your Application with SAP Build Work Zone, Standard Edition を参考に、次の流れでチャレンジしてみましょう。

  1. コンテンツ同期 — BTP Cockpit の Channel Manager で Fetch Updated Content を実行。
  2. Content Explorer でアプリを追加 — 対象アプリを選択し Add を押すだけ。
  3. グループ & ロール設定 — 例えば Everyone に割り当てて全社員へ公開。
  4. Site 作成 — Site Directory で新規サイトを作り、タイルをドラッグ&ドロップで配置。

Screenshot 2025-06-13 at 15.13.44.png

 

5 | 終わりに

SAP BTP でカスタム AI を組む意義はシンプルです。業務データとモデルを同じ基盤に置けるため データ移送やガバナンス調整が最小限 になり、Fiori や Work Zone にそのまま埋め込めるので ユーザは慣れた SAP 画面から AI を呼び出せます。さらに MTA や AI Core が開発〜再学習までを一貫して支えるため、PoC から本番までの距離が短い——これが SAP でやる最大のメリットです。

今回の流れをテンプレート化しておけば、プロンプトと UI を差し替えるだけで新しい AI アプリを量産できます。ぜひ自社のユースケースに合わせて拡張してみてください!

ここまで、お疲れ様でした!ありがとうございました!

 

免責事項

本ブログに記載された見解および意見はすべて私個人のものであり、私の個人的な立場で発信しています。SAP は本ブログの内容について一切の責任を負いません。