mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-06-01 13:40:54 +08:00
feat: unify llm thinking level controls
This commit is contained in:
@@ -57,7 +57,9 @@ class LlmTestRequest(BaseModel):
|
||||
enabled: Optional[bool] = None
|
||||
provider: Optional[str] = None
|
||||
model: Optional[str] = None
|
||||
thinking_level: Optional[str] = None
|
||||
disable_thinking: Optional[bool] = None
|
||||
reasoning_effort: Optional[str] = None
|
||||
api_key: Optional[str] = None
|
||||
base_url: Optional[str] = None
|
||||
|
||||
@@ -308,7 +310,13 @@ def _build_llm_test_snapshot(payload: Optional[LlmTestRequest] = None) -> dict[s
|
||||
"""
|
||||
provider = settings.LLM_PROVIDER
|
||||
model = settings.LLM_MODEL
|
||||
thinking_level = _normalize_llm_test_value(
|
||||
getattr(settings, "LLM_THINKING_LEVEL", None), empty_as_none=True
|
||||
)
|
||||
disable_thinking = bool(getattr(settings, "LLM_DISABLE_THINKING", False))
|
||||
reasoning_effort = _normalize_llm_test_value(
|
||||
getattr(settings, "LLM_REASONING_EFFORT", None), empty_as_none=True
|
||||
)
|
||||
api_key = settings.LLM_API_KEY
|
||||
base_url = settings.LLM_BASE_URL
|
||||
enabled = bool(settings.AI_AGENT_ENABLE)
|
||||
@@ -320,18 +328,32 @@ def _build_llm_test_snapshot(payload: Optional[LlmTestRequest] = None) -> dict[s
|
||||
provider = _normalize_llm_test_value(payload.provider) or ""
|
||||
if payload.model is not None:
|
||||
model = _normalize_llm_test_value(payload.model) or ""
|
||||
if payload.thinking_level is not None:
|
||||
thinking_level = _normalize_llm_test_value(
|
||||
payload.thinking_level, empty_as_none=True
|
||||
)
|
||||
if payload.disable_thinking is not None:
|
||||
disable_thinking = bool(payload.disable_thinking)
|
||||
if payload.reasoning_effort is not None:
|
||||
reasoning_effort = _normalize_llm_test_value(
|
||||
payload.reasoning_effort, empty_as_none=True
|
||||
)
|
||||
if payload.api_key is not None:
|
||||
api_key = _normalize_llm_test_value(payload.api_key, empty_as_none=True)
|
||||
if payload.base_url is not None:
|
||||
base_url = _normalize_llm_test_value(payload.base_url, empty_as_none=True)
|
||||
|
||||
if thinking_level is not None:
|
||||
disable_thinking = None
|
||||
reasoning_effort = None
|
||||
|
||||
return {
|
||||
"enabled": enabled,
|
||||
"provider": provider,
|
||||
"model": model,
|
||||
"thinking_level": thinking_level,
|
||||
"disable_thinking": disable_thinking,
|
||||
"reasoning_effort": reasoning_effort,
|
||||
"api_key": api_key,
|
||||
"base_url": base_url,
|
||||
}
|
||||
@@ -760,7 +782,9 @@ async def llm_test(
|
||||
result = await LLMHelper.test_current_settings(
|
||||
provider=snapshot["provider"],
|
||||
model=snapshot["model"],
|
||||
thinking_level=snapshot["thinking_level"],
|
||||
disable_thinking=snapshot["disable_thinking"],
|
||||
reasoning_effort=snapshot["reasoning_effort"],
|
||||
api_key=snapshot["api_key"],
|
||||
base_url=snapshot["base_url"],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user