|
|
@@ -141,6 +141,8 @@ func (r *GeminiChatRequest) SetTools(tools []GeminiChatTool) {
|
|
|
type GeminiThinkingConfig struct {
|
|
|
IncludeThoughts bool `json:"includeThoughts,omitempty"`
|
|
|
ThinkingBudget *int `json:"thinkingBudget,omitempty"`
|
|
|
+ // TODO Conflict with thinkingbudget.
|
|
|
+ // ThinkingLevel json.RawMessage `json:"thinkingLevel,omitempty"`
|
|
|
}
|
|
|
|
|
|
func (c *GeminiThinkingConfig) SetThinkingBudget(budget int) {
|
|
|
@@ -206,12 +208,15 @@ type GeminiFileData struct {
|
|
|
}
|
|
|
|
|
|
type GeminiPart struct {
|
|
|
- Text string `json:"text,omitempty"`
|
|
|
- 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"`
|
|
|
+ Text string `json:"text,omitempty"`
|
|
|
+ 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"`
|
|
|
+ // Optional. Media resolution for the input media.
|
|
|
+ MediaResolution json.RawMessage `json:"mediaResolution,omitempty"`
|
|
|
+ VideoMetadata json.RawMessage `json:"videoMetadata,omitempty"`
|
|
|
FileData *GeminiFileData `json:"fileData,omitempty"`
|
|
|
ExecutableCode *GeminiPartExecutableCode `json:"executableCode,omitempty"`
|
|
|
CodeExecutionResult *GeminiPartCodeExecutionResult `json:"codeExecutionResult,omitempty"`
|