diff --git a/relay/adaptor/gemini/main.go b/relay/adaptor/gemini/main.go index 3d0fe901..9270e7f7 100644 --- a/relay/adaptor/gemini/main.go +++ b/relay/adaptor/gemini/main.go @@ -93,22 +93,13 @@ func ConvertRequest(textRequest model.GeneralOpenAIRequest) *ChatRequest { } } if textRequest.Tools != nil { - functions := make([]model.Function, 0, len(textRequest.Tools)) - for _, tool := range textRequest.Tools { - functions = append(functions, tool.Function) - } - geminiRequest.Tools = []ChatTools{ - { - FunctionDeclarations: functions, - }, - } - } else if textRequest.Functions != nil { - geminiRequest.Tools = []ChatTools{ - { - FunctionDeclarations: textRequest.Functions, - }, - } + geminiRequest.Tools = textRequest.Tools } + + if textRequest.Functions != nil { + geminiRequest.Tools = textRequest.Functions + } + shouldAddDummyModelMessage := false for _, message := range textRequest.Messages { content := ChatContent{ diff --git a/relay/adaptor/gemini/model.go b/relay/adaptor/gemini/model.go index 8fd96622..0218766a 100644 --- a/relay/adaptor/gemini/model.go +++ b/relay/adaptor/gemini/model.go @@ -4,7 +4,7 @@ type ChatRequest struct { Contents []ChatContent `json:"contents"` SafetySettings []ChatSafetySettings `json:"safety_settings,omitempty"` GenerationConfig ChatGenerationConfig `json:"generation_config,omitempty"` - Tools []ChatTools `json:"tools,omitempty"` + Tools interface{} `json:"tools,omitempty"` SystemInstruction *ChatContent `json:"system_instruction,omitempty"` }