diff --git a/relay/adaptor/vertexai/adaptor.go b/relay/adaptor/vertexai/adaptor.go index cf5d4c48..3fab4a45 100644 --- a/relay/adaptor/vertexai/adaptor.go +++ b/relay/adaptor/vertexai/adaptor.go @@ -63,20 +63,36 @@ func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) { suffix := "" if strings.HasPrefix(meta.ActualModelName, "gemini") { if meta.IsStream { - suffix = "streamGenerateContent" + suffix = "streamGenerateContent?alt=sse" } else { suffix = "generateContent" } } else { if meta.IsStream { - suffix = "streamRawPredict" + suffix = "streamRawPredict?alt=sse" } else { suffix = "rawPredict" } } - baseUrl := fmt.Sprintf("https://%s-aiplatform.googleapis.com/v1/projects/%s/locations/%s/publishers/google/models/%s:%s", meta.Config.Region, meta.Config.VertexAIProjectID, meta.Config.Region, meta.ActualModelName, suffix) - return baseUrl, nil + if meta.BaseURL != "" { + return fmt.Sprintf( + "%s/v1/projects/%s/locations/%s/publishers/google/models/%s:%s", + meta.BaseURL, + meta.Config.VertexAIProjectID, + meta.Config.Region, + meta.ActualModelName, + suffix, + ), nil + } + return fmt.Sprintf( + "https://%s-aiplatform.googleapis.com/v1/projects/%s/locations/%s/publishers/google/models/%s:%s", + meta.Config.Region, + meta.Config.VertexAIProjectID, + meta.Config.Region, + meta.ActualModelName, + suffix, + ), nil } func (a *Adaptor) SetupRequestHeader(c *gin.Context, req *http.Request, meta *meta.Meta) error { diff --git a/relay/adaptor/vertexai/claude/adapter.go b/relay/adaptor/vertexai/claude/adapter.go index aab39864..b39e2dda 100644 --- a/relay/adaptor/vertexai/claude/adapter.go +++ b/relay/adaptor/vertexai/claude/adapter.go @@ -31,6 +31,7 @@ func (a *Adaptor) ConvertRequest(c *gin.Context, relayMode int, request *model.G AnthropicVersion: anthropicVersion, // Model: claudeReq.Model, Messages: claudeReq.Messages, + System: claudeReq.System, MaxTokens: claudeReq.MaxTokens, Temperature: claudeReq.Temperature, TopP: claudeReq.TopP,