diff --git a/relay/channel/gemini/relay-gemini.go b/relay/channel/gemini/relay-gemini.go index 6134b123..2041d8e7 100644 --- a/relay/channel/gemini/relay-gemini.go +++ b/relay/channel/gemini/relay-gemini.go @@ -56,30 +56,12 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest) (*GeminiChatReque googleSearch = true continue } - // Ensure parameters has non-empty properties if tool.Function.Parameters != nil { params, ok := tool.Function.Parameters.(map[string]interface{}) if ok { if props, hasProps := params["properties"].(map[string]interface{}); hasProps { if len(props) == 0 { - // Add an empty property if no parameters needed - params["properties"] = map[string]interface{}{ - "_": map[string]interface{}{ - "type": "string", - "description": "No parameters needed", - }, - } - // Update required field to match the property - params["required"] = []string{"_"} - } else { - // If properties exist, ensure required field matches existing properties - existingProps := make([]string, 0) - for propName := range props { - existingProps = append(existingProps, propName) - } - if len(existingProps) > 0 { - params["required"] = []string{existingProps[0]} - } + tool.Function.Parameters = nil } } } @@ -105,7 +87,6 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest) (*GeminiChatReque }, } } - if textRequest.ResponseFormat != nil && (textRequest.ResponseFormat.Type == "json_schema" || textRequest.ResponseFormat.Type == "json_object") { geminiRequest.GenerationConfig.ResponseMimeType = "application/json"