Skip to content

AI Core orchestration scenario does not fit the configuration+deployment lifecycl #56

@Schmarvinius

Description

@Schmarvinius

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Newai-corePull request that touch the ai-core module

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions