2026-07-27 14:28:07 +08:00
|
|
|
|
from typing import Optional, Union
|
2026-07-21 15:43:39 +08:00
|
|
|
|
from volcenginesdkarkruntime import AsyncArk
|
2026-07-27 14:28:07 +08:00
|
|
|
|
from openai import AsyncOpenAI
|
2026-07-21 15:43:39 +08:00
|
|
|
|
|
|
|
|
|
|
_ark_client: Optional[AsyncArk] = None
|
2026-07-27 14:28:07 +08:00
|
|
|
|
_aicc_client: Optional[AsyncOpenAI] = None
|
|
|
|
|
|
_is_aicc: bool = False
|
2026-07-21 15:43:39 +08:00
|
|
|
|
|
|
|
|
|
|
def set_ark_client(client: AsyncArk):
|
|
|
|
|
|
global _ark_client
|
|
|
|
|
|
_ark_client = client
|
|
|
|
|
|
|
|
|
|
|
|
def get_ark_client() -> Optional[AsyncArk]:
|
|
|
|
|
|
return _ark_client
|
|
|
|
|
|
|
2026-07-27 14:28:07 +08:00
|
|
|
|
def set_aicc_client(client: AsyncOpenAI):
|
|
|
|
|
|
global _aicc_client
|
|
|
|
|
|
_aicc_client = client
|
|
|
|
|
|
|
|
|
|
|
|
def get_aicc_client() -> Optional[AsyncOpenAI]:
|
|
|
|
|
|
return _aicc_client
|
|
|
|
|
|
|
|
|
|
|
|
def set_is_aicc(value: bool):
|
|
|
|
|
|
global _is_aicc
|
|
|
|
|
|
_is_aicc = value
|
|
|
|
|
|
|
|
|
|
|
|
def get_is_aicc() -> bool:
|
|
|
|
|
|
return _is_aicc
|
|
|
|
|
|
|
|
|
|
|
|
def get_client() -> Union[AsyncArk, AsyncOpenAI, None]:
|
|
|
|
|
|
"""返回当前活跃的客户端(AICC 或 Ark)"""
|
|
|
|
|
|
if _is_aicc:
|
|
|
|
|
|
return _aicc_client
|
|
|
|
|
|
return _ark_client
|
|
|
|
|
|
|
2026-07-21 15:43:39 +08:00
|
|
|
|
def cleanup_ark_client():
|
|
|
|
|
|
global _ark_client
|
|
|
|
|
|
if _ark_client:
|
2026-07-27 14:28:07 +08:00
|
|
|
|
_ark_client = None
|
|
|
|
|
|
|
|
|
|
|
|
def cleanup_aicc_client():
|
|
|
|
|
|
global _aicc_client
|
|
|
|
|
|
if _aicc_client:
|
|
|
|
|
|
_aicc_client = None
|
|
|
|
|
|
|
|
|
|
|
|
def cleanup_all():
|
|
|
|
|
|
cleanup_ark_client()
|
|
|
|
|
|
cleanup_aicc_client()
|