ark_client.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from openai import OpenAI
  2. from volcenginesdkarkruntime import Ark
  3. from ..db.ai_config import get_config_by_app_name
  4. _client_cache: dict[str, OpenAI] = {}
  5. _ark_client_cache: dict[str, Ark] = {}
  6. def get_ark_client(app_name: str = "com.yunxiangshengtai") -> Ark:
  7. if app_name in _ark_client_cache:
  8. return _ark_client_cache[app_name]
  9. config = get_config_by_app_name(app_name)
  10. if not config:
  11. raise ValueError(f"未找到appName '{app_name}' 的配置")
  12. client = Ark(
  13. base_url=config["baseUrl"],
  14. api_key=config["apiKey"]
  15. )
  16. _ark_client_cache[app_name] = client
  17. return client
  18. def get_client(app_name: str = "com.yunxiangshengtai") -> OpenAI:
  19. if app_name in _client_cache:
  20. return _client_cache[app_name]
  21. config = get_config_by_app_name(app_name)
  22. if not config:
  23. raise ValueError(f"未找到appName '{app_name}' 的配置")
  24. client = OpenAI(
  25. base_url=config["baseUrl"],
  26. api_key=config["apiKey"],
  27. default_headers={"ark-beta-knowledge-search": "true"}
  28. )
  29. _client_cache[app_name] = client
  30. return client