diff --git a/dto/gemini.go b/dto/gemini.go index d9d153374..03e0671fd 100644 --- a/dto/gemini.go +++ b/dto/gemini.go @@ -182,8 +182,12 @@ type FunctionCall struct { } type GeminiFunctionResponse struct { - Name string `json:"name"` - Response map[string]interface{} `json:"response"` + Name string `json:"name"` + Response map[string]interface{} `json:"response"` + WillContinue json.RawMessage `json:"willContinue,omitempty"` + Scheduling json.RawMessage `json:"scheduling,omitempty"` + Parts json.RawMessage `json:"parts,omitempty"` + ID json.RawMessage `json:"id,omitempty"` } type GeminiPartExecutableCode struct { @@ -206,6 +210,7 @@ type GeminiPart struct { Thought bool `json:"thought,omitempty"` InlineData *GeminiInlineData `json:"inlineData,omitempty"` FunctionCall *FunctionCall `json:"functionCall,omitempty"` + ThoughtSignature json.RawMessage `json:"thoughtSignature,omitempty"` FunctionResponse *GeminiFunctionResponse `json:"functionResponse,omitempty"` FileData *GeminiFileData `json:"fileData,omitempty"` ExecutableCode *GeminiPartExecutableCode `json:"executableCode,omitempty"` diff --git a/relay/channel/gemini/constant.go b/relay/channel/gemini/constant.go index 2c972e37d..4bddc7ba3 100644 --- a/relay/channel/gemini/constant.go +++ b/relay/channel/gemini/constant.go @@ -8,6 +8,7 @@ var ModelList = []string{ "gemini-1.5-pro-latest", "gemini-1.5-flash-latest", // preview version "gemini-2.0-flash-lite-preview", + "gemini-3-pro-preview", // gemini exp "gemini-exp-1206", // flash exp