Skip to content

Commit 3f5f043

Browse files
committed
Add and test getTokenUsage
1 parent e15d9b0 commit 3f5f043

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

orchestration/src/main/java/com/sap/ai/sdk/orchestration/OrchestrationChatResponse.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.sap.ai.sdk.orchestration.client.model.CompletionPostResponse;
66
import com.sap.ai.sdk.orchestration.client.model.LLMModuleResultSynchronous;
7+
import com.sap.ai.sdk.orchestration.client.model.TokenUsage;
78
import javax.annotation.Nonnull;
89
import lombok.RequiredArgsConstructor;
910
import lombok.Value;
@@ -38,4 +39,14 @@ public String getContent() throws OrchestrationClientException {
3839
}
3940
return choice.getMessage().getContent();
4041
}
42+
43+
/**
44+
* Get the token usage.
45+
*
46+
* @return The token usage.
47+
*/
48+
@Nonnull
49+
public TokenUsage getTokenUsage() {
50+
return ((LLMModuleResultSynchronous) originalResponse.getOrchestrationResult()).getUsage();
51+
}
4152
}

orchestration/src/test/java/com/sap/ai/sdk/orchestration/OrchestrationUnitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ void testTemplating() throws IOException {
156156
.isEqualTo("Orchestration Service funktioniert!");
157157
assertThat(choices.get(0).getMessage().getRole()).isEqualTo("assistant");
158158
assertThat(choices.get(0).getFinishReason()).isEqualTo("stop");
159-
var usage = llm.getUsage();
159+
var usage = result.getTokenUsage();
160160
assertThat(usage.getCompletionTokens()).isEqualTo(7);
161161
assertThat(usage.getPromptTokens()).isEqualTo(19);
162162
assertThat(usage.getTotalTokens()).isEqualTo(26);
@@ -171,7 +171,7 @@ void testTemplating() throws IOException {
171171
.isEqualTo("Orchestration Service funktioniert!");
172172
assertThat(choices.get(0).getMessage().getRole()).isEqualTo("assistant");
173173
assertThat(choices.get(0).getFinishReason()).isEqualTo("stop");
174-
usage = orchestrationResult.getUsage();
174+
usage = result.getTokenUsage();
175175
assertThat(usage.getCompletionTokens()).isEqualTo(7);
176176
assertThat(usage.getPromptTokens()).isEqualTo(19);
177177
assertThat(usage.getTotalTokens()).isEqualTo(26);

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void testTemplate() {
4949
assertThat(choices.get(0).getMessage().getContent()).isNotEmpty();
5050
assertThat(choices.get(0).getMessage().getRole()).isEqualTo("assistant");
5151
assertThat(choices.get(0).getFinishReason()).isEqualTo("stop");
52-
var usage = llm.getUsage();
52+
var usage = response.getTokenUsage();
5353
assertThat(usage.getCompletionTokens()).isGreaterThan(1);
5454
assertThat(usage.getPromptTokens()).isGreaterThan(1);
5555
assertThat(usage.getTotalTokens()).isGreaterThan(1);
@@ -64,7 +64,7 @@ void testTemplate() {
6464
assertThat(choices.get(0).getMessage().getContent()).isNotEmpty();
6565
assertThat(choices.get(0).getMessage().getRole()).isEqualTo("assistant");
6666
assertThat(choices.get(0).getFinishReason()).isEqualTo("stop");
67-
usage = orchestrationResult.getUsage();
67+
usage = response.getTokenUsage();
6868
assertThat(usage.getCompletionTokens()).isGreaterThan(1);
6969
assertThat(usage.getPromptTokens()).isGreaterThan(1);
7070
assertThat(usage.getTotalTokens()).isGreaterThan(1);

0 commit comments

Comments
 (0)