diff --git a/api/db/joint_services/tenant_model_service.py b/api/db/joint_services/tenant_model_service.py index 1f9d8bfd9b..13c1e711bc 100644 --- a/api/db/joint_services/tenant_model_service.py +++ b/api/db/joint_services/tenant_model_service.py @@ -215,13 +215,15 @@ def get_model_config_from_provider_instance(tenant_id, model_type: str|enum.Enum if model_obj.status == ActiveStatusEnum.INACTIVE.value: raise LookupError(f"Model {model_name} is disabled.") + model_extra = json.loads(model_obj.extra) if model_obj.extra else {} model_config = { "llm_factory": provider_obj.provider_name, "api_key": api_key, "llm_name": model_obj.model_name, "api_base": extra_fields.get("base_url", ""), "model_type": model_obj.model_type, - "is_tools": extra_fields.get("is_tools", is_tool) + "is_tools": extra_fields.get("is_tools", is_tool), + "max_tokens": model_extra.get("max_tokens", 8192), } if api_key_payload is not None: model_config["api_key_payload"] = api_key_payload @@ -248,7 +250,8 @@ def get_model_config_from_provider_instance(tenant_id, model_type: str|enum.Enum "llm_name": llm_info["llm_name"], "api_base": extra_fields.get("base_url", ""), "model_type": model_type_val, - "is_tools": llm_info.get("is_tools", is_tool) + "is_tools": llm_info.get("is_tools", is_tool), + "max_tokens": llm_info.get("max_tokens", 8192), } if api_key_payload is not None: model_config["api_key_payload"] = api_key_payload