diff --git a/packages/proxy/schema/index.ts b/packages/proxy/schema/index.ts index 43dbc16a..0b64cb12 100644 --- a/packages/proxy/schema/index.ts +++ b/packages/proxy/schema/index.ts @@ -559,6 +559,7 @@ export const AvailableEndpointTypes: { [name: string]: ModelEndpointType[] } = { "publishers/mistralai/models/mistral-large-2411": ["vertex"], "publishers/mistralai/models/mistral-nemo": ["vertex"], "publishers/mistralai/models/codestral-2501": ["vertex"], + "publishers/qwen/models/qwen3-235b-a22b-instruct-2507-maas": ["vertex"], "publishers/anthropic/models/claude-sonnet-4-5": ["vertex"], "publishers/anthropic/models/claude-sonnet-4-5@20250929": ["vertex"], "publishers/anthropic/models/claude-sonnet-4": ["vertex"], diff --git a/packages/proxy/schema/model_list.json b/packages/proxy/schema/model_list.json index 957c7e60..acf083bc 100644 --- a/packages/proxy/schema/model_list.json +++ b/packages/proxy/schema/model_list.json @@ -4943,6 +4943,16 @@ "max_input_tokens": 262144, "max_output_tokens": 16384 }, + "publishers/qwen/models/qwen3-235b-a22b-instruct-2507-maas": { + "format": "openai", + "flavor": "chat", + "input_cost_per_mil_tokens": 0.22, + "output_cost_per_mil_tokens": 0.88, + "displayName": "Qwen3 235B A22B Instruct 2507", + "max_input_tokens": 262144, + "max_output_tokens": 16384, + "locations": ["global", "us-south1"] + }, "accounts/fireworks/models/deepseek-v3p2": { "format": "openai", "flavor": "chat", diff --git a/packages/proxy/src/proxy.ts b/packages/proxy/src/proxy.ts index a80645e3..721f3db8 100644 --- a/packages/proxy/src/proxy.ts +++ b/packages/proxy/src/proxy.ts @@ -1952,10 +1952,13 @@ async function fetchOpenAI( const location = locations[Math.floor(Math.random() * locations.length)]; const baseURL = getVertexBaseUrl(api_base, location); - if (bodyData?.model?.startsWith("publishers/meta")) { + if ( + bodyData?.model?.startsWith("publishers/meta") || + bodyData?.model?.startsWith("publishers/qwen") + ) { // Use the OpenAPI endpoint. fullURL = new URL( - `${baseURL}/v1beta1/projects/${project}/locations/${location}/endpoints/openapi/chat/completions`, + `${baseURL}/v1/projects/${project}/locations/${location}/endpoints/openapi/chat/completions`, ); bodyData.model = bodyData.model.replace( /^publishers\/(\w+)\/models\//,