deepseek_volcengine.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. """
  2. @author: luojunhui
  3. @description: deepseek 火山引擎 Ark API 版本 (Responses API)
  4. """
  5. from typing import Any, Dict, List, Optional
  6. from volcenginesdkarkruntime import Ark
  7. from app.core.config import GlobalConfigSettings
  8. from app.infra.shared.tools import safe_json_parse
  9. config = GlobalConfigSettings()
  10. model_map = config.deepseek_volcengine.get_model_map()
  11. api_key = config.deepseek_volcengine.api_key
  12. base_url = config.deepseek_volcengine.base_url
  13. chat_model = config.deepseek_volcengine.chat_model
  14. reasoner_model = config.deepseek_volcengine.reasoner_model
  15. def fetch_deepseek_completion(
  16. model: str,
  17. prompt: str,
  18. output_type: str = "text",
  19. ) -> Optional[Dict | List]:
  20. input_messages = [{"role": "user", "content": prompt}]
  21. kwargs: dict[str, Any] = {
  22. "model": model_map.get(model, chat_model),
  23. "messages": input_messages,
  24. }
  25. client = Ark(base_url=base_url, api_key=api_key)
  26. try:
  27. response = client.chat.completions.create(**kwargs)
  28. output_text = response.choices[0].message.content
  29. if output_type == "text":
  30. return output_text
  31. elif output_type == "json":
  32. return safe_json_parse(output_text)
  33. else:
  34. raise ValueError(f"Invalid output_type: {output_type}")
  35. except Exception as e:
  36. print(f"[ERROR] fetch_deepseek_completion (volcengine) failed: {e}")
  37. return None