cds-feature-ai-core abstracts the AI Core lifecycle around three resources:
- ResourceGroup (per-tenant isolation),
- Configuration (a recipe pinning a scenario + executable + parameter bindings),
- Deployment (a running inference endpoint produced from a Configuration).
Inference is then performed by acquiring an ApiClient for a specific deployment via AICoreService.inferenceClient(resourceGroupId, deploymentId). This works for foundation-model scenarios (e.g. RPT-1, currently demonstrated by cds-feature-recommendations) and for custom/self-trained scenarios.
The AI Core orchestration scenario does not follow this lifecycle:
- Orchestration is a hosted SAP service. Applications do not create or own a Configuration or a Deployment for it.
- Inference is reached on a per-resource-group basis at …/inference/scenario/orchestration//v2/completion, not at a deployment URL.
- The request/response shape is the unified OrchestrationModuleConfig / CompletionPostResponse (LLM + templating + masking + filtering + grounding), independent of the underlying foundation model.
- The ai-sdk exposes orchestration through com.sap.ai.sdk:orchestration (OrchestrationClient), built around an HttpDestination obtained from AiCoreService.getInferenceDestination(rg).forScenario("orchestration").
As a result, orchestration cannot be expressed using the existing ModelDeploymentSpec + AICoreService.deploymentId(rg, spec) + AICoreService.inferenceClient(rg, deploymentId) API surface. It is the only first-class AI Core scenario known to the team that does not fit this surface.
cds-feature-ai-core abstracts the AI Core lifecycle around three resources:
Inference is then performed by acquiring an ApiClient for a specific deployment via AICoreService.inferenceClient(resourceGroupId, deploymentId). This works for foundation-model scenarios (e.g. RPT-1, currently demonstrated by cds-feature-recommendations) and for custom/self-trained scenarios.
The AI Core orchestration scenario does not follow this lifecycle:
As a result, orchestration cannot be expressed using the existing ModelDeploymentSpec + AICoreService.deploymentId(rg, spec) + AICoreService.inferenceClient(rg, deploymentId) API surface. It is the only first-class AI Core scenario known to the team that does not fit this surface.