Skip to content

feat: [TabularOrchestration] Added Tabular orchestration module - #1028

Open
CharlesDuboisSAP wants to merge 42 commits into
mainfrom
rpt-orchestration
Open

CharlesDuboisSAP wants to merge 42 commits into
mainfrom
rpt-orchestration

Conversation

@CharlesDuboisSAP

@CharlesDuboisSAP CharlesDuboisSAP commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Context

New AI Core service

Definition of Done

@CharlesDuboisSAP CharlesDuboisSAP self-assigned this Sep 4, 2026
@CharlesDuboisSAP CharlesDuboisSAP added the please-review Request to review a pull-request label Sep 4, 2026

@Jonas-Isr Jonas-Isr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New convenience API looks good! Besides that had only smaller comments.

Once the spec seems stable we can release this in my opinion :)

Comment thread .github/workflows/spec-update.yaml Outdated
Comment thread .pipeline/spotbugs-exclusions.xml Outdated
@CharlesDuboisSAP

Copy link
Copy Markdown
Contributor Author

New convenience API looks good! Besides that had only smaller comments.

Once the spec seems stable we can release this in my opinion :)

@Jonas-Isr I think we could already merge it as beta.
You should also look into the resource group for predict API before merging

: getService().getInferenceDestination(resourceGroup).forScenario(PREDICT_SCENARIO_ID);
val destination =
DefaultHttpDestination.fromDestination(inferenceDestination).headers(customHeaders).build();
return new PredictApi(ApiClient.create(destination));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Question)

This means, the resource group is set once for the PredictApi object. I assume this is because the two specs are different, right?

That's a bit annoying because of the inconsistency in usage but I like the way the public API looks, given this inconsistency is nothing we can change.

@CharlesDuboisSAP CharlesDuboisSAP Sep 10, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's because if I let the spec define the resource group, then the code generates like so:

 new TabularClient().predict().predict(resourceGroup, request);

The first predict gets the deployment on the default resource group, then the request with custom resource group will fail because it uses the default deployment.

Now if you set the resource group for fetching the deployment:

 new TabularClient().predict(resourceGroup).predict(resourceGroup, request);

Then the resource group propagates to the client and it's set twice, again the request fails because AI Core doesn't like it.

That's why I chose setting it once for the client and let it propagate to the request which is inconsistant:

 new TabularClient().predict(resourceGroup).predict(request);

@Jonas-Isr

Copy link
Copy Markdown
Member

After discussion, I would rather wait until the Predict spec is stabilised and working properly.

@CharlesDuboisSAP CharlesDuboisSAP added dont-merge and removed please-review Request to review a pull-request labels Sep 11, 2026

@ZhongpinWang ZhongpinWang left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please consider separate context-registry and tabular-ai-orchestration into two different modules. They are two independent services.

Also rename the spec names, and folders. Context registry is not tabular orchestration. Tabular AI orchestration has one endpoint called /predict but the service is not called tabular predict.

@CharlesDuboisSAP CharlesDuboisSAP changed the title feat: [Tabular] Added Tabular orchestration module feat: [TabularOrchestration] Added Tabular orchestration module Sep 15, 2026
@CharlesDuboisSAP
CharlesDuboisSAP dismissed ZhongpinWang’s stale review September 16, 2026 08:19

I created 2 modules: tabular-ai-orchestration and context-registry.
We should align on whether we prefer the name tabular-ai-orchestration or not.

@@ -0,0 +1,773 @@
openapi: 3.0.3
info:
title: Tabular AI Orchestration

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The specs should be updated.


// @Test
// void testCustomHeaders() {
// WireMock.stubFor(

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test should be created using e2e test payloads

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants