glm.py 916 B

123456789101112131415161718192021222324252627282930
  1. from config import load_config
  2. from zhipuai import ZhipuAI
  3. class Glm:
  4. _instance = None
  5. def __new__(cls, model_name):
  6. if not cls._instance:
  7. cls._instance = super(Glm, cls).__new__(cls)
  8. cls._instance._initialized = False
  9. return cls._instance
  10. def __init__(self, model_name):
  11. if not self._initialized:
  12. self.cfg = load_config()["deepseek"]
  13. self.client = ZhipuAI(api_key=self.cfg["api_key"])
  14. self._initialized = True
  15. self.model_name = model_name
  16. def response(self, query):
  17. resonse = self.client.chat.completions.create(
  18. model=self.model_name,
  19. messages=[
  20. {"role": "user", "content": query}
  21. ],
  22. )
  23. return resonse.choices[0].message
  24. if __name__ == '__main__':
  25. glm = Glm("glm-4-flash")
  26. glm.response("你好")