diff --git a/th3ist.go b/th3ist.go index 49e5e71..2236b29 100644 --- a/th3ist.go +++ b/th3ist.go @@ -117,6 +117,7 @@ type ChatCompletionRequest struct { MaxCompletionTokens int `json:"max_completion_tokens"` Temperature *float64 `json:"temperature,omitempty"` TopP *float64 `json:"top_p,omitempty"` + ReasoningEffort string `json:"reasoning_effort,omitempty"` } type ChatCompletionResponseChoice struct { @@ -2418,6 +2419,11 @@ func (g *T3Gateway) HandleChatCompletions(w http.ResponseWriter, r *http.Request }) } + effReasoningEffort := "low" + if req.ReasoningEffort != "" { + effReasoningEffort = req.ReasoningEffort + } + t3Payload := T3ChatPayload{ Messages: t3Messages, ThreadMetadata: T3ThreadMetadata{ @@ -2431,7 +2437,7 @@ func (g *T3Gateway) HandleChatCompletions(w http.ResponseWriter, r *http.Request Model: modelName, ConvexSessionID: sessionID, ModelParams: T3ModelParams{ - ReasoningEffort: "low", + ReasoningEffort: effReasoningEffort, IncludeSearch: false, SearchLimit: 1, }, @@ -2440,7 +2446,7 @@ func (g *T3Gateway) HandleChatCompletions(w http.ResponseWriter, r *http.Request CreationTime: nowMs, CurrentModelParameters: T3UserConfigParams{ IncludeSearch: false, - ReasoningEffort: "low", + ReasoningEffort: effReasoningEffort, }, CurrentlySelectedModel: modelName, LatestTOSDate: int64(nowMs),