UNPKG

@ai-sdk/groq

Version:

The **[Groq provider](https://ai-sdk.dev/providers/ai-sdk-providers/groq)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the Groq chat and completion APIs, transcription support, and browser search tool.

56 lines (52 loc) 1.51 kB
import type { LanguageModelV4Usage } from '@ai-sdk/provider'; import { createNullLanguageModelUsage } from '@ai-sdk/provider-utils'; export function convertGroqUsage( usage: | { prompt_tokens?: number | null | undefined; completion_tokens?: number | null | undefined; prompt_tokens_details?: | { cached_tokens?: number | null | undefined; } | null | undefined; completion_tokens_details?: | { reasoning_tokens?: number | null | undefined; } | null | undefined; } | undefined | null, ): LanguageModelV4Usage { if (usage == null) { return createNullLanguageModelUsage(); } const promptTokens = usage.prompt_tokens ?? 0; const cacheReadTokens = usage.prompt_tokens_details?.cached_tokens ?? undefined; const completionTokens = usage.completion_tokens ?? 0; const reasoningTokens = usage.completion_tokens_details?.reasoning_tokens ?? undefined; const textTokens = reasoningTokens != null ? completionTokens - reasoningTokens : completionTokens; return { inputTokens: { total: promptTokens, noCache: cacheReadTokens != null ? promptTokens - cacheReadTokens : promptTokens, cacheRead: cacheReadTokens, cacheWrite: undefined, }, outputTokens: { total: completionTokens, text: textTokens, reasoning: reasoningTokens, }, raw: usage, }; }