glm.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. from config import load_config
  2. from zhipuai import ZhipuAI
  3. class Glm:
  4. _instance = None
  5. def __new__(cls):
  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):
  11. if not self._initialized:
  12. self.cfg = load_config()['glm']
  13. self.client = ZhipuAI(api_key=self.cfg["api_key"])
  14. self._initialized = True
  15. self.model_name = "glm-4-plus"
  16. def text_response(self, query):
  17. resonse = self.client.chat.completions.create(
  18. model=self.model_name,
  19. messages=[
  20. {"role": "user", "content": query}
  21. ],
  22. response_format= {
  23. 'type': 'json_object'
  24. }
  25. )
  26. return resonse.choices[0].message
  27. def set_modelname(self, modelname):
  28. self.model_name = modelname
  29. if __name__ == '__main__':
  30. glm = Glm()
  31. response = glm.response("请帮我编写一段快速排序的代码")
  32. print(response)