sap-ai-core について
SAP BTP 上で SAP AI Core と SAP AI Launchpad を構成・運用する開発者向けスキルです。モデルのオーケストレーション、RAG、トレーニング、デプロイ、プロンプト管理を扱います。
主な機能
- 01モデルプロバイダーとオーケストレーションのガイド
- 02グラウンディングと RAG の設定
- 03トレーニングと推論デプロイ
- 04コンテンツフィルタリングとデータマスキング
- 05Prompt Registry のワークフロー
活用シーン
- 01SAP AI Core の導入計画
- 02企業データを使う AI フローの構築
- 03環境間でのプロンプトテンプレート管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ secondsky/ sap-skills --skill sap-ai-coreインストール後、Claude Code で/sap-ai-coreを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdagents/openai.yamlreferences/advanced-features.mdai-launchpad-guide.mdapi-reference.mdgenerative-ai-hub.mdgrounding-rag.mdml-operations.mdmodel-providers.mdorchestration-modules.mdtemplates/deployment-config.jsonorchestration-workflow.jsontool-definition.json詳細
SAP AI Core & AI Launchpad スキル
関連スキル
- sap-btp-cloud-platform:プラットフォームの概要、BTP アカウントの設定、サービスの統合に使用します
- sap-cap-capire:CAP を使用した AI 搭載アプリケーションの構築や、AI サービスの統合に使用します
- sap-cloud-sdk-ai:SDK の統合、AI サービスの呼び出し、Java/JavaScript の実装に使用します
- sap-btp-best-practices:本番環境へのデプロイパターンや AI ガバナンスのガイドラインに使用します
このスキルを使用する場面
SAP AI Core のプロビジョニング、SAP AI Launchpad の使用、Generative AI Hub のオーケストレーション設定、モデルプロバイダーの選択、RAG またはグラウンディングフローの構築、プロンプトテンプレートの管理、トレーニング/推論ワークロードのデプロイ、または SAP アプリケーションへの AI 機能の組み込みを行う場合に、このスキルを使用します。
目次
- 概要
- クイックスタート
- サービスプラン
- モデルプロバイダー
- オーケストレーション
- コンテンツフィルタリング
- データマスキング
- グラウンディング(RAG)
- ツール呼び出し
- 構造化出力
- エンベディング
- ML トレーニング
- デプロイメント
- バンドルリソース
- SAP AI Launchpad
- プロンプトレジストリ
- API リファレンス
- 一般的なパターン
- トラブルシューティング
- 参考資料
概要
SAP AI Core は、標準化され、スケーラブルで、ハイパースケーラーに依存しない方法で AI アセットの実行を管理する、SAP Business Technology Platform(BTP)上のサービスです。SAP AI Launchpad は、Generative AI Hub を含む AI ランタイムの管理 UI を提供します。
主な機能
| 機能 | 説明 |
|---|---|
| Generative AI Hub | 統一 API を使用して複数のプロバイダーの LLM にアクセス |
| オーケストレーション | テンプレート化、フィルタリング、グラウンディング、マスキングのためのモジュール式パイプライン |
| ML トレーニング | モデルのトレーニングに使用する Argo Workflows ベースのバッチパイプライン |
| 推論サービング | 予測用の HTTPS エンドポイントとしてモデルをデプロイ |
| グラウンディング/RAG | コンテキストを考慮した AI のためのベクトルデータベース統合 |
3 つのコンポーネント
- SAP AI Core:AI ワークフローとモデルサービングの実行エンジン
- SAP AI Launchpad:AI ランタイムと GenAI Hub の管理 UI
- AI API:ランタイム全体にわたる標準化されたライフサイクル管理
クイックスタート
前提条件
- SAP BTP エンタープライズアカウント
- SAP AI Core サービスインスタンス(GenAI には Extended プランが必要)
- 認証情報を含むサービスキー
1. 認証トークンを取得する
# Set environment variables from service key
export AI_API_URL="<your-ai-api-url>"
export AUTH_URL="<your-auth-url>"
export CLIENT_ID="<your-client-id>"
export CLIENT_SECRET="<your-client-secret>"
# Get OAuth token
AUTH_TOKEN=$(curl -s -X POST "$AUTH_URL/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET" \
| jq -r '.access_token')
2. オーケストレーションデプロイメントを作成する
# Check for existing orchestration deployment
curl -X GET "$AI_API_URL/v2/lm/deployments" \
-H "Authorization: Bearer $AUTH_TOKEN" \
-H "AI-Resource-Group: default" \
-H "Content-Type: application/json"
# Create orchestration deployment if needed
curl -X POST "$AI_API_URL/v2/lm/deployments" \
-H "Authorization: Bearer $AUTH_TOKEN" \
-H "AI-Resource-Group: default" \
-H "Content-Type: application/json" \
-d '{
"configurationId": "<orchestration-config-id>"
}'
3. モデル推論に Harmonized API を使用する
ORCHESTRATION_URL="<deployment-url>"
curl -X POST "$ORCHESTRATION_URL/v2/completion" \
-H "Authorization: Bearer $AUTH_TOKEN" \
-H "AI-Resource-Group: default" \
-H "Content-Type: application/json" \
-d '{
"config": {
"module_configurations": {
"llm_module_config": {
"model_name": "gpt-4o",
"model_version": "latest",
"model_params": {
"max_tokens": 1000,
"temperature": 0.7
}
},
"templating_module_config": {
"template": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "{{?user_query}}"}
]
}
}
},
"input_params": {
"user_query": "What is SAP AI Core?"
}
}'
サービスプラン
| プラン | コスト | GenAI Hub | サポート | リソースグループ |
|---|---|---|---|---|
| Free | 無料 | いいえ | コミュニティのみ | デフォルトのみ |
| Standard | リソースごとの料金+基本料金 | いいえ | 完全な SLA | 複数 |
| Extended | リソースごとの料金+トークン料金 | はい | 完全な SLA | 複数 |
主な制限事項:
- 同じサブアカウントで Free と Standard を同時に利用することはできません
- Free から Standard へのアップグレードは可能ですが、ダウングレードはできません
- テナントあたりのリソースグループの上限は 50 個です
モデルプロバイダー
SAP AI Core では、テナント固有のカタログを通じてモデルプロバイダーにアクセスできます。正確なモデル名とバージョンは、対象テナントで GET /v2/lm/scenarios/foundation-models/models または SAP AI Launchpad Model Library を使って確認するまでは、あくまで例として扱ってください。
- Azure OpenAI:権限が付与されている場合、GPT ファミリーのチャット、ビジョン、推論、リアルタイム、埋め込みモデルを利用できます
- SAP Open Source:有効になっている場合、Llama/Falcon/Mistral ファミリーのオープンソースモデルを利用できます
- Google Vertex AI:権限が付与されている場合、Gemini ファミリーのチャット、ビジョン、コード、埋め込みモデルを利用できます
- AWS Bedrock:権限が付与されている場合、Anthropic Claude および Amazon のモデルファミリーを利用できます
- Mistral AI:有効になっている場合、Mistral Large/Small/Codestral ファミリーのモデルを利用できます
- IBM:Granite モデルを利用できます
- Perplexity:有効になっている場合、ウェブ情報を根拠とする Sonar ファミリーのモデルを利用できます
プロバイダーの設定とモデル一覧の詳細については、references/model-providers.md を参照してください。
オーケストレーション
オーケストレーションサービスでは、8 つの実行ステージを備えたモジュール式パイプラインを通じて、複数のモデルに統一的にアクセスできます。
- グラウンディング → 2. テンプレート処理(必須) → 3. 入力の翻訳 → 4. データマスキング → 5. 入力フィルタリング → 6. モデル設定(必須) → 7. 出力フィルタリング → 8. 出力の翻訳
オーケストレーションモジュールの設定、例、応用パターンについては、references/orchestration-modules.md を参照してください。
コンテンツフィルタリング
Azure Content Safety:4 つのカテゴリ(ヘイト、暴力、性的、自傷行為)のコンテンツを、重大度レベル 0~6 でフィルタリングします。Azure OpenAI では、重大度 4 以上が自動的にブロックされます。その他の機能には、PromptShield と保護対象コンテンツの検出があります。
Llama Guard 3:暴力犯罪、プライバシー侵害、コードインタープリターの悪用など、14 のカテゴリに対応しています。
データマスキング
PII を保護する 2 つの方法:
- 匿名化:
MASKED_ENTITY(不可逆) - 仮名化:
MASKED_ENTITY_ID(可逆)
対応するエンティティ(全 25 種類):個人データ、ID、財務情報、SAP 固有の ID、機微属性が含まれます。エンティティの一覧と実装の詳細については、references/orchestration-modules.md を参照してください。
グラウンディング(RAG)
SharePoint、S3、SFTP、SAP Build Work Zone、DMS の外部データを統合できます。PDF、HTML、DOCX、画像などに対応しています。上限はパイプラインあたり 2,000 ドキュメントで、毎日更新されます。設定の詳細については、references/grounding-rag.md を参照してください。
ツール呼び出し
5 ステップのワークフロー(ツールを定義 → tool_calls を受信 → 関数を実行 → 結果を返す → LLM が応答を取り込む)を通じて、LLM が関数を実行できるようにします。テンプレートは templates/tool-definition.json にあります。
構造化出力
厳密な検証を使用して、モデルの応答が JSON スキーマに一致するようにします。構造化データの抽出や API 応答に役立ちます。
埋め込み
/v2/embeddings エンドポイントを通じて、RAG や類似性検索向けのセマンティック埋め込みを生成します。ドキュメント、クエリ、テキストの入力タイプに対応しています。
ML トレーニング
トレーニングパイプラインには Argo Workflows を使用します。主な要件は、default オブジェクトストアのシークレットを作成し、ワークフローテンプレートを定義し、パラメーターを指定して設定を作成してから、トレーニングを実行することです。ワークフローのパターンについては、references/ml-operations.md を参照してください。
デプロイ
2 段階のプロセスでモデルをデプロイします。まず設定(モデルバインディングを含む)を作成し、次に TTL を指定してデプロイメントを作成します。ステータス:Pending → Running → Stopping → Stopped/Dead。テンプレートは templates/deployment-config.json にあります。
SAP AI Launchpad
4 つの主要アプリケーションを備えたウェブベースの UI です。
- ワークスペース:接続とリソースグループを管理します
- ML オペレーション:モデルのトレーニング、デプロイ、監視を行います
- Generative AI Hub:プロンプトの実験とオーケストレーションを行います
- Functions Explorer:利用可能な AI 機能を探索します
必要なロールには genai_manager、genai_experimenter、prompt_manager、orchestration_executor、mloperations_editor があります。ガイド全体については、references/ai-launchpad-guide.md を参照してください。
プロンプトレジストリ
プロンプトレジストリは、設計から実行時までプロンプトテンプレートのライフサイクルを管理し、SAP AI Core およびオーケストレーションワークフローに統合します。
2 つの管理インターフェース:
- 命令型 API:REST を介した完全な CRUD。設計時のプロンプトの改良に使用します
- 宣言型 API:Git リポジトリとの同期。実行時および CI/CD のユースケースに使用します
主なエンドポイント:
POST /v2/lm/promptTemplates— プロンプトテンプレートを作成しますPOST /v2/lm/promptTemplates/{id}/substitution— ID でテンプレートに値を入力しますPOST /v2/lm/scenarios/{scenario}/promptTemplates/{name}/versions/{version}/substitution— 名前でテンプレートに値を入力します
プロンプトレジストリの詳細なドキュメントについては、references/ai-launchpad-guide.md を参照してください。
API リファレンス
コアエンドポイント
主なエンドポイント:/v2/lm/scenarios、/v2/lm/configurations、/v2/lm/deployments、/v2/lm/executions、/lm/meta。例を含む完全な API リファレンスについては、references/api-reference.md を参照してください。
一般的なパターン
CAP との統合:SAP CAP は、BTP 上で AI Core を利用する主要なフレームワークです。MTA を介して AI Core サービスインスタンスを CAP アプリにバインドし、SAP Cloud SDK for AI を使用して CAP イベントハンドラーからオーケストレーション API を呼び出します。BTP ロードバランサーのタイムアウトを避けるため、本番環境では LLM の呼び出しを必ず非同期で処理してください(202 Accepted を返し、cds.spawn を介してバックグラウンドで処理します)。コード例の全容については、sap-cap-capire および sap-cloud-sdk-ai のスキルを参照してください。
シンプルなチャット:テンプレートモジュールを使用した基本的なモデル呼び出し
グラウンディング付き RAG:ベクトル検索と LLM を組み合わせて、コンテキストを考慮した応答を生成します
セキュアなエンタープライズチャット:PII を保護するため、フィルタリング、マスキング、グラウンディングを組み合わせます
テンプレートは templates/orchestration-workflow.json にあります。
トラブルシューティング
一般的な問題:
- 401 Unauthorized:OAuth トークンを更新します
- 403 Forbidden:IAM ロールを確認し、クォータの増加をリクエストします
- 404 Not Found:AI-Resource-Group ヘッダーを確認します
- デプロイメントが DEAD:デプロイメントログを確認します
- トレーニングの失敗:
defaultオブジェクトストアのシークレットを作成します
クォータの増加は、サポートチケット(コンポーネント:CA-ML-AIC)からリクエストしてください。
同梱リソース
リファレンスドキュメント
references/orchestration-modules.md- すべてのオーケストレーションモジュールの詳細references/generative-ai-hub.md- GenAI ハブの完全なドキュメントreferences/model-providers.md- モデルプロバイダーと設定references/api-reference.md- API エンドポイントの完全なリファレンスreferences/grounding-rag.md- グラウンディングと RAG の実装references/ml-operations.md- ML オペレーションとトレーニングreferences/advanced-features.md- チャット、アプリケーション、セキュリティ、監査references/ai-launchpad-guide.md- SAP AI Launchpad UI の完全なガイド
テンプレート
templates/deployment-config.json- デプロイメント設定テンプレートtemplates/orchestration-workflow.json- オーケストレーションワークフローテンプレートtemplates/tool-definition.json- ツール呼び出し定義テンプレート
公式ソース
- SAP AI Core ガイド:https://help.sap.com/docs/sap-ai-core
- SAP AI Launchpad ガイド:https://help.sap.com/docs/sap-ai-launchpad
- SAP Note 3437766:モデルのトークンレートと制限