feat: 支持 xAI 网络搜索
This commit is contained in:
@@ -55,6 +55,7 @@ type GeneralOpenAIRequest struct {
|
|||||||
EnableThinking any `json:"enable_thinking,omitempty"` // ali
|
EnableThinking any `json:"enable_thinking,omitempty"` // ali
|
||||||
THINKING json.RawMessage `json:"thinking,omitempty"` // doubao
|
THINKING json.RawMessage `json:"thinking,omitempty"` // doubao
|
||||||
ExtraBody json.RawMessage `json:"extra_body,omitempty"`
|
ExtraBody json.RawMessage `json:"extra_body,omitempty"`
|
||||||
|
SearchParameters any `json:"search_parameters,omitempty"` //xai
|
||||||
WebSearchOptions *WebSearchOptions `json:"web_search_options,omitempty"`
|
WebSearchOptions *WebSearchOptions `json:"web_search_options,omitempty"`
|
||||||
// OpenRouter Params
|
// OpenRouter Params
|
||||||
Usage json.RawMessage `json:"usage,omitempty"`
|
Usage json.RawMessage `json:"usage,omitempty"`
|
||||||
|
|||||||
@@ -56,6 +56,15 @@ func (a *Adaptor) ConvertOpenAIRequest(c *gin.Context, info *relaycommon.RelayIn
|
|||||||
if request == nil {
|
if request == nil {
|
||||||
return nil, errors.New("request is nil")
|
return nil, errors.New("request is nil")
|
||||||
}
|
}
|
||||||
|
if strings.HasSuffix(info.UpstreamModelName, "-search") {
|
||||||
|
info.UpstreamModelName = strings.TrimSuffix(info.UpstreamModelName, "-search")
|
||||||
|
request.Model = info.UpstreamModelName
|
||||||
|
toMap := request.ToMap()
|
||||||
|
toMap["search_parameters"] = map[string]any{
|
||||||
|
"mode": "on",
|
||||||
|
}
|
||||||
|
return toMap, nil
|
||||||
|
}
|
||||||
if strings.HasPrefix(request.Model, "grok-3-mini") {
|
if strings.HasPrefix(request.Model, "grok-3-mini") {
|
||||||
if request.MaxCompletionTokens == 0 && request.MaxTokens != 0 {
|
if request.MaxCompletionTokens == 0 && request.MaxTokens != 0 {
|
||||||
request.MaxCompletionTokens = request.MaxTokens
|
request.MaxCompletionTokens = request.MaxTokens
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package xai
|
package xai
|
||||||
|
|
||||||
var ModelList = []string{
|
var ModelList = []string{
|
||||||
|
// grok-4
|
||||||
|
"grok-4", "grok-4-0709", "grok-4-0709-search",
|
||||||
// grok-3
|
// grok-3
|
||||||
"grok-3-beta", "grok-3-mini-beta",
|
"grok-3-beta", "grok-3-mini-beta",
|
||||||
// grok-3 mini
|
// grok-3 mini
|
||||||
|
|||||||
Reference in New Issue
Block a user