address comment

This commit is contained in:
Eva Ho
2025-11-11 08:58:55 -05:00
parent 9d615cdaa0
commit 2a9b61f099
2 changed files with 8 additions and 20 deletions

View File

@@ -205,6 +205,13 @@ export async function* sendMessage(
data: uint8ArrayToBase64(att.data), data: uint8ArrayToBase64(att.data),
})); }));
// Only send think parameter when actually requesting thinking
// Don't send false as it causes issues with some providers
const shouldSendThink =
think !== undefined &&
((typeof think === "boolean" && think) ||
(typeof think === "string" && think !== ""));
const response = await fetch(`${API_BASE}/api/v1/chat/${chatId}`, { const response = await fetch(`${API_BASE}/api/v1/chat/${chatId}`, {
method: "POST", method: "POST",
headers: { headers: {
@@ -222,7 +229,7 @@ export async function* sendMessage(
web_search: webSearch ?? false, web_search: webSearch ?? false,
file_tools: fileTools ?? false, file_tools: fileTools ?? false,
...(forceUpdate !== undefined ? { forceUpdate } : {}), ...(forceUpdate !== undefined ? { forceUpdate } : {}),
...(think !== undefined ? { think } : {}), ...(shouldSendThink ? { think } : {}),
}), }),
), ),
signal, signal,

View File

@@ -782,25 +782,6 @@ func (s *Server) chat(w http.ResponseWriter, r *http.Request) error {
var thinkValue any var thinkValue any
if req.Think != nil { if req.Think != nil {
// Validate that the model supports thinking if requested
thinkRequested := false
switch v := req.Think.(type) {
case bool:
thinkRequested = v
case string:
thinkRequested = v != "" && v != "none"
}
if thinkRequested && !think {
errorEvent := responses.ErrorEvent{
EventName: "error",
Error: fmt.Sprintf("Model %q does not support thinking/reasoning", req.Model),
Code: "model_capability_error",
}
json.NewEncoder(w).Encode(errorEvent)
flusher.Flush()
return nil
}
thinkValue = req.Think thinkValue = req.Think
} else { } else {
thinkValue = think thinkValue = think