enh: better custom param handling

This commit is contained in:
Timothy Jaeryang Baek 2025-05-29 23:32:14 +04:00
parent 9be22cb637
commit 4371d2c5a5
2 changed files with 30 additions and 0 deletions

View File

@ -671,6 +671,16 @@ def apply_params_to_form_data(form_data, model):
del params[key]
if custom_params:
# Attempt to parse custom_params if they are strings
for key, value in custom_params.items():
if isinstance(value, str):
try:
# Attempt to parse the string as JSON
custom_params[key] = json.loads(value)
except json.JSONDecodeError:
# If it fails, keep the original string
pass
# If custom_params are provided, merge them into params
params = deep_update(params, custom_params)

View File

@ -86,6 +86,16 @@ def apply_model_params_to_body_openai(params: dict, form_data: dict) -> dict:
custom_params = params.pop("custom_params", {})
if custom_params:
# Attempt to parse custom_params if they are strings
for key, value in custom_params.items():
if isinstance(value, str):
try:
# Attempt to parse the string as JSON
custom_params[key] = json.loads(value)
except json.JSONDecodeError:
# If it fails, keep the original string
pass
# If there are custom parameters, we need to apply them first
params = deep_update(params, custom_params)
@ -110,6 +120,16 @@ def apply_model_params_to_body_ollama(params: dict, form_data: dict) -> dict:
custom_params = params.pop("custom_params", {})
if custom_params:
# Attempt to parse custom_params if they are strings
for key, value in custom_params.items():
if isinstance(value, str):
try:
# Attempt to parse the string as JSON
custom_params[key] = json.loads(value)
except json.JSONDecodeError:
# If it fails, keep the original string
pass
# If there are custom parameters, we need to apply them first
params = deep_update(params, custom_params)