deepseek.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. 简单的 Gemini 处理器
  5. 用于满足导入需求,实际功能可以根据需要扩展
  6. """
  7. import os
  8. import json
  9. from typing import Any, Dict, Optional
  10. from dotenv import load_dotenv
  11. import google.generativeai as genai
  12. from openai import OpenAI
  13. class DeepSeekProcessor:
  14. def __init__(self):
  15. # 加载环境变量
  16. load_dotenv()
  17. # 获取API密钥
  18. api_key = os.getenv('DEEPSEEK_API_KEY')
  19. base_url = os.getenv('DEEPSEEK_BASE_URL')
  20. self.client = OpenAI(api_key=api_key, base_url=base_url)
  21. def process(self, content: Any, system_prompt: str) -> Dict[str, Any]:
  22. try:
  23. # 处理输入内容格式
  24. if isinstance(content, dict):
  25. # 将字典转换为JSON字符串
  26. formatted_content = json.dumps(content, ensure_ascii=False)
  27. else:
  28. formatted_content = content
  29. # https://bailian.console.aliyun.com/?tab=api#/api/?type=model&url=2868565
  30. response = self.client.chat.completions.create(
  31. model="deepseek-v3",
  32. messages=[
  33. {"role": "system", "content": system_prompt},
  34. {"role": "user", "content": formatted_content},
  35. ],
  36. stream=False
  37. )
  38. return response.choices[0].message.content
  39. except Exception as e:
  40. print(f"DeepSeek API 调用失败: {e}")
  41. return {"error": str(e), "content": content}
  42. def batch_process(self, contents: list, system_prompt: str) -> list:
  43. results = []
  44. for content in contents:
  45. result = self.process(content, system_prompt)
  46. results.append(result)
  47. return results
  48. def main():
  49. # 创建DeepSeekProcessor实例
  50. processor = DeepSeekProcessor()
  51. # 示例系统提示
  52. system_prompt = "你是一个有用的AI助手,请简洁地回答问题。"
  53. # 示例用户输入
  54. user_input = "什么是人工智能?"
  55. # 处理单个请求
  56. print("\n处理单个请求:")
  57. result = processor.process(user_input, system_prompt)
  58. print(f"输入: {user_input}")
  59. print(f"输出: {result}")
  60. # 处理批量请求
  61. print("\n处理批量请求:")
  62. batch_inputs = ["什么是机器学习?", "什么是深度学习?"]
  63. batch_results = processor.batch_process(batch_inputs, system_prompt)
  64. for i, (input_text, result) in enumerate(zip(batch_inputs, batch_results)):
  65. print(f"\n请求 {i+1}:")
  66. print(f"输入: {input_text}")
  67. print(f"输出: {result}")
  68. if __name__ == "__main__":
  69. main()