enzostvs's picture
enzostvs HF Staff
map providers name
0f1466c
import type { ChatModelProvider, TokenUsage } from './helpers/types';
export const MAX_MODELS_PER_NODE = 5;
export const MAX_TRENDING_MODELS = 10;
export const MAX_SUGGESTIONS = 2;
export const MAX_DEFAULT_MODELS = 2;
export function formatPricingCost(pricing: ChatModelProvider['pricing'], amount: number) {
if (!pricing) return null;
return `$${pricing.input * amount} for input, $${pricing.output * amount} for output`;
}
export function formatPricingPerToken(pricing: ChatModelProvider['pricing']) {
if (!pricing) return null;
const inPrice = pricing.input.toFixed(2);
const outPrice = pricing.output.toFixed(2);
return `In: $${inPrice}/1M • Out: $${outPrice}/1M`;
}
export function formatUsageCost(pricing: ChatModelProvider['pricing'], usage: TokenUsage) {
if (!pricing || !usage) return null;
const inputCost = (pricing.input / 1_000_000) * (usage.prompt_tokens ?? 0);
const outputCost = (pricing.output / 1_000_000) * (usage.completion_tokens ?? 0);
const total = inputCost + outputCost;
if (total === 0) return null;
return `$${total.toFixed(6)}`;
}
export function getProviderName(provider: string) {
const providersMap = {
together: 'togethercomputer'
};
return providersMap[provider as keyof typeof providersMap] ?? provider;
}