ead5f83bee
dependencies.py 拆分为 dependencies/ 包; 新增 vision/ragflow_ingestion/neo4j 客户端与 h5_ai_task; alembic 045 图置信度迁移; 响应契约统一收尾。
61 lines
2.4 KiB
Python
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",
|
|
]
|