Technology Blog Posts by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Ryota_Ito
Product and Topic Expert
Product and Topic Expert
705

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

お知らせ
英語版はこちらで確認できます。

 

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

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

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

 

🗺️ 連載ロードマップ

注記
続編は順次公開予定です。

この記事が気に入っていただけたら、ぜひ「Kudos」をお願いします!皆さんの応援が本当に励みになります。また、もっと知りたいことがあれば、ぜひコメントを残してください!


LangChain でチャットモデルを構築

1 | 概要

本章では Jupyter Notebook を立ち上げ、必要な SDK をインストールします。その後、Part 1で作成した GPT‑4o‑mini デプロイメントに対してチャットを投げてみます!

 

2 | 事前準備

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

 

3 | ノートブック環境準備

VS Code を開き Jupyter Notebook(langchain_chat.ipynb)を新規作成します。新しいフォルダを作り、(推奨)Python の 仮想環境 を作成して依存関係の衝突を防ぎましょう。

requirements.txt は 必要なPython パッケージとそのバージョンを列挙したリスト です。

ai_core_sdk>=2.5.7
pydantic==2.9.2
openai>=1.56.0
google-cloud-aiplatform==1.61.0       # Google
boto3==1.35.76                         # Amazon
langchain~=0.3.0
langgraph==0.3.30
langchain-community~=0.3.0
langchain-openai>=0.2.14
langchain-google-vertexai==2.0.1
langchain-google-community==2.0.7
langchain-aws==0.2.9
python-dotenv==1.1.0
generative-ai-hub-sdk

 

プロジェクトフォルダ内で 仮想環境を有効化してから ターミナルを開き、次のコマンドを実行します。

pip install -r requirements.txt

インストールが完了したら、ノートブックのカーネルを再起動してライブラリを読み込み直しましょう。

 

4 | GPT‑4o‑mini に “こんにちは”

新しいセルで .env を読み込み、プロンプトを送信しましょう。

ドキュメントを読もう!
コードを書く前に必ず Generative AI Hub SDK の公式ドキュメント をざっと眺めてください。SDK が OpenAI・Vertex AI・Bedrock などをラップし、LangChain 互換 の API を提供していることが分かります。バージョン対応表をブックマークしておくと後で泣かずに済みます。

以下のセルを追加します。
# ▶ Notebook Cell 1
from dotenv import load_dotenv
from gen_ai_hub.proxy.langchain.openai import ChatOpenAI
import os

load_dotenv()                       # Read credentials & DEPLOYMENT_ID

chat_llm = ChatOpenAI(
    deployment_id=os.getenv("DEPLOYMENT_ID")  # ← Part 1 で控えた ID
)

messages = [
    ("system", "You are a helpful assistant that translates English to French."),
    ("human",  "Hello, World!"),
]

chat_llm.invoke(messages)​

「system」メッセージはモデルの役割・振る舞いを決めます。「human」メッセージはユーザー入力です。チャット UI から受け取った文字列をここに渡せば、そのまま対話が成立します。

 “Bonjour, le monde !” が返ってきたら成功です!

Ryota_Ito_0-1747623150177.png
 

5 | チャレンジ – Embedding モデルを動かそう!

今度は AI Launchpad で OpenAI の text-embedding-ada-002 (他の埋め込みモデルでも可)をデプロイし、LangChain から呼び出して ベクトルが返る ことを確認します。GPT‑4o‑mini と同じ手順なので復習だと思ってやってみてください。

手順は以下の通りです。

  1. AI Launchpad で Embedding モデルをデプロイ。
  2. 新しい Deployment ID を控えます。

ノートブックセル(IDや関数は一部マスク)

# ▶ Notebook Cell 2
from gen_ai_hub.proxy.langchain.openai import AAAAAAAAAAAA

embedding_model = AAAAAAAAAAAA(
    deployment_id="debXXXXXXXXX"
)

single_vector = embedding_model.BBBBBBBBBBBB("Hello world")
print(str(single_vector)[:100])           # Print first 100 chars

“[-0.012, 0.087, …]” のように 数字の羅列 が出てきたら成功です!

 

6 | 次回予告

Part 3 Agentツール: Google 検索を統合

Part 3 ではチャットモデルを LangChain エージェント に仕立て、Google 検索ツール を接続して最新情報も回答できるようにします。追加 API キーは不要。すべて SAP AI Core 内で完結しますのでお楽しみに!

 

免責事項

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