|
|
@@ -45,13 +45,25 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest) *GeminiChatReques
|
|
|
}
|
|
|
if textRequest.Tools != nil {
|
|
|
functions := make([]dto.FunctionCall, 0, len(textRequest.Tools))
|
|
|
+ googleSearch := false
|
|
|
for _, tool := range textRequest.Tools {
|
|
|
+ if tool.Function.Name == "googleSearch" {
|
|
|
+ googleSearch = true
|
|
|
+ continue
|
|
|
+ }
|
|
|
functions = append(functions, tool.Function)
|
|
|
}
|
|
|
- geminiRequest.Tools = []GeminiChatTools{
|
|
|
- {
|
|
|
- FunctionDeclarations: functions,
|
|
|
- },
|
|
|
+ if len(functions) > 0 {
|
|
|
+ geminiRequest.Tools = []GeminiChatTools{
|
|
|
+ {
|
|
|
+ FunctionDeclarations: functions,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if googleSearch {
|
|
|
+ geminiRequest.Tools = append(geminiRequest.Tools, GeminiChatTools{
|
|
|
+ GoogleSearch: make(map[string]string),
|
|
|
+ })
|
|
|
}
|
|
|
} else if textRequest.Functions != nil {
|
|
|
geminiRequest.Tools = []GeminiChatTools{
|
|
|
@@ -134,7 +146,6 @@ func CovertGemini2OpenAI(textRequest dto.GeneralOpenAIRequest) *GeminiChatReques
|
|
|
shouldAddDummyModelMessage = false
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return &geminiRequest
|
|
|
}
|
|
|
|