Fix OpenAiChatModelIT#streamingWithTokenUsage

- Modify the streaming vs call usage assertion to match the close to 25% value
   - This change is done because the OpenAI chat response for call and stream invocation results in slight change in usage.
This commit is contained in:
Ilayaperumal Gopinathan
2025-01-02 15:23:32 +00:00
parent 7fe3b389c4
commit 823766f436

View File

@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import org.assertj.core.data.Percentage;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
import org.junit.jupiter.params.ParameterizedTest;
@@ -216,9 +217,12 @@ public class OpenAiChatModelIT extends AbstractIT {
assertThat(streamingTokenUsage.getGenerationTokens()).isGreaterThan(0);
assertThat(streamingTokenUsage.getTotalTokens()).isGreaterThan(0);
assertThat(streamingTokenUsage.getPromptTokens()).isEqualTo(referenceTokenUsage.getPromptTokens());
assertThat(streamingTokenUsage.getGenerationTokens()).isEqualTo(referenceTokenUsage.getGenerationTokens());
assertThat(streamingTokenUsage.getTotalTokens()).isEqualTo(referenceTokenUsage.getTotalTokens());
assertThat(streamingTokenUsage.getPromptTokens()).isCloseTo(referenceTokenUsage.getPromptTokens(),
Percentage.withPercentage(25));
assertThat(streamingTokenUsage.getGenerationTokens()).isCloseTo(referenceTokenUsage.getGenerationTokens(),
Percentage.withPercentage(25));
assertThat(streamingTokenUsage.getTotalTokens()).isCloseTo(referenceTokenUsage.getTotalTokens(),
Percentage.withPercentage(25));
}