
生成 AI は研究室の外へ飛び出し、今やビジネス現場の常識を塗り替えています。SAPは全速力でその波に乗っており、Joule という AI Agent を公開しました。このブログシリーズでは、AI Agent が裏側でどうなっているかを理解するため、SAP AI Core の既定モデルを最速で呼び出し、実務で使える AI Agent へ拡張する“秒速ハンズオン”をお届けします。
お知らせ
英語版はこちらで確認できます。
学習時間
各章は 10–15 分 で読める&手を動かせるを予定しています。
注記
続編は順次公開予定です。
この記事が気に入っていただけたら、ぜひ「Kudos」をお願いします!皆さんの応援が本当に励みになります。また、もっと知りたいことがあれば、ぜひコメントを残してください!
本章では Jupyter Notebook を立ち上げ、必要な SDK をインストールします。その後、Part 1で作成した GPT‑4o‑mini デプロイメントに対してチャットを投げてみます!
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
インストールが完了したら、ノートブックのカーネルを再起動してライブラリを読み込み直しましょう。
新しいセルで .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 !” が返ってきたら成功です!
今度は AI Launchpad で OpenAI の text-embedding-ada-002 (他の埋め込みモデルでも可)をデプロイし、LangChain から呼び出して ベクトルが返る ことを確認します。GPT‑4o‑mini と同じ手順なので復習だと思ってやってみてください。
手順は以下の通りです。
ノートブックセル(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, …]” のように 数字の羅列 が出てきたら成功です!
Part 3 ではチャットモデルを LangChain エージェント に仕立て、Google 検索ツール を接続して最新情報も回答できるようにします。追加 API キーは不要。すべて SAP AI Core 内で完結しますのでお楽しみに!
本ブログに記載された見解および意見はすべて私個人のものであり、私の個人的な立場で発信しています。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 |
---|---|
22 | |
9 | |
8 | |
7 | |
6 | |
6 | |
6 | |
6 | |
5 | |
5 |