mirror of
https://github.com/tiennm99/litellm.git
synced 2026-08-17 04:26:20 +00:00
Merge pull request #15465 from kowyo/kowyo/fix-ollama-think
fix(ollama/chat): correctly map reasoning_effort to think in requests
This commit is contained in:
@@ -184,9 +184,12 @@ class OllamaChatConfig(BaseConfig):
|
||||
):
|
||||
if value.get("json_schema") and value["json_schema"].get("schema"):
|
||||
optional_params["format"] = value["json_schema"]["schema"]
|
||||
### FUNCTION CALLING LOGIC ###
|
||||
if param == "reasoning_effort" and value is not None:
|
||||
optional_params["think"] = True
|
||||
if model.startswith("gpt-oss"):
|
||||
optional_params["think"] = value
|
||||
else:
|
||||
optional_params["think"] = True
|
||||
### FUNCTION CALLING LOGIC ###
|
||||
if param == "tools":
|
||||
## CHECK IF MODEL SUPPORTS TOOL CALLING ##
|
||||
try:
|
||||
@@ -281,6 +284,7 @@ class OllamaChatConfig(BaseConfig):
|
||||
stream = optional_params.pop("stream", False)
|
||||
format = optional_params.pop("format", None)
|
||||
keep_alive = optional_params.pop("keep_alive", None)
|
||||
think = optional_params.pop("think", None)
|
||||
function_name = optional_params.pop("function_name", None)
|
||||
litellm_params["function_name"] = function_name
|
||||
tools = optional_params.pop("tools", None)
|
||||
@@ -344,6 +348,8 @@ class OllamaChatConfig(BaseConfig):
|
||||
data["tools"] = tools
|
||||
if keep_alive is not None:
|
||||
data["keep_alive"] = keep_alive
|
||||
if think is not None:
|
||||
data["think"] = think
|
||||
|
||||
return data
|
||||
|
||||
|
||||
@@ -180,7 +180,10 @@ class OllamaConfig(BaseConfig):
|
||||
elif param == "stop":
|
||||
optional_params["stop"] = value
|
||||
elif param == "reasoning_effort" and value is not None:
|
||||
optional_params["think"] = True
|
||||
if model.startswith("gpt-oss"):
|
||||
optional_params["think"] = value
|
||||
else:
|
||||
optional_params["think"] = True
|
||||
elif param == "response_format" and isinstance(value, dict):
|
||||
if value["type"] == "json_object":
|
||||
optional_params["format"] = "json"
|
||||
@@ -412,6 +415,7 @@ class OllamaConfig(BaseConfig):
|
||||
stream = optional_params.pop("stream", False)
|
||||
format = optional_params.pop("format", None)
|
||||
images = optional_params.pop("images", None)
|
||||
think = optional_params.pop("think", None)
|
||||
data = {
|
||||
"model": model,
|
||||
"prompt": ollama_prompt,
|
||||
@@ -425,6 +429,8 @@ class OllamaConfig(BaseConfig):
|
||||
data["images"] = [
|
||||
_convert_image(convert_to_ollama_image(image)) for image in images
|
||||
]
|
||||
if think is not None:
|
||||
data["think"] = think
|
||||
|
||||
return data
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ def get_ollama_response( # noqa: PLR0915
|
||||
stream = optional_params.pop("stream", False)
|
||||
format = optional_params.pop("format", None)
|
||||
keep_alive = optional_params.pop("keep_alive", None)
|
||||
think = optional_params.pop("think", None)
|
||||
function_name = optional_params.pop("function_name", None)
|
||||
tools = optional_params.pop("tools", None)
|
||||
|
||||
@@ -98,6 +99,8 @@ def get_ollama_response( # noqa: PLR0915
|
||||
data["tools"] = tools
|
||||
if keep_alive is not None:
|
||||
data["keep_alive"] = keep_alive
|
||||
if think is not None:
|
||||
data["think"] = think
|
||||
## LOGGING
|
||||
logging_obj.pre_call(
|
||||
input=None,
|
||||
|
||||
Reference in New Issue
Block a user