From 861fb3e784be0b659e42b3f75305d7739d216ca8 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 27 Dec 2024 14:19:15 +0800 Subject: [PATCH 1/2] feat: add new model provider Novita AI --- README.md | 2 +- packages/proxy/schema/index.ts | 36 +++++ packages/proxy/schema/models.ts | 226 +++++++++++++++++++++++++++++++ packages/proxy/schema/secrets.ts | 1 + 4 files changed, 264 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7085a56b..9ebc7c89 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ The Braintrust AI proxy offers a unified way to access the world's leading AI models through a single API, including models from [OpenAI](https://platform.openai.com/docs/models), [Anthropic](https://docs.anthropic.com/claude/reference/getting-started-with-the-api), [LLaMa 2](https://ai.meta.com/llama/), -[Mistral](https://mistral.ai/), and more. The benefits of using the proxy include: +[Mistral](https://mistral.ai/), [Novita AI](https://novita.ai/llm-api?utm_source=github_braintrustdata&utm_medium=github_readme&utm_campaign=github_link) and more. The benefits of using the proxy include: - **Code Simplification**: Use a consistent API across different AI providers. - **Cost Reduction**: The proxy automatically caches results, reusing them when possible. diff --git a/packages/proxy/schema/index.ts b/packages/proxy/schema/index.ts index dde61565..f61684fb 100644 --- a/packages/proxy/schema/index.ts +++ b/packages/proxy/schema/index.ts @@ -30,6 +30,7 @@ export const ModelEndpointType = [ "fireworks", "cerebras", "mistral", + "novita", "ollama", "groq", "xAI", @@ -221,6 +222,39 @@ export const AvailableEndpointTypes: { [name: string]: ModelEndpointType[] } = { "amazon.nova-lite-v1:0": ["bedrock"], "amazon.nova-micro-v1:0": ["bedrock"], "grok-beta": ["xAI"], + + "meta-llama/llama-3.3-70b-instruct": ["novita"], + "meta-llama/llama-3.1-8b-instruct": ["novita"], + "meta-llama/llama-3.1-8b-instruct-max": ["novita"], + "meta-llama/llama-3.1-70b-instruct": ["novita"], + "meta-llama/llama-3.1-405b-instruct": ["novita"], + "meta-llama/llama-3-8b-instruct": ["novita"], + "meta-llama/llama-3-70b-instruct": ["novita"], + "gryphe/mythomax-l2-13b": ["novita"], + "google/gemma-2-9b-it": ["novita"], + "mistralai/mistral-nemo": ["novita"], + "microsoft/wizardlm-2-8x22b": ["novita"], + "mistralai/mistral-7b-instruct": ["novita"], + "openchat/openchat-7b": ["novita"], + "nousresearch/hermes-2-pro-llama-3-8b": ["novita"], + "sao10k/l3-70b-euryale-v2.1": ["novita"], + "cognitivecomputations/dolphin-mixtral-8x22b": ["novita"], + "jondurbin/airoboros-l2-70b": ["novita"], + "lzlv_70b": ["novita"], + "nousresearch/nous-hermes-llama2-13b": ["novita"], + "teknium/openhermes-2.5-mistral-7b": ["novita"], + "sophosympatheia/midnight-rose-70b": ["novita"], + "Sao10K/L3-8B-Stheno-v3.2": ["novita"], + "sao10k/l3-8b-lunaris": ["novita"], + "qwen/qwen-2-vl-72b-instruct": ["novita"], + "meta-llama/llama-3.2-1b-instruct": ["novita"], + "meta-llama/llama-3.2-11b-vision-instruct": ["novita"], + "meta-llama/llama-3.2-3b-instruct": ["novita"], + "meta-llama/llama-3.1-8b-instruct-bf16": ["novita"], + "qwen/qwen-2.5-72b-instruct": ["novita"], + "sao10k/l31-70b-euryale-v2.2": ["novita"], + "qwen/qwen-2-7b-instruct": ["novita"], + "qwen/qwen-2-72b-instruct": ["novita"], }; export function getModelEndpointTypes(model: string): ModelEndpointType[] { @@ -242,6 +276,7 @@ export const AISecretTypes: { [keyName: string]: ModelEndpointType } = { FIREWORKS_API_KEY: "fireworks", GOOGLE_API_KEY: "google", MISTRAL_API_KEY: "mistral", + NOVITA_API_KEY: "novita", OLLAMA_API_KEY: "ollama", GROQ_API_KEY: "groq", CEREBRAS_API_KEY: "cerebras", @@ -258,6 +293,7 @@ export const EndpointProviderToBaseURL: { together: "https://api.together.xyz/v1", google: "https://generativelanguage.googleapis.com/v1beta", mistral: "https://api.mistral.ai/v1", + novita: "https://api.novita.ai/v3/openai", ollama: "http://127.0.0.1:11434/v1", groq: "https://api.groq.com/openai/v1", lepton: "https://.lepton.run/api/v1/", // As far as I can tell, this works for all models diff --git a/packages/proxy/schema/models.ts b/packages/proxy/schema/models.ts index cf809915..0866ff8a 100644 --- a/packages/proxy/schema/models.ts +++ b/packages/proxy/schema/models.ts @@ -1088,4 +1088,230 @@ export const AvailableModels: { [name: string]: ModelSpec } = { flavor: "completion", displayName: "Text-block", }, + + // Novita AI Models + "meta-llama/llama-3.3-70b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.39, + output_cost_per_mil_tokens: 0.39, + displayName: "meta-llama/llama-3.3-70b-instruct", + }, + "meta-llama/llama-3.1-8b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.05, + output_cost_per_mil_tokens: 0.05, + displayName: "meta-llama/llama-3.1-8b-instruct", + }, + "meta-llama/llama-3.1-8b-instruct-max": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.05, + output_cost_per_mil_tokens: 0.05, + displayName: "meta-llama/llama-3.1-8b-instruct-max", + }, + "meta-llama/llama-3.1-70b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.34, + output_cost_per_mil_tokens: 0.39, + displayName: "meta-llama/llama-3.1-70b-instruct", + }, + "meta-llama/llama-3.1-405b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 2.75, + output_cost_per_mil_tokens: 2.75, + displayName: "meta-llama/llama-3.1-405b-instruct", + }, + "meta-llama/llama-3-8b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.04, + output_cost_per_mil_tokens: 0.04, + displayName: "meta-llama/llama-3-8b-instruct", + }, + "meta-llama/llama-3-70b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.51, + output_cost_per_mil_tokens: 0.74, + displayName: "meta-llama/llama-3-70b-instruct", + }, + "gryphe/mythomax-l2-13b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.09, + output_cost_per_mil_tokens: 0.09, + displayName: "gryphe/mythomax-l2-13b", + }, + "google/gemma-2-9b-it": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.08, + output_cost_per_mil_tokens: 0.08, + displayName: "google/gemma-2-9b-it", + }, + "mistralai/mistral-nemo": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.17, + output_cost_per_mil_tokens: 0.17, + displayName: "mistralai/mistral-nemo", + }, + "microsoft/wizardlm-2-8x22b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.62, + output_cost_per_mil_tokens: 0.62, + displayName: "microsoft/wizardlm-2-8x22b", + }, + "mistralai/mistral-7b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.059, + output_cost_per_mil_tokens: 0.059, + displayName: "mistralai/mistral-7b-instruct", + }, + "openchat/openchat-7b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.06, + output_cost_per_mil_tokens: 0.06, + displayName: "openchat/openchat-7b", + }, + "nousresearch/hermes-2-pro-llama-3-8b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.14, + output_cost_per_mil_tokens: 0.14, + displayName: "nousresearch/hermes-2-pro-llama-3-8b", + }, + "sao10k/l3-70b-euryale-v2.1": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 1.48, + output_cost_per_mil_tokens: 1.48, + displayName: "sao10k/l3-70b-euryale-v2.1", + }, + "cognitivecomputations/dolphin-mixtral-8x22b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.90, + output_cost_per_mil_tokens: 0.90, + displayName: "cognitivecomputations/dolphin-mixtral-8x22b", + }, + "jondurbin/airoboros-l2-70b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.50, + output_cost_per_mil_tokens: 0.50, + displayName: "jondurbin/airoboros-l2-70b", + }, + "lzlv_70b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.58, + output_cost_per_mil_tokens: 0.78, + displayName: "lzlv_70b", + }, + "nousresearch/nous-hermes-llama2-13b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.17, + output_cost_per_mil_tokens: 0.17, + displayName: "nousresearch/nous-hermes-llama2-13b", + }, + "teknium/openhermes-2.5-mistral-7b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.17, + output_cost_per_mil_tokens: 0.17, + displayName: "teknium/openhermes-2.5-mistral-7b", + }, + "sophosympatheia/midnight-rose-70b": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.80, + output_cost_per_mil_tokens: 0.80, + displayName: "sophosympatheia/midnight-rose-70b", + }, + "Sao10K/L3-8B-Stheno-v3.2": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.05, + output_cost_per_mil_tokens: 0.05, + displayName: "Sao10K/L3-8B-Stheno-v3.2", + }, + "sao10k/l3-8b-lunaris": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.05, + output_cost_per_mil_tokens: 0.05, + displayName: "sao10k/l3-8b-lunaris", + }, + "qwen/qwen-2-vl-72b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.45, + output_cost_per_mil_tokens: 0.45, + displayName: "qwen/qwen-2-vl-72b-instruct", + }, + "meta-llama/llama-3.2-1b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.02, + output_cost_per_mil_tokens: 0.02, + displayName: "meta-llama/llama-3.2-1b-instruct", + }, + "meta-llama/llama-3.2-11b-vision-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.06, + output_cost_per_mil_tokens: 0.06, + displayName: "meta-llama/llama-3.2-11b-vision-instruct", + }, + "meta-llama/llama-3.2-3b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.03, + output_cost_per_mil_tokens: 0.05, + displayName: "meta-llama/llama-3.2-3b-instruct", + }, + "meta-llama/llama-3.1-8b-instruct-bf16": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.06, + output_cost_per_mil_tokens: 0.06, + displayName: "meta-llama/llama-3.1-8b-instruct-bf16", + }, + "qwen/qwen-2.5-72b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.38, + output_cost_per_mil_tokens: 0.40, + displayName: "qwen/qwen-2.5-72b-instruct", + }, + "sao10k/l31-70b-euryale-v2.2": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 1.48, + output_cost_per_mil_tokens: 1.48, + displayName: "sao10k/l31-70b-euryale-v2.2", + }, + "qwen/qwen-2-7b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.054, + output_cost_per_mil_tokens: 0.054, + displayName: "qwen/qwen-2-7b-instruct", + }, + "qwen/qwen-2-72b-instruct": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.34, + output_cost_per_mil_tokens: 0.39, + displayName: "qwen/qwen-2-72b-instruct", + } }; diff --git a/packages/proxy/schema/secrets.ts b/packages/proxy/schema/secrets.ts index bdc5cf24..316e4c1a 100644 --- a/packages/proxy/schema/secrets.ts +++ b/packages/proxy/schema/secrets.ts @@ -59,6 +59,7 @@ export const APISecretSchema = z.union([ "replicate", "together", "mistral", + "novita", "ollama", "groq", "lepton", From bd706f4fe621d44e934e3aadbb422b475b84b07c Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 27 Jan 2025 23:06:49 +0800 Subject: [PATCH 2/2] fix: update models for Novita AI --- README.md | 2 +- packages/proxy/schema/index.ts | 2 + packages/proxy/schema/models.ts | 78 +++++++++++++++++++-------------- 3 files changed, 49 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 9ebc7c89..7cfbc021 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ The Braintrust AI proxy offers a unified way to access the world's leading AI models through a single API, including models from [OpenAI](https://platform.openai.com/docs/models), [Anthropic](https://docs.anthropic.com/claude/reference/getting-started-with-the-api), [LLaMa 2](https://ai.meta.com/llama/), -[Mistral](https://mistral.ai/), [Novita AI](https://novita.ai/llm-api?utm_source=github_braintrustdata&utm_medium=github_readme&utm_campaign=github_link) and more. The benefits of using the proxy include: +[Mistral](https://mistral.ai/), [Novita AI](https://novita.ai/models/llm?utm_source=github_braintrustdata&utm_medium=github_readme&utm_campaign=github_link) and more. The benefits of using the proxy include: - **Code Simplification**: Use a consistent API across different AI providers. - **Cost Reduction**: The proxy automatically caches results, reusing them when possible. diff --git a/packages/proxy/schema/index.ts b/packages/proxy/schema/index.ts index f61684fb..f56d8cfa 100644 --- a/packages/proxy/schema/index.ts +++ b/packages/proxy/schema/index.ts @@ -223,6 +223,8 @@ export const AvailableEndpointTypes: { [name: string]: ModelEndpointType[] } = { "amazon.nova-micro-v1:0": ["bedrock"], "grok-beta": ["xAI"], + "deepseek/deepseek-r1": ["novita"], + "deepseek/deepseek_v3": ["novita"], "meta-llama/llama-3.3-70b-instruct": ["novita"], "meta-llama/llama-3.1-8b-instruct": ["novita"], "meta-llama/llama-3.1-8b-instruct-max": ["novita"], diff --git a/packages/proxy/schema/models.ts b/packages/proxy/schema/models.ts index 0866ff8a..780f73ac 100644 --- a/packages/proxy/schema/models.ts +++ b/packages/proxy/schema/models.ts @@ -1095,119 +1095,119 @@ export const AvailableModels: { [name: string]: ModelSpec } = { flavor: "chat", input_cost_per_mil_tokens: 0.39, output_cost_per_mil_tokens: 0.39, - displayName: "meta-llama/llama-3.3-70b-instruct", + displayName: "Llama 3.3 70B Instruct", }, "meta-llama/llama-3.1-8b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.05, output_cost_per_mil_tokens: 0.05, - displayName: "meta-llama/llama-3.1-8b-instruct", + displayName: "Llama 3.1 8B Instruct", }, "meta-llama/llama-3.1-8b-instruct-max": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.05, output_cost_per_mil_tokens: 0.05, - displayName: "meta-llama/llama-3.1-8b-instruct-max", + displayName: "Llama3.1 8B Instruct Max", }, "meta-llama/llama-3.1-70b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.34, output_cost_per_mil_tokens: 0.39, - displayName: "meta-llama/llama-3.1-70b-instruct", + displayName: "Llama 3.1 70B Instruct", }, "meta-llama/llama-3.1-405b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 2.75, output_cost_per_mil_tokens: 2.75, - displayName: "meta-llama/llama-3.1-405b-instruct", + displayName: "Llama 3.1 405B Instruct", }, "meta-llama/llama-3-8b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.04, output_cost_per_mil_tokens: 0.04, - displayName: "meta-llama/llama-3-8b-instruct", + displayName: "Llama 3 8B Instruct", }, "meta-llama/llama-3-70b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.51, output_cost_per_mil_tokens: 0.74, - displayName: "meta-llama/llama-3-70b-instruct", + displayName: "Llama3 70b Instruct", }, "gryphe/mythomax-l2-13b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.09, output_cost_per_mil_tokens: 0.09, - displayName: "gryphe/mythomax-l2-13b", + displayName: "Mythomax L2 13B", }, "google/gemma-2-9b-it": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.08, output_cost_per_mil_tokens: 0.08, - displayName: "google/gemma-2-9b-it", + displayName: "Gemma 2 9B", }, "mistralai/mistral-nemo": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.17, output_cost_per_mil_tokens: 0.17, - displayName: "mistralai/mistral-nemo", + displayName: "Mistral Nemo", }, "microsoft/wizardlm-2-8x22b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.62, output_cost_per_mil_tokens: 0.62, - displayName: "microsoft/wizardlm-2-8x22b", + displayName: "Wizardlm 2 8x22B", }, "mistralai/mistral-7b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.059, output_cost_per_mil_tokens: 0.059, - displayName: "mistralai/mistral-7b-instruct", + displayName: "Mistral 7B Instruct", }, "openchat/openchat-7b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.06, output_cost_per_mil_tokens: 0.06, - displayName: "openchat/openchat-7b", + displayName: "OpenChat 7B", }, "nousresearch/hermes-2-pro-llama-3-8b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.14, output_cost_per_mil_tokens: 0.14, - displayName: "nousresearch/hermes-2-pro-llama-3-8b", + displayName: "Hermes 2 Pro Llama 3 8B", }, "sao10k/l3-70b-euryale-v2.1": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 1.48, output_cost_per_mil_tokens: 1.48, - displayName: "sao10k/l3-70b-euryale-v2.1", + displayName: "L3 70B Euryale V2.1", }, "cognitivecomputations/dolphin-mixtral-8x22b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.90, output_cost_per_mil_tokens: 0.90, - displayName: "cognitivecomputations/dolphin-mixtral-8x22b", + displayName: "Dolphin Mixtral 8x22B", }, "jondurbin/airoboros-l2-70b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.50, output_cost_per_mil_tokens: 0.50, - displayName: "jondurbin/airoboros-l2-70b", + displayName: "Airoboros L2 70B", }, "lzlv_70b": { format: "openai", @@ -1221,97 +1221,111 @@ export const AvailableModels: { [name: string]: ModelSpec } = { flavor: "chat", input_cost_per_mil_tokens: 0.17, output_cost_per_mil_tokens: 0.17, - displayName: "nousresearch/nous-hermes-llama2-13b", + displayName: "Nous Hermes Llama2 13B", }, "teknium/openhermes-2.5-mistral-7b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.17, output_cost_per_mil_tokens: 0.17, - displayName: "teknium/openhermes-2.5-mistral-7b", + displayName: "Openhermes2.5 Mistral 7B", }, "sophosympatheia/midnight-rose-70b": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.80, output_cost_per_mil_tokens: 0.80, - displayName: "sophosympatheia/midnight-rose-70b", + displayName: "Midnight Rose 70B", }, "Sao10K/L3-8B-Stheno-v3.2": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.05, output_cost_per_mil_tokens: 0.05, - displayName: "Sao10K/L3-8B-Stheno-v3.2", + displayName: "L3 8B Stheno V3.2", }, "sao10k/l3-8b-lunaris": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.05, output_cost_per_mil_tokens: 0.05, - displayName: "sao10k/l3-8b-lunaris", + displayName: "Sao10k L3 8B Lunaris", }, "qwen/qwen-2-vl-72b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.45, output_cost_per_mil_tokens: 0.45, - displayName: "qwen/qwen-2-vl-72b-instruct", + displayName: "Qwen 2 VL 72B Instruct", }, "meta-llama/llama-3.2-1b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.02, output_cost_per_mil_tokens: 0.02, - displayName: "meta-llama/llama-3.2-1b-instruct", + displayName: "Llama 3.2 1B Instruct", }, "meta-llama/llama-3.2-11b-vision-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.06, output_cost_per_mil_tokens: 0.06, - displayName: "meta-llama/llama-3.2-11b-vision-instruct", + displayName: "Llama 3.2 11B Vision Instruct", }, "meta-llama/llama-3.2-3b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.03, output_cost_per_mil_tokens: 0.05, - displayName: "meta-llama/llama-3.2-3b-instruct", + displayName: "Llama 3.2 3B Instruct", }, "meta-llama/llama-3.1-8b-instruct-bf16": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.06, output_cost_per_mil_tokens: 0.06, - displayName: "meta-llama/llama-3.1-8b-instruct-bf16", + displayName: "Llama 3.1 8B Instruct BF16", }, "qwen/qwen-2.5-72b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.38, output_cost_per_mil_tokens: 0.40, - displayName: "qwen/qwen-2.5-72b-instruct", + displayName: "Qwen 2.5 72B Instruct", }, "sao10k/l31-70b-euryale-v2.2": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 1.48, output_cost_per_mil_tokens: 1.48, - displayName: "sao10k/l31-70b-euryale-v2.2", + displayName: "L31 70B Euryale V2.2", }, "qwen/qwen-2-7b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.054, output_cost_per_mil_tokens: 0.054, - displayName: "qwen/qwen-2-7b-instruct", + displayName: "Qwen 2 7B Instruct", }, "qwen/qwen-2-72b-instruct": { format: "openai", flavor: "chat", input_cost_per_mil_tokens: 0.34, output_cost_per_mil_tokens: 0.39, - displayName: "qwen/qwen-2-72b-instruct", - } + displayName: "Qwen2 72B Instruct", + }, + "deepseek/deepseek-r1": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 4.0, + output_cost_per_mil_tokens: 4.0, + displayName: "DeepSeek R1", + }, + "deepseek/deepseek_v3": { + format: "openai", + flavor: "chat", + input_cost_per_mil_tokens: 0.89, + output_cost_per_mil_tokens: 0.89, + displayName: "DeepSeek V3", + }, };