# ============================================================================= # 企微IT智能服务台 — 外部系统集成 客户端工厂 # ============================================================================= # 说明:自动化引擎服务层(app.services.automation.*)统一从此处构建外部客户端。 # # 设计: # - 所有构建函数均为 coroutine,返回客户端实例或 None(未配置时)。 # - 底层客户端来自 app.core.clients.*(环境变量 AUTOMATION_* 驱动), # 与 app/integrations/{huorong,lianruan,ragflow}(管理后台 DB 配置)区分, # 避免相互干扰。 # - 返回 None 时,引擎自动降级(关键词兜底 / EHR 兜底 / 转人工)。 # # 调用约定(保持与现有服务层一致): # build_huorong_client(db, audit) / build_lianruan_client(db, audit) # build_dify_client(audit) / build_ehr_client(audit) / build_ragflow_client(audit) # ============================================================================= from __future__ import annotations from typing import Any, Optional from app.core.clients.dify import get_dify_client from app.core.clients.ehr import get_ehr_client from app.core.clients.huorong import get_huorong_client from app.core.clients.lianruan import get_lianruan_client from app.core.clients.ragflow import get_ragflow_client async def build_huorong_client(db: Any = None, audit: Any = None) -> Optional[Any]: """构建火绒客户端(未配置返回 None)。""" return await get_huorong_client(audit=audit) async def build_lianruan_client(db: Any = None, audit: Any = None) -> Optional[Any]: """构建联软客户端(未配置返回 None)。""" return await get_lianruan_client(db=db, audit=audit) async def build_dify_client(audit: Any = None) -> Optional[Any]: """构建 Dify 意图识别客户端(未配置返回 None)。""" return await get_dify_client(audit=audit) async def build_ehr_client(audit: Any = None) -> Optional[Any]: """构建北森 EHR 兜底客户端(未配置返回 None)。""" return await get_ehr_client(audit=audit) async def build_ragflow_client(audit: Any = None) -> Optional[Any]: """构建 RAGFlow 知识检索客户端(未配置返回 None)。""" return await get_ragflow_client(audit=audit) __all__ = [ "build_huorong_client", "build_lianruan_client", "build_dify_client", "build_ehr_client", "build_ragflow_client", ]