fix: resolve race condition in processChannelRelayError and update API version handling for gemini-2.0-flash-exp

This commit is contained in:
Laisky.Cai
2024-12-15 02:06:35 +00:00
parent c76ac9043d
commit 33493aa8b3
2 changed files with 14 additions and 7 deletions

View File

@@ -24,7 +24,12 @@ func (a *Adaptor) Init(meta *meta.Meta) {
}
func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) {
version := helper.AssignOrDefault(meta.Config.APIVersion, config.GeminiVersion)
defaultVersion := config.GeminiVersion
if meta.ActualModelName == "gemini-2.0-flash-exp" {
defaultVersion = "v1beta"
}
version := helper.AssignOrDefault(meta.Config.APIVersion, defaultVersion)
action := ""
switch meta.Mode {
case relaymode.Embeddings:
@@ -34,7 +39,11 @@ func (a *Adaptor) GetRequestURL(meta *meta.Meta) (string, error) {
}
if meta.IsStream {
action = "streamGenerateContent?alt=sse"
if version == "v1" {
action = "streamGenerateContent?alt=sse"
} else {
action = "streamGenerateContent"
}
}
return fmt.Sprintf("%s/%s/models/%s:%s?key=%s", meta.BaseURL, version, meta.ActualModelName, action, meta.APIKey), nil
}