update models

This commit is contained in:
2024-12-30 00:47:32 +08:00
parent 7413bf10ff
commit 0e5d29b5ed
3 changed files with 64 additions and 40 deletions

View File

@@ -49,10 +49,24 @@ interface LogprobsContent {
logprob: number;
}
interface PromptTokensDetails {
cached_tokens: number;
audio_tokens: number;
}
interface CompletionTokensDetails {
reasoning_tokens: number;
audio_tokens: number;
accepted_prediction_tokens: number;
rejected_prediction_tokens: number;
}
export interface Usage {
prompt_tokens: number;
completion_tokens: number;
total_tokens: number;
prompt_tokens_details: PromptTokensDetails | null;
completion_tokens_details: CompletionTokensDetails | null;
response_model_name: string | null;
}
@@ -96,11 +110,7 @@ export interface FetchResponse {
object: string;
created: number;
model: string;
usage: {
prompt_tokens: number | undefined;
completion_tokens: number | undefined;
total_tokens: number | undefined;
};
usage: Usage;
choices: {
message: Message | undefined;
finish_reason: "stop" | "length";

View File

@@ -219,6 +219,8 @@ export default function ChatBOX() {
completion_tokens: responseTokenCount,
total_tokens: prompt_tokens + responseTokenCount,
response_model_name: response_model_name,
prompt_tokens_details: null,
completion_tokens_details: null,
};
if (usage) {
@@ -226,6 +228,8 @@ export default function ChatBOX() {
ret.completion_tokens = usage.completion_tokens ?? responseTokenCount;
ret.total_tokens =
usage.total_tokens ?? prompt_tokens + responseTokenCount;
ret.prompt_tokens_details = usage.prompt_tokens_details ?? null;
ret.completion_tokens_details = usage.completion_tokens_details ?? null;
}
return ret;
@@ -265,6 +269,8 @@ export default function ChatBOX() {
completion_tokens: data.usage.completion_tokens ?? 0,
total_tokens: data.usage.total_tokens ?? 0,
response_model_name: data.model ?? null,
prompt_tokens_details: data.usage.prompt_tokens_details ?? null,
completion_tokens_details: data.usage.completion_tokens_details ?? null,
};
return ret;

View File

@@ -3,112 +3,120 @@ interface Model {
price: {
prompt: number;
completion: number;
cached_prompt?: number;
};
}
const M = 1000 / 1000; // dollars per million tokens
const K = 1000; // dollars per thousand tokens
export const models: Record<string, Model> = {
"gpt-4o": {
maxToken: 128000,
price: { prompt: 0.005 / 1000, completion: 0.015 / 1000 },
price: { prompt: 2.5 / M, cached_prompt: 1.25 / M, completion: 10 / M },
},
"gpt-4o-2024-11-20": {
maxToken: 128000,
price: { prompt: 0.0025 / 1000, completion: 0.01 / 1000 },
price: { prompt: 2.5 / M, cached_prompt: 1.25 / M, completion: 10 / M },
},
"gpt-4o-2024-08-06": {
maxToken: 128000,
price: { prompt: 0.0025 / 1000, completion: 0.01 / 1000 },
price: { prompt: 2.5 / M, cached_prompt: 1.25 / M, completion: 10 / M },
},
"gpt-4o-2024-05-13": {
maxToken: 128000,
price: { prompt: 0.005 / 1000, completion: 0.015 / 1000 },
price: { prompt: 5 / M, completion: 15 / M },
},
"gpt-4o-mini": {
maxToken: 128000,
price: { prompt: 0.15 / 1000 / 1000, completion: 0.6 / 1000 / 1000 },
price: { prompt: 0.15 / M, cached_prompt: 0.075 / M, completion: 0.6 / M },
},
"gpt-4o-mini-2024-07-18": {
maxToken: 128000,
price: { prompt: 0.15 / 1000 / 1000, completion: 0.6 / 1000 / 1000 },
price: { prompt: 0.15 / M, cached_prompt: 0.075 / M, completion: 0.6 / M },
},
o1: {
maxToken: 128000,
price: { prompt: 15 / M, cached_prompt: 7.5 / M, completion: 60 },
},
"o1-2024-12-17": {
maxToken: 128000,
price: { prompt: 15 / M, cached_prompt: 7.5 / M, completion: 60 },
},
"o1-preview": {
maxToken: 128000,
price: { prompt: 15 / 1000 / 1000, completion: 60 / 1000 / 1000 },
price: { prompt: 15 / M, cached_prompt: 7.5 / M, completion: 60 },
},
"o1-preview-2024-09-12": {
maxToken: 128000,
price: { prompt: 15 / 1000 / 1000, completion: 60 / 1000 / 1000 },
price: { prompt: 15 / M, cached_prompt: 7.5 / M, completion: 60 },
},
"o1-mini": {
maxToken: 128000,
price: { prompt: 3 / 1000 / 1000, completion: 12 / 1000 / 1000 },
price: { prompt: 3 / M, cached_prompt: 1.5 / M, completion: 12 / M },
},
"o1-mini-2024-09-12": {
maxToken: 128000,
price: { prompt: 3 / 1000 / 1000, completion: 12 / 1000 / 1000 },
price: { prompt: 3 / M, cached_prompt: 1.5 / M, completion: 12 / M },
},
"chatgpt-4o-latest": {
maxToken: 128000,
price: { prompt: 0.005 / 1000, completion: 0.015 / 1000 },
price: { prompt: 5 / M, completion: 15 / M },
},
"gpt-4-turbo": {
maxToken: 128000,
price: { prompt: 0.01 / 1000, completion: 0.03 / 1000 },
price: { prompt: 10 / M, completion: 30 / M },
},
"gpt-4-turbo-2024-04-09": {
maxToken: 128000,
price: { prompt: 0.01 / 1000, completion: 0.03 / 1000 },
price: { prompt: 10 / M, completion: 30 / M },
},
"gpt-4": {
maxToken: 8192,
price: { prompt: 0.03 / 1000, completion: 0.06 / 1000 },
maxToken: 8000,
price: { prompt: 30 / M, completion: 60 / M },
},
"gpt-4-32k": {
maxToken: 8192,
price: { prompt: 0.06 / 1000, completion: 0.12 / 1000 },
maxToken: 32000,
price: { prompt: 60 / M, completion: 120 / M },
},
"gpt-4-0125-preview": {
maxToken: 128000,
price: { prompt: 0.01 / 1000, completion: 0.03 / 1000 },
price: { prompt: 10 / M, completion: 30 / M },
},
"gpt-4-1106-preview": {
maxToken: 128000,
price: { prompt: 0.01 / 1000, completion: 0.03 / 1000 },
price: { prompt: 10 / M, completion: 30 / M },
},
"gpt-4-vision-preview": {
maxToken: 128000,
price: { prompt: 0.01 / 1000, completion: 0.03 / 1000 },
price: { prompt: 10 / M, completion: 30 / M },
},
"gpt-4-1106-vision-preview": {
maxToken: 128000,
price: { prompt: 0.01 / 1000, completion: 0.03 / 1000 },
},
"gpt-3.5-turbo": {
maxToken: 4096,
price: { prompt: 0.0015 / 1000, completion: 0.002 / 1000 },
},
"gpt-3.5-turbo-0125": {
maxToken: 16385,
price: { prompt: 0.0005 / 1000, completion: 0.0015 / 1000 },
maxToken: 16000,
price: { prompt: 0.5 / M, completion: 1.5 / M },
},
"gpt-3.5-turbo-instruct": {
maxToken: 16385,
price: { prompt: 0.5 / 1000 / 1000, completion: 2 / 1000 / 1000 },
maxToken: 16000,
price: { prompt: 1.5 / M, completion: 2 / M },
},
"gpt-3.5-turbo-1106": {
maxToken: 16385,
price: { prompt: 0.001 / 1000, completion: 0.002 / 1000 },
maxToken: 16000,
price: { prompt: 1 / M, completion: 2 / M },
},
"gpt-3.5-turbo-0613": {
maxToken: 16385,
price: { prompt: 1.5 / 1000 / 1000, completion: 2 / 1000 / 1000 },
maxToken: 16000,
price: { prompt: 1.5 / M, completion: 2 / M },
},
"gpt-3.5-turbo-16k-0613": {
maxToken: 16385,
price: { prompt: 0.003 / 1000, completion: 0.004 / 1000 },
maxToken: 16000,
price: { prompt: 3 / M, completion: 4 / M },
},
"gpt-3.5-turbo-0301": {
maxToken: 16385,
price: { prompt: 1.5 / 1000 / 1000, completion: 2 / 1000 / 1000 },
price: { prompt: 1.5 / M, completion: 2 / M },
},
};