Merge remote-tracking branch 'origin/main' into ui/refactor
This commit is contained in:
@@ -119,8 +119,11 @@ func FetchUpstreamModels(c *gin.Context) {
|
|||||||
baseURL = channel.GetBaseURL()
|
baseURL = channel.GetBaseURL()
|
||||||
}
|
}
|
||||||
url := fmt.Sprintf("%s/v1/models", baseURL)
|
url := fmt.Sprintf("%s/v1/models", baseURL)
|
||||||
if channel.Type == common.ChannelTypeGemini {
|
switch channel.Type {
|
||||||
|
case common.ChannelTypeGemini:
|
||||||
url = fmt.Sprintf("%s/v1beta/openai/models", baseURL)
|
url = fmt.Sprintf("%s/v1beta/openai/models", baseURL)
|
||||||
|
case common.ChannelTypeAli:
|
||||||
|
url = fmt.Sprintf("%s/compatible-mode/v1/models", baseURL)
|
||||||
}
|
}
|
||||||
body, err := GetResponseBody("GET", url, channel, GetAuthHeader(channel.Key))
|
body, err := GetResponseBody("GET", url, channel, GetAuthHeader(channel.Key))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ type GeneralOpenAIRequest struct {
|
|||||||
ResponseFormat *ResponseFormat `json:"response_format,omitempty"`
|
ResponseFormat *ResponseFormat `json:"response_format,omitempty"`
|
||||||
EncodingFormat any `json:"encoding_format,omitempty"`
|
EncodingFormat any `json:"encoding_format,omitempty"`
|
||||||
Seed float64 `json:"seed,omitempty"`
|
Seed float64 `json:"seed,omitempty"`
|
||||||
|
ParallelTooCalls bool `json:"parallel_tool_calls,omitempty"`
|
||||||
Tools []ToolCallRequest `json:"tools,omitempty"`
|
Tools []ToolCallRequest `json:"tools,omitempty"`
|
||||||
ToolChoice any `json:"tool_choice,omitempty"`
|
ToolChoice any `json:"tool_choice,omitempty"`
|
||||||
User string `json:"user,omitempty"`
|
User string `json:"user,omitempty"`
|
||||||
|
|||||||
@@ -95,14 +95,23 @@ func (a *Adaptor) GetRequestURL(info *relaycommon.RelayInfo) (string, error) {
|
|||||||
} else {
|
} else {
|
||||||
suffix = "generateContent"
|
suffix = "generateContent"
|
||||||
}
|
}
|
||||||
return fmt.Sprintf(
|
if region == "global" {
|
||||||
"https://%s-aiplatform.googleapis.com/v1/projects/%s/locations/%s/publishers/google/models/%s:%s",
|
return fmt.Sprintf(
|
||||||
region,
|
"https://aiplatform.googleapis.com/v1/projects/%s/locations/global/publishers/google/models/%s:%s",
|
||||||
adc.ProjectID,
|
adc.ProjectID,
|
||||||
region,
|
info.UpstreamModelName,
|
||||||
info.UpstreamModelName,
|
suffix,
|
||||||
suffix,
|
), nil
|
||||||
), nil
|
} else {
|
||||||
|
return fmt.Sprintf(
|
||||||
|
"https://%s-aiplatform.googleapis.com/v1/projects/%s/locations/%s/publishers/google/models/%s:%s",
|
||||||
|
region,
|
||||||
|
adc.ProjectID,
|
||||||
|
region,
|
||||||
|
info.UpstreamModelName,
|
||||||
|
suffix,
|
||||||
|
), nil
|
||||||
|
}
|
||||||
} else if a.RequestMode == RequestModeClaude {
|
} else if a.RequestMode == RequestModeClaude {
|
||||||
if info.IsStream {
|
if info.IsStream {
|
||||||
suffix = "streamRawPredict?alt=sse"
|
suffix = "streamRawPredict?alt=sse"
|
||||||
|
|||||||
Reference in New Issue
Block a user