mirror of
https://github.com/langgenius/dify.git
synced 2026-07-21 18:58:35 +08:00
27 lines
1.3 KiB
Python
27 lines
1.3 KiB
Python
from typing import Any
|
|
|
|
from sqlalchemy.orm import Session
|
|
|
|
from core.app.apps.agent_chat.app_config_manager import AgentChatAppConfigManager
|
|
from core.app.apps.chat.app_config_manager import ChatAppConfigManager
|
|
from core.app.apps.completion.app_config_manager import CompletionAppConfigManager
|
|
from models.model import AppMode, AppModelConfigDict
|
|
|
|
|
|
class AppModelConfigService:
|
|
@classmethod
|
|
def validate_configuration(
|
|
cls, tenant_id: str, config: dict[str, Any], app_mode: AppMode, session: Session
|
|
) -> AppModelConfigDict:
|
|
match app_mode:
|
|
case AppMode.CHAT:
|
|
return ChatAppConfigManager.config_validate(tenant_id, config, session)
|
|
case AppMode.AGENT_CHAT:
|
|
return AgentChatAppConfigManager.config_validate(tenant_id, config, session)
|
|
case AppMode.COMPLETION:
|
|
return CompletionAppConfigManager.config_validate(tenant_id, config, session)
|
|
case AppMode.WORKFLOW | AppMode.ADVANCED_CHAT | AppMode.CHANNEL | AppMode.RAG_PIPELINE | AppMode.AGENT:
|
|
# Agent App presentation features go through AgentAppFeatureConfigService,
|
|
# not this legacy EasyUI model-config validator.
|
|
raise ValueError(f"Invalid app mode: {app_mode}")
|