Skip to content

Commit 9ebc2de

Browse files
committed
Merge remote-tracking branch 'origin/main' into feat/orchestration/springai-embed
# Conflicts: # docs/release_notes.md
2 parents fdf5f52 + fa5aa6d commit 9ebc2de

File tree

10 files changed

+23
-64
lines changed

10 files changed

+23
-64
lines changed

core-services/document-grounding/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.sap.ai.sdk</groupId>
66
<artifactId>sdk-parent</artifactId>
7-
<version>1.12.0-SNAPSHOT</version>
7+
<version>1.13.0-SNAPSHOT</version>
88
<relativePath>../../pom.xml</relativePath>
99
</parent>
1010
<artifactId>document-grounding</artifactId>

core-services/prompt-registry/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.sap.ai.sdk</groupId>
66
<artifactId>sdk-parent</artifactId>
7-
<version>1.12.0-SNAPSHOT</version>
7+
<version>1.13.0-SNAPSHOT</version>
88
<relativePath>../../pom.xml</relativePath>
99
</parent>
1010
<artifactId>prompt-registry</artifactId>

core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.sap.ai.sdk</groupId>
66
<artifactId>sdk-parent</artifactId>
7-
<version>1.12.0-SNAPSHOT</version>
7+
<version>1.13.0-SNAPSHOT</version>
88
</parent>
99
<artifactId>core</artifactId>
1010
<name>AI Core client</name>

docs/release_notes.md

Lines changed: 3 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,57 +8,16 @@
88

99
### 🔧 Compatibility Notes
1010

11-
- Breaking change:
12-
- `CompletionPostRequest` is now an interface instead of a class.
13-
For all previous use-cases, it should be substitutable with the new class `CompletionRequestConfiguration`.
14-
- `OrchestrationClient.toCompletionPostRequest()` now returns `CompletionRequestConfiguration`.
15-
- `OrchestrationClient.streamChatCompletionDeltas()` takes `CompletionRequestConfiguration` as an input now.
16-
- Two fields in `OrchestrationModuleConfig` changed:
17-
- `inputTranslationConfig` is now of type `SAPDocumentTranslationInput`
18-
- `outputTranslationConfig` is now of type `SAPDocumentTranslationOutput`
19-
- When using `OrchestrationModuleConfig.withInputTranslationConfig()` and `OrchestrationModuleConfig.withOutputTranslationConfig()` consider the following diff:
20-
```diff
21-
var config = new OrchestrationModuleConfig("some prompt");
22-
config
23-
.withInputTranslationConfig(
24-
- SAPDocumentTranslation.create()
25-
- .type(SAP_DOCUMENT_TRANSLATION)
26-
- .config(SAPDocumentTranslationConfig.create().targetLanguage("en-US")))
27-
+ SAPDocumentTranslationInput.create()
28-
+ .type(SAPDocumentTranslationInput.TypeEnum.SAP_DOCUMENT_TRANSLATION)
29-
+ .config(SAPDocumentTranslationInputConfig.create().targetLanguage("en-US")))
30-
.withOutputTranslationConfig(
31-
- SAPDocumentTranslation.create()
32-
- .type(SAP_DOCUMENT_TRANSLATION)
33-
+ SAPDocumentTranslationOutput.create()
34-
+ .type(SAPDocumentTranslationOutput.TypeEnum.SAP_DOCUMENT_TRANSLATION)
35-
.config(
36-
- SAPDocumentTranslationConfig.create()
37-
- .targetLanguage("de-DE")
38-
+ SAPDocumentTranslationOutputConfig.create()
39-
+ .targetLanguage(
40-
+ SAPDocumentTranslationOutputTargetLanguage.create("de-DE"))
41-
.sourceLanguage("en-US")));
42-
```
43-
- [Orchestration] Deprecated models `OrchestrationAiModel.CLAUDE_3_OPUS` and `OrchestrationAiModel.CLAUDE_3_5_SONNET`.
44-
- Replacement are respectively `OrchestrationAiModel.CLAUDE_4_OPUS` and `OrchestrationAiModel.CLAUDE_4_SONNET`.
45-
- Inner record classes and their creator methods in model interfaces are renamed to be more descriptive and type-specific.
46-
- eg: `InnerString` -> `ListOfStrings`, `create()` -> `createListOfStrings()`
11+
-
4712

4813
### ✨ New Functionality
4914

50-
- [Orchestration] For streaming, add convenience configuration for output-filter-overlap, chunk-size, and delimiters via `OrchestrationModuleConfig#withStreamConfig`.
51-
- [Orchestration] Added embedding generation support with new `OrchestrationClient#embed()` methods.
52-
- Added `OrchestrationEmbeddingModel` with `TEXT_EMBEDDING_3_SMALL`, `TEXT_EMBEDDING_3_LARGE`, `AMAZON_TITAN_EMBED_TEXT` and `NVIDIA_LLAMA_32_NV_EMBEDQA_1B` embedding models.
53-
- Introduced `OrchestrationEmbeddingRequest` for building requests fluently and `OrchestrationEmbeddingResponse#getEmbeddingVectors()` to retrieve embeddings.
54-
- [Orchestration] Added new model `OrchestrationAiModel.MISTRAL_MEDIUM_INSTRUCT`.
5515
- [Orchestration] Introduced Spring AI integration for embeddings generation with the new `OrchestrationSpringAiEmbeddingModel` class.
5616

57-
5817
### 📈 Improvements
5918

60-
- [Orchestration] Added new API `DpiMasking#withRegex` to apply custom masking patterns.
19+
-
6120

6221
### 🐛 Fixed Issues
6322

64-
- [Orchestration] Tool calling works on all models
23+
-

foundation-models/openai/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.sap.ai.sdk</groupId>
66
<artifactId>sdk-parent</artifactId>
7-
<version>1.12.0-SNAPSHOT</version>
7+
<version>1.13.0-SNAPSHOT</version>
88
<relativePath>../../pom.xml</relativePath>
99
</parent>
1010
<groupId>com.sap.ai.sdk.foundationmodels</groupId>

orchestration/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.sap.ai.sdk</groupId>
66
<artifactId>sdk-parent</artifactId>
7-
<version>1.12.0-SNAPSHOT</version>
7+
<version>1.13.0-SNAPSHOT</version>
88
</parent>
99
<artifactId>orchestration</artifactId>
1010
<name>Orchestration client</name>

pom.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.sap.ai.sdk</groupId>
55
<artifactId>sdk-parent</artifactId>
6-
<version>1.12.0-SNAPSHOT</version>
6+
<version>1.13.0-SNAPSHOT</version>
77
<packaging>pom</packaging>
88
<name>Parent pom</name>
99
<description>SAP Cloud SDK for AI is the official Software Development Kit (SDK) for SAP AI Core, SAP Generative AI Hub, and Orchestration Service. The parent pom defines dependency versions and plugin configurations</description>
@@ -60,19 +60,19 @@
6060
<wiremock.version>3.13.1</wiremock.version>
6161
<assertj-core.version>3.27.6</assertj-core.version>
6262
<slf4j.version>2.0.17</slf4j.version>
63-
<checkstyle.version>12.0.1</checkstyle.version>
63+
<checkstyle.version>12.1.0</checkstyle.version>
6464
<system-stubs.version>2.1.3</system-stubs.version>
6565
<surefire.version>3.5.4</surefire.version>
66-
<springframework.version>6.2.11</springframework.version>
66+
<springframework.version>6.2.12</springframework.version>
6767
<spring-ai.version>1.0.3</spring-ai.version>
68-
<reactor-core.version>3.7.11</reactor-core.version>
68+
<reactor-core.version>3.7.12</reactor-core.version>
6969
<dotenv-java.version>3.2.0</dotenv-java.version>
7070
<mockito.version>5.20.0</mockito.version>
7171
<javaparser.version>3.27.1</javaparser.version>
7272
<jsonschema-generator.version>4.38.0</jsonschema-generator.version>
7373
<jackson.version>2.20.0</jackson.version>
7474
<!-- conflicts resolution -->
75-
<micrometer.version>1.15.4</micrometer.version>
75+
<micrometer.version>1.15.5</micrometer.version>
7676
<json.version>20250517</json.version>
7777
<snakeyaml.version>2.5</snakeyaml.version>
7878
<!-- Formatting -->
@@ -749,7 +749,7 @@ https://gitbox.apache.org/repos/asf?p=maven-pmd-plugin.git;a=blob_plain;f=src/ma
749749
<plugin>
750750
<groupId>com.github.spotbugs</groupId>
751751
<artifactId>spotbugs-maven-plugin</artifactId>
752-
<version>4.9.6.0</version>
752+
<version>4.9.8.0</version>
753753
<configuration>
754754
<includeFilterFile>${project.rootdir}/.pipeline/spotbugs.xml</includeFilterFile>
755755
<!-- Exclude generated clients -->

sample-code/spring-app/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.sap.ai.sdk</groupId>
66
<artifactId>sdk-parent</artifactId>
7-
<version>1.12.0-SNAPSHOT</version>
7+
<version>1.13.0-SNAPSHOT</version>
88
<relativePath>../../pom.xml</relativePath>
99
</parent>
1010
<groupId>com.sap.ai.sdk.app</groupId>
@@ -34,9 +34,9 @@
3434
<properties>
3535
<project.rootdir>${project.basedir}/../../</project.rootdir>
3636
<spring-boot.version>3.5.6</spring-boot.version>
37-
<logback.version>1.5.19</logback.version>
37+
<logback.version>1.5.20</logback.version>
3838
<cf-logging.version>3.8.6</cf-logging.version>
39-
<apache-tomcat-embed.version>11.0.12</apache-tomcat-embed.version>
39+
<apache-tomcat-embed.version>11.0.13</apache-tomcat-embed.version>
4040
<!-- Skip end-to-end tests by default, can be overridden with -DskipTests=false -->
4141
<skipTests>true</skipTests>
4242
<!-- Allow logging frameworks because this module is not released -->

sample-code/spring-app/src/main/java/com/sap/ai/sdk/app/services/OrchestrationService.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,10 @@ public OrchestrationChatResponse translation() {
619619
.withInputTranslationConfig(
620620
SAPDocumentTranslationInput.create()
621621
.type(SAPDocumentTranslationInput.TypeEnum.SAP_DOCUMENT_TRANSLATION)
622-
.config(SAPDocumentTranslationInputConfig.create().targetLanguage("en-US")))
622+
.config(
623+
SAPDocumentTranslationInputConfig.create()
624+
.targetLanguage("en-US")
625+
.applyTo(null)))
623626
.withOutputTranslationConfig(
624627
SAPDocumentTranslationOutput.create()
625628
.type(SAPDocumentTranslationOutput.TypeEnum.SAP_DOCUMENT_TRANSLATION)

sample-code/spring-app/src/test/java/com/sap/ai/sdk/app/controllers/OrchestrationTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import lombok.extern.slf4j.Slf4j;
3939
import lombok.val;
4040
import org.junit.jupiter.api.BeforeEach;
41-
import org.junit.jupiter.api.Disabled;
4241
import org.junit.jupiter.api.Test;
4342
import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
4443

@@ -399,15 +398,13 @@ void testResponseFormatText() {
399398
}
400399

401400
@Test
402-
@Disabled("This behaviour is not released to canary yet.")
403401
void testTemplateFromPromptRegistryById() {
404402
val result = service.templateFromPromptRegistryById("Cloud ERP systems").getOriginalResponse();
405403
val choices = (result.getFinalResult()).getChoices();
406404
assertThat(choices.get(0).getMessage().getContent()).isNotEmpty();
407405
}
408406

409407
@Test
410-
@Disabled("This behaviour is not released to canary yet.")
411408
void testTemplateFromPromptRegistryByScenario() {
412409
val result =
413410
service.templateFromPromptRegistryByScenario("Cloud ERP systems").getOriginalResponse();
@@ -466,7 +463,6 @@ void testStreamingErrorHandlingMasking() {
466463
}
467464

468465
@Test
469-
@Disabled("This behaviour is not released to canary yet.")
470466
void testTranslation() {
471467
val result = service.translation();
472468
val content = result.getContent();
@@ -480,7 +476,8 @@ void testTranslation() {
480476
result.getOriginalResponse().getIntermediateResults().getOutputTranslation();
481477
assertThat(inputTranslation).isNotNull();
482478
assertThat(outputTranslation).isNotNull();
483-
assertThat(inputTranslation.getMessage()).isEqualTo("Input to LLM is translated successfully.");
479+
assertThat(inputTranslation.getMessage())
480+
.isEqualTo("Translated messages with roles: ['user']. ");
484481
assertThat(outputTranslation.getMessage()).isEqualTo("Output Translation successful");
485482
}
486483

0 commit comments

Comments
 (0)