Files
wecom_it_smart_desk/backend/app/integrations/factory.py
T
Simon ead5f83bee feat(backend): knowledge iteration + vision + neo4j + response contract source
dependencies.py 拆分为 dependencies/ 包; 新增 vision/ragflow_ingestion/neo4j 客户端与 h5_ai_task; alembic 045 图置信度迁移; 响应契约统一收尾。
2026-07-09 11:47:16 +08:00

61 lines
2.4 KiB
Python

# =============================================================================
# 企微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",
]