From 7fed66d58454883bebac75a9cc74c9d451d27aad Mon Sep 17 00:00:00 2001 From: longkeyy Date: Tue, 25 Feb 2025 18:07:37 +0800 Subject: [PATCH] feat: add support claude-3.7-sonnet --- relay/adaptor/anthropic/constants.go | 2 + relay/adaptor/aws/claude/main.go | 1 + relay/adaptor/openrouter/constants.go | 152 ++++++++++++----------- relay/adaptor/vertexai/claude/adapter.go | 1 + relay/billing/ratio/model.go | 2 + 5 files changed, 84 insertions(+), 74 deletions(-) diff --git a/relay/adaptor/anthropic/constants.go b/relay/adaptor/anthropic/constants.go index 9b515c1c..5a1e933e 100644 --- a/relay/adaptor/anthropic/constants.go +++ b/relay/adaptor/anthropic/constants.go @@ -10,4 +10,6 @@ var ModelList = []string{ "claude-3-5-sonnet-20240620", "claude-3-5-sonnet-20241022", "claude-3-5-sonnet-latest", + "claude-3-7-sonnet-20250219", + "claude-3-7-sonnet-latest", } diff --git a/relay/adaptor/aws/claude/main.go b/relay/adaptor/aws/claude/main.go index 3fe3dfd8..68ffa049 100644 --- a/relay/adaptor/aws/claude/main.go +++ b/relay/adaptor/aws/claude/main.go @@ -36,6 +36,7 @@ var AwsModelIDMap = map[string]string{ "claude-3-5-sonnet-20241022": "anthropic.claude-3-5-sonnet-20241022-v2:0", "claude-3-5-sonnet-latest": "anthropic.claude-3-5-sonnet-20241022-v2:0", "claude-3-5-haiku-20241022": "anthropic.claude-3-5-haiku-20241022-v1:0", + "claude-3-7-sonnet-20250219": "anthropic.claude-3-7-sonnet-20250219-v1:0", } func awsModelID(requestModel string) (string, error) { diff --git a/relay/adaptor/openrouter/constants.go b/relay/adaptor/openrouter/constants.go index b12fa65c..c5d2caac 100644 --- a/relay/adaptor/openrouter/constants.go +++ b/relay/adaptor/openrouter/constants.go @@ -1,22 +1,34 @@ package openrouter var ModelList = []string{ - "01-ai/yi-large", - "aetherwiing/mn-starcannon-12b", - "ai21/jamba-1-5-large", - "ai21/jamba-1-5-mini", - "ai21/jamba-instruct", - "aion-labs/aion-1.0", - "aion-labs/aion-1.0-mini", - "aion-labs/aion-rp-llama-3.1-8b", - "allenai/llama-3.1-tulu-3-405b", - "alpindale/goliath-120b", - "alpindale/magnum-72b", - "amazon/nova-lite-v1", - "amazon/nova-micro-v1", - "amazon/nova-pro-v1", - "anthracite-org/magnum-v2-72b", - "anthracite-org/magnum-v4-72b", + "openai/gpt-3.5-turbo", + "openai/gpt-3.5-turbo-0125", + "openai/gpt-3.5-turbo-0613", + "openai/gpt-3.5-turbo-1106", + "openai/gpt-3.5-turbo-16k", + "openai/gpt-3.5-turbo-instruct", + "openai/gpt-4", + "openai/gpt-4-0314", + "openai/gpt-4-1106-preview", + "openai/gpt-4-32k", + "openai/gpt-4-32k-0314", + "openai/gpt-4-turbo", + "openai/gpt-4-turbo-preview", + "openai/gpt-4o", + "openai/chatgpt-4o-latest", + "openai/gpt-4o-2024-05-13", + "openai/gpt-4o-2024-08-06", + "openai/gpt-4o-2024-11-20", + "openai/gpt-4o-mini", + "openai/gpt-4o-mini-2024-07-18", + "openai/gpt-4o:extended", + "openai/o1", + "openai/o1-mini", + "openai/o1-mini-2024-09-12", + "openai/o1-preview", + "openai/o1-preview-2024-09-12", + "openai/o3-mini", + "openai/o3-mini-high", "anthropic/claude-2", "anthropic/claude-2.0", "anthropic/claude-2.0:beta", @@ -37,6 +49,51 @@ var ModelList = []string{ "anthropic/claude-3.5-sonnet-20240620", "anthropic/claude-3.5-sonnet-20240620:beta", "anthropic/claude-3.5-sonnet:beta", + "anthropic/claude-3.7-sonnet:beta", + "anthropic/claude-3.7-sonnet", + "google/gemini-2.0-flash-001", + "google/gemini-2.0-flash-exp:free", + "google/gemini-2.0-flash-lite-preview-02-05:free", + "google/gemini-2.0-flash-thinking-exp-1219:free", + "google/gemini-2.0-flash-thinking-exp:free", + "google/gemini-2.0-pro-exp-02-05:free", + "google/gemini-exp-1206:free", + "google/gemini-flash-1.5", + "google/gemini-flash-1.5-8b", + "google/gemini-flash-1.5-8b-exp", + "google/gemini-pro", + "google/gemini-pro-1.5", + "google/gemini-pro-vision", + "google/gemma-2-27b-it", + "google/gemma-2-9b-it", + "google/gemma-2-9b-it:free", + "google/gemma-7b-it", + "google/learnlm-1.5-pro-experimental:free", + "google/palm-2-chat-bison", + "google/palm-2-chat-bison-32k", + "google/palm-2-codechat-bison", + "google/palm-2-codechat-bison-32k", + "x-ai/grok-2-1212", + "x-ai/grok-2-vision-1212", + "x-ai/grok-beta", + "x-ai/grok-2-mini", + "x-ai/grok-vision-beta", + "01-ai/yi-large", + "aetherwiing/mn-starcannon-12b", + "ai21/jamba-1-5-large", + "ai21/jamba-1-5-mini", + "ai21/jamba-instruct", + "aion-labs/aion-1.0", + "aion-labs/aion-1.0-mini", + "aion-labs/aion-rp-llama-3.1-8b", + "allenai/llama-3.1-tulu-3-405b", + "alpindale/goliath-120b", + "alpindale/magnum-72b", + "amazon/nova-lite-v1", + "amazon/nova-micro-v1", + "amazon/nova-pro-v1", + "anthracite-org/magnum-v2-72b", + "anthracite-org/magnum-v4-72b", "cognitivecomputations/dolphin-mixtral-8x22b", "cognitivecomputations/dolphin-mixtral-8x7b", "cohere/command", @@ -62,28 +119,6 @@ var ModelList = []string{ "eva-unit-01/eva-llama-3.33-70b", "eva-unit-01/eva-qwen-2.5-32b", "eva-unit-01/eva-qwen-2.5-72b", - "google/gemini-2.0-flash-001", - "google/gemini-2.0-flash-exp:free", - "google/gemini-2.0-flash-lite-preview-02-05:free", - "google/gemini-2.0-flash-thinking-exp-1219:free", - "google/gemini-2.0-flash-thinking-exp:free", - "google/gemini-2.0-pro-exp-02-05:free", - "google/gemini-exp-1206:free", - "google/gemini-flash-1.5", - "google/gemini-flash-1.5-8b", - "google/gemini-flash-1.5-8b-exp", - "google/gemini-pro", - "google/gemini-pro-1.5", - "google/gemini-pro-vision", - "google/gemma-2-27b-it", - "google/gemma-2-9b-it", - "google/gemma-2-9b-it:free", - "google/gemma-7b-it", - "google/learnlm-1.5-pro-experimental:free", - "google/palm-2-chat-bison", - "google/palm-2-chat-bison-32k", - "google/palm-2-codechat-bison", - "google/palm-2-codechat-bison-32k", "gryphe/mythomax-l2-13b", "gryphe/mythomax-l2-13b:free", "huggingfaceh4/zephyr-7b-beta:free", @@ -158,37 +193,10 @@ var ModelList = []string{ "nousresearch/nous-hermes-llama2-13b", "nvidia/llama-3.1-nemotron-70b-instruct", "nvidia/llama-3.1-nemotron-70b-instruct:free", - "openai/chatgpt-4o-latest", - "openai/gpt-3.5-turbo", - "openai/gpt-3.5-turbo-0125", - "openai/gpt-3.5-turbo-0613", - "openai/gpt-3.5-turbo-1106", - "openai/gpt-3.5-turbo-16k", - "openai/gpt-3.5-turbo-instruct", - "openai/gpt-4", - "openai/gpt-4-0314", - "openai/gpt-4-1106-preview", - "openai/gpt-4-32k", - "openai/gpt-4-32k-0314", - "openai/gpt-4-turbo", - "openai/gpt-4-turbo-preview", - "openai/gpt-4o", - "openai/gpt-4o-2024-05-13", - "openai/gpt-4o-2024-08-06", - "openai/gpt-4o-2024-11-20", - "openai/gpt-4o-mini", - "openai/gpt-4o-mini-2024-07-18", - "openai/gpt-4o:extended", - "openai/o1", - "openai/o1-mini", - "openai/o1-mini-2024-09-12", - "openai/o1-preview", - "openai/o1-preview-2024-09-12", - "openai/o3-mini", - "openai/o3-mini-high", "openchat/openchat-7b", "openchat/openchat-7b:free", "openrouter/auto", + "perplexity/r1-1776", "perplexity/llama-3.1-sonar-huge-128k-online", "perplexity/llama-3.1-sonar-large-128k-chat", "perplexity/llama-3.1-sonar-large-128k-online", @@ -197,6 +205,10 @@ var ModelList = []string{ "perplexity/sonar", "perplexity/sonar-reasoning", "pygmalionai/mythalion-13b", + "qwen/qwen-max", + "qwen/qwen-plus", + "qwen/qwen-turbo", + "qwen/qwen-vl-plus:free", "qwen/qvq-72b-preview", "qwen/qwen-2-72b-instruct", "qwen/qwen-2-7b-instruct", @@ -206,10 +218,6 @@ var ModelList = []string{ "qwen/qwen-2.5-72b-instruct", "qwen/qwen-2.5-7b-instruct", "qwen/qwen-2.5-coder-32b-instruct", - "qwen/qwen-max", - "qwen/qwen-plus", - "qwen/qwen-turbo", - "qwen/qwen-vl-plus:free", "qwen/qwen2.5-vl-72b-instruct:free", "qwen/qwq-32b-preview", "raifle/sorcererlm-8x22b", @@ -227,9 +235,5 @@ var ModelList = []string{ "undi95/remm-slerp-l2-13b", "undi95/toppy-m-7b", "undi95/toppy-m-7b:free", - "x-ai/grok-2-1212", - "x-ai/grok-2-vision-1212", - "x-ai/grok-beta", - "x-ai/grok-vision-beta", "xwin-lm/xwin-lm-70b", } diff --git a/relay/adaptor/vertexai/claude/adapter.go b/relay/adaptor/vertexai/claude/adapter.go index cb911cfe..554ada45 100644 --- a/relay/adaptor/vertexai/claude/adapter.go +++ b/relay/adaptor/vertexai/claude/adapter.go @@ -19,6 +19,7 @@ var ModelList = []string{ "claude-3-5-sonnet@20240620", "claude-3-5-sonnet-v2@20241022", "claude-3-5-haiku@20241022", + "claude-3-7-sonnet@20250219", } const anthropicVersion = "vertex-2023-10-16" diff --git a/relay/billing/ratio/model.go b/relay/billing/ratio/model.go index e8b3b615..94f12a42 100644 --- a/relay/billing/ratio/model.go +++ b/relay/billing/ratio/model.go @@ -99,6 +99,8 @@ var ModelRatio = map[string]float64{ "claude-3-5-sonnet-20241022": 3.0 / 1000 * USD, "claude-3-5-sonnet-latest": 3.0 / 1000 * USD, "claude-3-opus-20240229": 15.0 / 1000 * USD, + "claude-3-7-sonnet-20250219": 3.0 / 1000 * USD, + "claude-3-7-sonnet-latest": 3.0 / 1000 * USD, // https://cloud.baidu.com/doc/WENXINWORKSHOP/s/hlrk4akp7 "ERNIE-4.0-8K": 0.120 * RMB, "ERNIE-3.5-8K": 0.012 * RMB,