diff --git a/relay/channel/vertex/adaptor.go b/relay/channel/vertex/adaptor.go index fd592cc0..7ccd3f30 100644 --- a/relay/channel/vertex/adaptor.go +++ b/relay/channel/vertex/adaptor.go @@ -27,6 +27,7 @@ var claudeModelMap = map[string]string{ "claude-3-opus-20240229": "claude-3-opus@20240229", "claude-3-haiku-20240307": "claude-3-haiku@20240307", "claude-3-5-sonnet-20240620": "claude-3-5-sonnet@20240620", + "claude-3-5-sonnet-20241022": "claude-3-5-sonnet-v2@20241022", "claude-3-7-sonnet-20250219": "claude-3-7-sonnet@20250219", } @@ -85,15 +86,16 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) { } else { suffix = "rawPredict" } + model := info.UpstreamModelName if v, ok := claudeModelMap[info.UpstreamModelName]; ok { - info.UpstreamModelName = v + model = v } return fmt.Sprintf( "https://%s-aiplatform.googleapis.com/v1/projects/%s/locations/%s/publishers/anthropic/models/%s:%s", region, adc.ProjectID, region, - info.UpstreamModelName, + model, suffix, ), nil } else if a.RequestMode == RequestModeLlama { @@ -128,6 +130,7 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, info *relaycommon.RelayInfo, re } vertexClaudeReq := copyRequest(claudeReq, anthropicVersion) c.Set("request_model", claudeReq.Model) + info.UpstreamModelName = claudeReq.Model return vertexClaudeReq, nil } else if a.RequestMode == RequestModeGemini { geminiRequest, err := gemini.CovertGemini2OpenAI(*request)