deep_seek_api_by_volcanoengine.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. """
  2. @author: luojunhui
  3. """
  4. from typing import Any, Dict, List, Optional
  5. from volcenginesdkarkruntime import Ark
  6. from applications.utils.common import safe_json_parse
  7. from config import deep_seek_model
  8. from config import deep_seek_default_model
  9. from config import deep_seek_api_key_byte_dance
  10. def fetch_deepseek_completion(
  11. model: str,
  12. prompt: str,
  13. output_type: str = "text",
  14. ) -> Optional[Dict | List]:
  15. input_messages = [{"role": "user", "content": prompt}]
  16. kwargs: dict[str, Any] = {
  17. "model": deep_seek_model.get(model, deep_seek_default_model),
  18. "messages": input_messages,
  19. }
  20. client = Ark(
  21. base_url="https://ark.cn-beijing.volces.com/api/v3",
  22. api_key=deep_seek_api_key_byte_dance
  23. )
  24. try:
  25. response = client.chat.completions.create(**kwargs)
  26. output_text = response.choices[0].message.content
  27. if output_type == "text":
  28. return output_text
  29. elif output_type == "json":
  30. return safe_json_parse(output_text)
  31. else:
  32. raise ValueError(f"Invalid output_type: {output_type}")
  33. except Exception as e:
  34. print(f"[ERROR] fetch_deepseek_completion (volcengine) failed: {e}")
  35. return None