articles_deal.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """
  2. @author: luojunhui
  3. 生成文章&&搜索文章
  4. """
  5. from applications.ai import tencent_ai, kimi_ai, metaSo
  6. class ArticleGeneral(object):
  7. """
  8. Generate article with AI
  9. """
  10. def __init__(self, params):
  11. self.text = None
  12. self.title = None
  13. self.aic = None
  14. self.params = params
  15. def check_params(self):
  16. """
  17. 校验params
  18. :return:
  19. """
  20. try:
  21. self.aic = self.params['aic']
  22. self.title = self.params['title']
  23. self.text = self.params['text']
  24. return None
  25. except AttributeError as err:
  26. return {"error": "params error {}".format(err)}
  27. def deal(self):
  28. """
  29. 处理请求
  30. :return:
  31. """
  32. params_error = self.check_params()
  33. if params_error:
  34. return params_error
  35. else:
  36. if self.aic == "tencent":
  37. prompt = "请通过这个标题({}), 生成一篇文章".format(self.title)
  38. response_text = tencent_ai(
  39. prompt=prompt
  40. )
  41. return {"text": response_text}
  42. elif self.aic == "kimi":
  43. if self.text:
  44. prompt = "请通过这个标题({})和这段正文({}), 生成一篇文章".format(self.title, self.text)
  45. else:
  46. prompt = "请通过这个标题({}), 生成一篇文章".format(self.title)
  47. response_text = kimi_ai(prompt)
  48. return {"text": response_text}
  49. elif self.aic == "meta":
  50. if self.text:
  51. prompt = "请通过这个标题({})和这段正文({}), 生成一篇文章".format(self.title, self.text)
  52. else:
  53. prompt = "请通过这个标题({}), 生成一篇文章".format(self.title)
  54. response_text = metaSo(prompt)
  55. return {"text": response_text}
  56. else:
  57. return {"error": "errors"}