[{"id":"thinking_valves","user_id":"e1491f4c-c762-4886-87a4-1dda2db4fcd8","name":"Thinking valves","type":"filter","content":"from pydantic import BaseModel, Field\nfrom typing import Optional\nimport logging\n\n\nclass Filter:\n    class UserValves(BaseModel):\n        enable_thinking: bool = Field(\n            default=True,\n            description=\"Enable thinking\",\n        )\n        enable_thinking_preserve: bool = Field(\n            default=True,\n            description=\"Enable thinking preserve\",\n        )\n        thinking_budget: int = Field(\n            default=38912,\n            description=\"max reasoning length\",\n        )\n        pass\n\n    def __init__(self):\n        self.valves = self.UserValves()\n        self.logger = logging.getLogger(__name__)\n        pass\n\n    def inlet(self, body: dict, __user__: Optional[dict] = None) -> dict:\n        valves = __user__[\"valves\"]\n\n        if \"chat_template_kwargs\" not in body:\n            body[\"chat_template_kwargs\"] = {}\n\n        body[\"chat_template_kwargs\"][\"enable_thinking\"] = valves.enable_thinking\n        body[\"chat_template_kwargs\"][\n            \"preserve_thinking\"\n        ] = valves.enable_thinking_preserve\n\n        if valves.enable_thinking and valves.thinking_budget > 0:\n            body[\"chat_template_kwargs\"][\"thinking_budget\"] = valves.thinking_budget\n\n        self.logger.info(body[\"chat_template_kwargs\"])\n        return body\n","meta":{"description":"Thinking valves","manifest":{}},"is_active":true,"is_global":false,"updated_at":1776545217,"created_at":1776539251}]