UNPKG

llm-credit-sdk

Version:

SDK for estimating and reconciling LLM token costs using a credit system.

49 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OPENAI_EXTRACTORS = exports.openAIGenericExtractor = exports.openAIChatExtractor = void 0; /** * Token extractor for OpenAI Chat Completions API * * This extractor handles the standard OpenAI Chat Completions response format * as documented at https://platform.openai.com/docs/guides/text-generation */ exports.openAIChatExtractor = { providerName: 'openai', description: 'OpenAI Chat Completions API', apiVersion: 'v1', extract: (response) => { if (!response.usage) { throw new Error('OpenAI response missing usage information'); } return { promptTokens: response.usage.prompt_tokens, completionTokens: response.usage.completion_tokens }; } }; /** * Generic OpenAI extractor that works with various response formats * that follow the standard OpenAI usage pattern */ exports.openAIGenericExtractor = { providerName: 'openai', description: 'Generic OpenAI API extractor for various endpoints', extract: (response) => { if (!response?.usage) { throw new Error('OpenAI response missing usage information'); } const usage = response.usage; return { promptTokens: usage.prompt_tokens || 0, completionTokens: usage.completion_tokens || 0 }; } }; /** * Collection of OpenAI extractors for different use cases */ exports.OPENAI_EXTRACTORS = { chat: exports.openAIChatExtractor, generic: exports.openAIGenericExtractor }; //# sourceMappingURL=openai.js.map