mirror of
https://github.com/alibaba/higress.git
synced 2026-05-27 22:27:29 +08:00
support gemini & claude domain setting (#3638)
This commit is contained in:
@@ -476,6 +476,9 @@ type ProviderConfig struct {
|
||||
// @Title zh-CN 合并连续同角色消息
|
||||
// @Description zh-CN 开启后,若请求的 messages 中存在连续的同角色消息(如连续两条 user 消息),将其内容合并为一条,以满足要求严格轮流交替(user→assistant→user→...)的模型服务商的要求。
|
||||
mergeConsecutiveMessages bool `required:"false" yaml:"mergeConsecutiveMessages" json:"mergeConsecutiveMessages"`
|
||||
// @Title zh-CN 通用 Provider 域名
|
||||
// @Description zh-CN 通用的 Provider 服务域名配置,适用于所有 Provider。当配置此字段时,将优先使用此域名覆盖默认的硬编码域名。常用于代理服务器场景
|
||||
providerDomain string `required:"false" yaml:"providerDomain" json:"providerDomain"`
|
||||
// @Title zh-CN 空内容时提升思考为正文
|
||||
// @Description zh-CN 开启后,若模型响应只包含 reasoning_content/thinking 而没有正文内容,将 reasoning 内容提升为正文内容返回,避免客户端收到空回复。
|
||||
promoteThinkingOnEmpty bool `required:"false" yaml:"promoteThinkingOnEmpty" json:"promoteThinkingOnEmpty"`
|
||||
@@ -496,6 +499,20 @@ func (c *ProviderConfig) GetProtocol() string {
|
||||
return c.protocol
|
||||
}
|
||||
|
||||
// resolveDomain resolves the domain to use based on priority:
|
||||
// 1. providerDomain (generic override for all providers)
|
||||
// 2. provider-specific domain config (e.g., geminiDomain, doubaoDomain)
|
||||
// 3. default hardcoded domain
|
||||
func (c *ProviderConfig) resolveDomain(providerSpecificDomain, defaultDomain string) string {
|
||||
if c.providerDomain != "" {
|
||||
return c.providerDomain
|
||||
}
|
||||
if providerSpecificDomain != "" {
|
||||
return providerSpecificDomain
|
||||
}
|
||||
return defaultDomain
|
||||
}
|
||||
|
||||
func (c *ProviderConfig) GetVllmCustomUrl() string {
|
||||
return c.vllmCustomUrl
|
||||
}
|
||||
@@ -707,6 +724,7 @@ func (c *ProviderConfig) FromJson(json gjson.Result) {
|
||||
}
|
||||
}
|
||||
c.mergeConsecutiveMessages = json.Get("mergeConsecutiveMessages").Bool()
|
||||
c.providerDomain = json.Get("providerDomain").String()
|
||||
c.promoteThinkingOnEmpty = json.Get("promoteThinkingOnEmpty").Bool()
|
||||
c.hiclawMode = json.Get("hiclawMode").Bool()
|
||||
if c.hiclawMode {
|
||||
|
||||
Reference in New Issue
Block a user