aicore-sdk-js について
@sap-ai-sdk v2を使ったSAP AI Core向けJavaScript・TypeScriptコードの作成を支援するスキルです。オーケストレーション、OpenAI互換アクセス、LangChain、グラウンディングなどをテンプレートと資料で扱います。
主な機能
- 01@sap-ai-sdk v2のコード作成ガイド
- 02チャットとストリーミングのテンプレート
- 03OpenAIとLangChainのサポート
- 04グラウンディング・バッチ・プロンプトレジストリの例
- 05オフライン資料と任意のContext7ドキュメント
活用シーン
- 01チャットまたはストリーミング連携の作成
- 02LangChainを介したアプリケーション接続
- 03ドキュメントグラウンディングや管理プロンプトの追加
- 04LLMバッチ処理やテーブル予測のコード作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sap/ ai-skills-library --skill aicore-sdk-jsインストール後、Claude Code で/aicore-sdk-jsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdassets/chat_openai_proxy.tschat_sap_sdk.tscontext_registry.tsdocument_grounding.tslangchain_openai.tslangchain_orchestration.tsllm_batch.tsopenai_native.tsprompt_registry.tsrealtime.tsrpt.tsstreaming.tstabular_orchestration.tsevals/evals.jsontrigger_evals.jsonreferences/SDK_JS.md詳細
ルール
- デプロイ URL が不明な場合は、コードを生成する前に SAP AI Core コンソールを確認するか、管理者に問い合わせて、URL を一覧表示または作成してください。
- 生成するコードのコメントには、必ず
aicore configureの認証情報に関する案内を含めてください。セットアップの詳細については、AI Core への接続を参照してください。 - デプロイのライフサイクル管理(作成/一覧表示/削除)は、このスキルでは JS/TS で利用できません。デプロイを管理するには、SAP AI Core コンソールを使用するか、管理者に問い合わせてください。
@sap-ai-sdkv2(オーケストレーションは2.14+)を対象にしてください。推奨する呼び出しパターンは、messagesをchatCompletion()/stream()に直接渡す方法です。ユーザーがサーバー側で再利用可能なテンプレートを明示的に希望した場合に限り、{{?placeholder}}の値を使ってpromptTemplating.prompt.templateを使用してください。v2 ではコンパイルできない v1 の形式llm: { model_name }/templating: { template }は、絶対に出力しないでください。- Python コードのスニペットは絶対に出力しないでください。このスキルが対応しているのは JS/TS のみです。ユーザーが Python を求めた場合は、このリポジトリには Python 用スキルがないことを伝え、Python SDK の案内として https://sap.github.io/ai-sdk/ を示してください。
- コードを生成する前に、以下の情報を確認してください。ユーザーが提示していない項目についてのみ質問してください。
- フレームワーク:
@sap-ai-sdk/*(推奨)/@sap-ai-sdk/langchain(LangChain)/LiteLLM プロキシ経由の OpenAI npm パッケージ? - ユースケース:チャット/ストリーミング/エンベディング?
- ランタイム:Node.js/Bun/ブラウザー?
- モデル + デプロイ ID:既存のデプロイについては SAP AI Core コンソールを確認してください
- モデル切り替えの意向(ユーザーが gpt-4o、gpt-4.1 などの OpenAI モデルを指定した場合にのみ質問してください):今後、モデルを(たとえば Claude や Gemini に)切り替える予定はありますか?予定がある場合 → 移植性の高い
@sap-ai-sdk/orchestrationを推奨してください。OpenAI を使い続ける場合 → LiteLLM プロキシが不要な、よりシンプルなネイティブ OpenAI SDK の代替手段として@sap-ai-sdk/openai(SapOpenAi.createClient)を使用してください。
- フレームワーク:
参照情報と代替手段
以下の順に、利用可能な最適な情報源を使用してください。存在しない情報源があっても、処理を止めないでください。
- 組み込みのリファレンス(常に利用可能):
references/SDK_JS.mdとassets/*.tsは、コンパイルチェック済みの v2 の基準資料です。一般的な用途(チャット、ストリーミング、LangChain、エンベディング、プロキシ)に正しく対応しており、ネットワークや MCP は不要です。既定ではこれらを使用してください。 - Context7 MCP(利用できる場合に使用):このセッションに
context7のquery-docsツールが登録されている場合は、最新の API、バージョン固有の詳細、または組み込みのリファレンスで変更頻度が高いとされている機能(ツール呼び出し、データマスキング、ドキュメントグラウンディング、プロンプトレジストリ)について、こちらを優先してください。ライブラリ ID:/websites/sap_github_io_ai-sdk_js。ツールが利用できない場合は、組み込みのリファレンスを暗黙的に使用してください。ユーザーにインストールを求めないでください。 - ウェブドキュメント(最後の手段):どちらの情報源にも記載されていない内容については、llms.txt を案内するか、オンラインドキュメントを取得してください。
記憶に頼って API の形式を捏造しないでください。この SDK では v1 と v2 の API が異なり、推測すると古い v1 のコードを再び出力することになります。不明な場合は、情報源 2 が利用可能ならそれを、利用できなければ情報源 3 を使用してください。
アセットマップ
| ユースケース | テンプレート | インストール |
|---|---|---|
@sap-ai-sdk/orchestration によるチャット(推奨) | assets/chat_sap_sdk.ts | npm install @sap-ai-sdk/orchestration |
@sap-ai-sdk/orchestration によるストリーミング | assets/streaming.ts | npm install @sap-ai-sdk/orchestration |
| OpenAI SDK を直接使用(チャット/ストリーム/埋め込み/Responses) | assets/openai_native.ts | npm install @sap-ai-sdk/openai openai zod |
AzureOpenAiChatClient による LangChain | assets/langchain_openai.ts | npm install @sap-ai-sdk/langchain @langchain/core |
OrchestrationClient による LangChain | assets/langchain_orchestration.ts | npm install @sap-ai-sdk/langchain @langchain/core |
| RAG/ドキュメントグラウンディング | assets/document_grounding.ts | npm install @sap-ai-sdk/document-grounding |
| 管理対象のプロンプトテンプレート | assets/prompt_registry.ts | npm install @sap-ai-sdk/prompt-registry |
| LLM のバッチジョブ | assets/llm_batch.ts | npm install @sap-ai-sdk/llm-batch @sap-ai-sdk/ai-api @sap-ai-sdk/foundation-models |
| 表形式予測(SAP-RPT-1、チャットではありません) | assets/rpt.ts | npm install @sap-ai-sdk/rpt |
| コンテキストレジストリ(データ接続先、表形式アーティファクト、シナリオ設定) | assets/context_registry.ts | npm install @sap-ai-sdk/context-registry |
| 表形式オーケストレーション(シナリオ設定またはインラインコンテキストによる RPT 予測) | assets/tabular_orchestration.ts | npm install @sap-ai-sdk/tabular-orchestration |
WebSocket によるリアルタイムの音声/テキスト(gpt-realtime) | assets/realtime.ts | npm install @sap-ai-sdk/openai openai ws |
| OpenAI npm パッケージ(LiteLLM プロキシ)によるチャット | assets/chat_openai_proxy.ts | npm install openai |
インストール方法
# @sap-ai-sdk (recommended — native SAP SDK)
npm install @sap-ai-sdk/orchestration @sap-ai-sdk/foundation-models
# Native OpenAI SDK surface on AI Core (no LiteLLM proxy needed)
npm install @sap-ai-sdk/openai openai zod
# LangChain integration (no LiteLLM proxy needed)
npm install @sap-ai-sdk/langchain @langchain/core
# RAG, prompt templates, batch jobs, tabular prediction
npm install @sap-ai-sdk/document-grounding
npm install @sap-ai-sdk/prompt-registry
npm install @sap-ai-sdk/llm-batch @sap-ai-sdk/ai-api @sap-ai-sdk/foundation-models
npm install @sap-ai-sdk/rpt
# With bun
bun add @sap-ai-sdk/orchestration @sap-ai-sdk/foundation-models
# OpenAI npm package via LiteLLM proxy (only if you need a running proxy; prefer @sap-ai-sdk/openai)
npm install openai
クイックスタート(@sap-ai-sdk/orchestration)
messages を直接渡します。これがデフォルトのパターンです。ユーザーが再利用可能なサーバー側テンプレートを明示的に希望する場合に限り、{{?placeholder}} の値を使って promptTemplating.prompt.template を使用してください。
import { OrchestrationClient } from "@sap-ai-sdk/orchestration";
const client = new OrchestrationClient({
promptTemplating: {
model: {
name: "anthropic--claude-4.5-haiku",
params: { temperature: 0.7 },
},
},
});
const response = await client.chatCompletion({
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello!" },
],
});
console.log(response.getContent());
次のコマンドで実行します:npx tsx index.ts または bun run index.ts
引き継ぎ
- 代わりに Java コードが必要ですか? →
aicore-sdk-javaを呼び出します
リファレンスファイルを読み込むタイミング
| トリガー | 読み込むファイル |
|---|---|
@sap-ai-sdk/* API、OrchestrationClient、ストリーミング | references/SDK_JS.md |
LangChain、AzureOpenAiChatClient、@sap-ai-sdk/langchain | references/SDK_JS.md |
OpenAI SDK の直接使用、SapOpenAi、Responses API | references/SDK_JS.md |
| RAG、ドキュメントグラウンディング、プロンプトレジストリ、バッチ、RPT | references/SDK_JS.md |
| ツール呼び出し、データマスキング、グラウンディング設定の内部仕様 | Context7(利用可能な場合)、それ以外は references/SDK_JS.md |
コメント
Markdown 対応