48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
from typing import Optional, Union
|
||
from volcenginesdkarkruntime import AsyncArk
|
||
from openai import AsyncOpenAI
|
||
|
||
_ark_client: Optional[AsyncArk] = None
|
||
_aicc_client: Optional[AsyncOpenAI] = None
|
||
_is_aicc: bool = False
|
||
|
||
def set_ark_client(client: AsyncArk):
|
||
global _ark_client
|
||
_ark_client = client
|
||
|
||
def get_ark_client() -> Optional[AsyncArk]:
|
||
return _ark_client
|
||
|
||
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
|
||
|
||
def cleanup_ark_client():
|
||
global _ark_client
|
||
if _ark_client:
|
||
_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() |