feat: add agent response depth control
This commit is contained in:
@@ -30,6 +30,7 @@ from app.services.feishu_service import FeishuKnowledgeService
|
||||
from app.services.knowledge_service import KnowledgeScope
|
||||
from app.services.model_service import ModelClientService
|
||||
from app.services.reasoning_policy_service import ReasoningPolicyService
|
||||
from app.services.response_style_service import ResponseStyleService
|
||||
from app.services.secret_service import MASKED_SECRET, SENSITIVE_CONFIG_KEYS, SecretService
|
||||
|
||||
router = APIRouter()
|
||||
@@ -206,7 +207,7 @@ def get_agent_runtime_config(
|
||||
current_admin: Admin = Depends(get_current_admin),
|
||||
) -> dict:
|
||||
model = _enabled_model(db)
|
||||
return api_success(_agent_runtime_config_dict(model, ReasoningPolicyService.is_visible(db)))
|
||||
return api_success(_agent_runtime_config_dict(model, ReasoningPolicyService.is_visible(db), ResponseStyleService.get_depth(db)))
|
||||
|
||||
|
||||
@router.put("/agent/runtime-config")
|
||||
@@ -230,6 +231,7 @@ def save_agent_runtime_config(
|
||||
model.stream_enabled = payload.streamEnabled
|
||||
db.add(model)
|
||||
ReasoningPolicyService.set_visible(db, payload.reasoningVisible == 1, current_admin.id)
|
||||
ResponseStyleService.set_depth(db, payload.responseDepth, current_admin.id)
|
||||
OperationLogService.write(
|
||||
db,
|
||||
admin_id=current_admin.id,
|
||||
@@ -239,7 +241,7 @@ def save_agent_runtime_config(
|
||||
)
|
||||
db.commit()
|
||||
db.refresh(model)
|
||||
return api_success(_agent_runtime_config_dict(model, ReasoningPolicyService.is_visible(db)))
|
||||
return api_success(_agent_runtime_config_dict(model, ReasoningPolicyService.is_visible(db), ResponseStyleService.get_depth(db)))
|
||||
|
||||
|
||||
@router.get("/model/list")
|
||||
@@ -443,7 +445,7 @@ def _enabled_model(db: Session) -> ModelConfig | None:
|
||||
)
|
||||
|
||||
|
||||
def _agent_runtime_config_dict(model: ModelConfig | None, reasoning_visible: bool = False) -> dict:
|
||||
def _agent_runtime_config_dict(model: ModelConfig | None, reasoning_visible: bool = False, response_depth: int = 35) -> dict:
|
||||
return {
|
||||
"modelId": model.id if model is not None else None,
|
||||
"modelName": (model.display_name or model.model_name) if model is not None else None,
|
||||
@@ -455,6 +457,7 @@ def _agent_runtime_config_dict(model: ModelConfig | None, reasoning_visible: boo
|
||||
"maxToken": model.max_token if model is not None and model.max_token is not None else 8192,
|
||||
"streamEnabled": model.stream_enabled if model is not None else 1,
|
||||
"reasoningVisible": 1 if reasoning_visible else 0,
|
||||
"responseDepth": response_depth,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user