Remove deepseek options form openaiapi

- These options are exclusive to deepseek and can be added to the deepseek model
This commit is contained in:
Mark Pollack
2025-05-12 23:22:12 -04:00
parent 868e288e01
commit 59b36d14da
2 changed files with 15 additions and 28 deletions

View File

@@ -1605,14 +1605,6 @@ public class OpenAiApi {
* completion).
* @param promptTokensDetails Breakdown of tokens used in the prompt.
* @param completionTokenDetails Breakdown of tokens used in a completion.
* @param promptCacheHitTokens Number of tokens in the prompt that were served from
* (util for
* <a href="https://api-docs.deepseek.com/api/create-chat-completion">DeepSeek</a>
* support).
* @param promptCacheMissTokens Number of tokens in the prompt that were not served
* (util for
* <a href="https://api-docs.deepseek.com/api/create-chat-completion">DeepSeek</a>
* support).
*/
@JsonInclude(Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@@ -1621,12 +1613,11 @@ public class OpenAiApi {
@JsonProperty("prompt_tokens") Integer promptTokens,
@JsonProperty("total_tokens") Integer totalTokens,
@JsonProperty("prompt_tokens_details") PromptTokensDetails promptTokensDetails,
@JsonProperty("completion_tokens_details") CompletionTokenDetails completionTokenDetails,
@JsonProperty("prompt_cache_hit_tokens") Integer promptCacheHitTokens,
@JsonProperty("prompt_cache_miss_tokens") Integer promptCacheMissTokens) { // @formatter:on
@JsonProperty("completion_tokens_details") CompletionTokenDetails completionTokenDetails
) { // @formatter:on
public Usage(Integer completionTokens, Integer promptTokens, Integer totalTokens) {
this(completionTokens, promptTokens, totalTokens, null, null, null, null);
this(completionTokens, promptTokens, totalTokens, null, null);
}
/**

View File

@@ -80,7 +80,7 @@ class OpenAiUsageTests {
@Test
void whenPromptAndCompletionTokensDetailsIsNull() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null, null, null);
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null);
DefaultUsage usage = getDefaultUsage(openAiUsage);
assertThat(usage.getTotalTokens()).isEqualTo(300);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
@@ -90,7 +90,7 @@ class OpenAiUsageTests {
@Test
void whenCompletionTokenDetailsIsNull() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null, null, null);
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null, null);
DefaultUsage usage = getDefaultUsage(openAiUsage);
assertThat(usage.getTotalTokens()).isEqualTo(300);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
@@ -100,7 +100,7 @@ class OpenAiUsageTests {
@Test
void whenReasoningTokensIsNull() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null), null, null);
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null));
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -109,7 +109,7 @@ class OpenAiUsageTests {
@Test
void whenCompletionTokenDetailsIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
new OpenAiApi.Usage.CompletionTokenDetails(50, null, null, null), null, null);
new OpenAiApi.Usage.CompletionTokenDetails(50, null, null, null));
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(50);
@@ -121,7 +121,7 @@ class OpenAiUsageTests {
@Test
void whenAcceptedPredictionTokensIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
new OpenAiApi.Usage.CompletionTokenDetails(null, 75, null, null), null, null);
new OpenAiApi.Usage.CompletionTokenDetails(null, 75, null, null));
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -133,7 +133,7 @@ class OpenAiUsageTests {
@Test
void whenAudioTokensIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
new OpenAiApi.Usage.CompletionTokenDetails(null, null, 125, null), null, null);
new OpenAiApi.Usage.CompletionTokenDetails(null, null, 125, null));
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -145,7 +145,7 @@ class OpenAiUsageTests {
@Test
void whenRejectedPredictionTokensIsNull() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null), null, null);
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, null));
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -159,7 +159,7 @@ class OpenAiUsageTests {
@Test
void whenRejectedPredictionTokensIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300, null,
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, 25), null, null);
new OpenAiApi.Usage.CompletionTokenDetails(null, null, null, 25));
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.completionTokenDetails().reasoningTokens()).isEqualTo(null);
@@ -171,7 +171,7 @@ class OpenAiUsageTests {
@Test
void whenCacheTokensIsNull() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
new OpenAiApi.Usage.PromptTokensDetails(null, null), null, null, null);
new OpenAiApi.Usage.PromptTokensDetails(null, null), null);
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(null);
@@ -181,7 +181,7 @@ class OpenAiUsageTests {
@Test
void whenCacheTokensIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null, null, null);
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null);
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(99);
@@ -191,25 +191,21 @@ class OpenAiUsageTests {
@Test
void whenPromptCacheHitTokensIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null, 150, null);
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null);
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(99);
assertThat(nativeUsage.promptTokensDetails().cachedTokens()).isEqualTo(15);
assertThat(nativeUsage.promptCacheHitTokens()).isEqualTo(150);
assertThat(nativeUsage.promptCacheMissTokens()).isNull();
}
@Test
void whenPromptCacheMissTokensIsPresent() {
OpenAiApi.Usage openAiUsage = new OpenAiApi.Usage(100, 200, 300,
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null, null, 80);
new OpenAiApi.Usage.PromptTokensDetails(99, 15), null);
DefaultUsage usage = getDefaultUsage(openAiUsage);
OpenAiApi.Usage nativeUsage = (OpenAiApi.Usage) usage.getNativeUsage();
assertThat(nativeUsage.promptTokensDetails().audioTokens()).isEqualTo(99);
assertThat(nativeUsage.promptTokensDetails().cachedTokens()).isEqualTo(15);
assertThat(nativeUsage.promptCacheMissTokens()).isEqualTo(80);
assertThat(nativeUsage.promptCacheHitTokens()).isNull();
}
}