Skip to content

Commit 09ce90a

Browse files
authored
🐛 fix: correct totalOutputTokens calculation for XAI provider (#8984)
1 parent 2071d27 commit 09ce90a

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

packages/model-runtime/src/utils/usageConverter.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ describe('convertUsage', () => {
271271
// Assert
272272
expect(xaiResult).toMatchObject({
273273
totalInputTokens: 6103,
274-
totalOutputTokens: 66,
274+
totalOutputTokens: 447, // 66 + 381,xai的reasoning_tokens和completion_tokens价格一样
275275
outputTextTokens: 66, // 不减去 reasoning_tokens
276276
outputReasoningTokens: 381,
277277
totalTokens: 6550,

packages/model-runtime/src/utils/usageConverter.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ export const convertUsage = (
2727
provider === 'xai'
2828
? totalOutputTokens - outputAudioTokens
2929
: totalOutputTokens - outputReasoning - outputAudioTokens - outputImageTokens;
30+
const totalOutputTokensNormalized =
31+
provider === 'xai' ? totalOutputTokens + outputReasoning : totalOutputTokens;
3032

3133
const totalTokens = inputCitationTokens + usage.total_tokens;
3234

@@ -43,7 +45,7 @@ export const convertUsage = (
4345
outputTextTokens: outputTextTokens,
4446
rejectedPredictionTokens: usage.completion_tokens_details?.rejected_prediction_tokens,
4547
totalInputTokens,
46-
totalOutputTokens: totalOutputTokens,
48+
totalOutputTokens: totalOutputTokensNormalized,
4749
totalTokens,
4850
} satisfies ModelTokensUsage;
4951

0 commit comments

Comments
 (0)