Skip to content

Commit 59b36d1

Browse files
committed
Remove deepseek options form openaiapi
- These options are exclusive to deepseek and can be added to the deepseek model
1 parent 868e288 commit 59b36d1

File tree

2 files changed

+15
-28
lines changed

2 files changed

+15
-28
lines changed

models/spring-ai-openai/src/main/java/org/springframework/ai/openai/api/OpenAiApi.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1605,14 +1605,6 @@ public record TopLogProbs(// @formatter:off
16051605
* completion).
16061606
* @param promptTokensDetails Breakdown of tokens used in the prompt.
16071607
* @param completionTokenDetails Breakdown of tokens used in a completion.
1608-
* @param promptCacheHitTokens Number of tokens in the prompt that were served from
1609-
* (util for
1610-
* <a href="https://api-docs.deepseek.com/api/create-chat-completion">DeepSeek</a>
1611-
* support).
1612-
* @param promptCacheMissTokens Number of tokens in the prompt that were not served
1613-
* (util for
1614-
* <a href="https://api-docs.deepseek.com/api/create-chat-completion">DeepSeek</a>
1615-
* support).
16161608
*/
16171609
@JsonInclude(Include.NON_NULL)
16181610
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -1621,12 +1613,11 @@ public record Usage(// @formatter:off
16211613
@JsonProperty("prompt_tokens") Integer promptTokens,
16221614
@JsonProperty("total_tokens") Integer totalTokens,
16231615
@JsonProperty("prompt_tokens_details") PromptTokensDetails promptTokensDetails,
1624-
@JsonProperty("completion_tokens_details") CompletionTokenDetails completionTokenDetails,
1625-
@JsonProperty("prompt_cache_hit_tokens") Integer promptCacheHitTokens,
1626-
@JsonProperty("prompt_cache_miss_tokens") Integer promptCacheMissTokens) { // @formatter:on
1616+
@JsonProperty("completion_tokens_details") CompletionTokenDetails completionTokenDetails
1617+
) { // @formatter:on
16271618

16281619
public Usage(Integer completionTokens, Integer promptTokens, Integer totalTokens) {
1629-
this(completionTokens, promptTokens, totalTokens, null, null, null, null);
1620+
this(completionTokens, promptTokens, totalTokens, null, null);
16301621
}
16311622

16321623
/**

models/spring-ai-openai/src/test/java/org/springframework/ai/openai/metadata/OpenAiUsageTests.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ void whenTotalTokensIsNull() {
8080

8181
@Test
8282
void whenPromptAndCompletionTokensDetailsIsNull() {
83-
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null, null, null);
83+
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null);
8484
DefaultUsage usage = getDefaultUsage(openAiUsage);
8585
assertThat(usage.getTotalTokens()).isEqualTo(300);
8686
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
@@ -90,7 +90,7 @@ void whenPromptAndCompletionTokensDetailsIsNull() {
9090

9191
@Test
9292
void whenCompletionTokenDetailsIsNull() {
93-
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null, null, null);
93+
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null);
9494
DefaultUsage usage = getDefaultUsage(openAiUsage);
9595
assertThat(usage.getTotalTokens()).isEqualTo(300);
9696
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
@@ -100,7 +100,7 @@ void whenCompletionTokenDetailsIsNull() {
100100
@Test
101101
void whenReasoningTokensIsNull() {
102102
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
103-
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null), null, null);
103+
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null));
104104
DefaultUsage usage = getDefaultUsage(openAiUsage);
105105
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
106106
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -109,7 +109,7 @@ void whenReasoningTokensIsNull() {
109109
@Test
110110
void whenCompletionTokenDetailsIsPresent() {
111111
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
112-
new OpenAiApi.Usage.CompletionTokenDetails(50, null, null, null), null, null);
112+
new OpenAiApi.Usage.CompletionTokenDetails(50, null, null, null));
113113
DefaultUsage usage = getDefaultUsage(openAiUsage);
114114
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
115115
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(50);
@@ -121,7 +121,7 @@ void whenCompletionTokenDetailsIsPresent() {
121121
@Test
122122
void whenAcceptedPredictionTokensIsPresent() {
123123
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
124-
new OpenAiApi.Usage.CompletionTokenDetails(null, 75, null, null), null, null);
124+
new OpenAiApi.Usage.CompletionTokenDetails(null, 75, null, null));
125125
DefaultUsage usage = getDefaultUsage(openAiUsage);
126126
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
127127
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -133,7 +133,7 @@ void whenAcceptedPredictionTokensIsPresent() {
133133
@Test
134134
void whenAudioTokensIsPresent() {
135135
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
136-
new OpenAiApi.Usage.CompletionTokenDetails(null, null, 125, null), null, null);
136+
new OpenAiApi.Usage.CompletionTokenDetails(null, null, 125, null));
137137
DefaultUsage usage = getDefaultUsage(openAiUsage);
138138
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
139139
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -145,7 +145,7 @@ void whenAudioTokensIsPresent() {
145145
@Test
146146
void whenRejectedPredictionTokensIsNull() {
147147
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
148-
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null), null, null);
148+
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null));
149149
DefaultUsage usage = getDefaultUsage(openAiUsage);
150150
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
151151
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -159,7 +159,7 @@ void whenRejectedPredictionTokensIsNull() {
159159
@Test
160160
void whenRejectedPredictionTokensIsPresent() {
161161
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
162-
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, 25), null, null);
162+
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, 25));
163163
DefaultUsage usage = getDefaultUsage(openAiUsage);
164164
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
165165
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -171,7 +171,7 @@ void whenRejectedPredictionTokensIsPresent() {
171171
@Test
172172
void whenCacheTokensIsNull() {
173173
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
174-
new OpenAiApi.Usage.PromptTokensDetails(null, null), null, null, null);
174+
new OpenAiApi.Usage.PromptTokensDetails(null, null), null);
175175
DefaultUsage usage = getDefaultUsage(openAiUsage);
176176
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
177177
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(null);
@@ -181,7 +181,7 @@ void whenCacheTokensIsNull() {
181181
@Test
182182
void whenCacheTokensIsPresent() {
183183
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
184-
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null, null, null);
184+
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null);
185185
DefaultUsage usage = getDefaultUsage(openAiUsage);
186186
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
187187
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(99);
@@ -191,25 +191,21 @@ void whenCacheTokensIsPresent() {
191191
@Test
192192
void whenPromptCacheHitTokensIsPresent() {
193193
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
194-
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null, 150, null);
194+
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null);
195195
DefaultUsage usage = getDefaultUsage(openAiUsage);
196196
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
197197
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(99);
198198
assertThat(nativeUsage.promptTokensDetails().cachedTokens()).isEqualTo(15);
199-
assertThat(nativeUsage.promptCacheHitTokens()).isEqualTo(150);
200-
assertThat(nativeUsage.promptCacheMissTokens()).isNull();
201199
}
202200

203201
@Test
204202
void whenPromptCacheMissTokensIsPresent() {
205203
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
206-
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null, null, 80);
204+
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null);
207205
DefaultUsage usage = getDefaultUsage(openAiUsage);
208206
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
209207
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(99);
210208
assertThat(nativeUsage.promptTokensDetails().cachedTokens()).isEqualTo(15);
211-
assertThat(nativeUsage.promptCacheMissTokens()).isEqualTo(80);
212-
assertThat(nativeUsage.promptCacheHitTokens()).isNull();
213209
}
214210

215211
}

0 commit comments

Comments
 (0)