gpt_tag.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import time
  2. import json
  3. import requests
  4. import traceback
  5. from config import set_config
  6. from log import Log
  7. from moon_shoot_api import MoonShotHandle
  8. config_ = set_config()
  9. log_ = Log()
  10. moonShotHandle_ = MoonShotHandle()
  11. def get_tag(prompt):
  12. retry = 1
  13. result_content = None
  14. while retry < 3:
  15. try:
  16. log_.info(f"retry = {retry}")
  17. headers = {
  18. 'Content-Type': 'application/json',
  19. # 'Authorization': f'Bearer {os.environ["OPENAI_API_KEY"]}',
  20. 'Authorization': f'Bearer {config_.GPT_OPENAI_API_KEY}',
  21. }
  22. proxies = config_.PROXIES
  23. json_data = {
  24. 'model': 'gpt-3.5-turbo',
  25. 'messages': [
  26. {
  27. 'role': 'user',
  28. 'content': f'{prompt}',
  29. },
  30. ],
  31. }
  32. response = requests.post(
  33. url=config_.GPT_HOST, headers=headers, json=json_data, proxies=proxies)
  34. print(response.json())
  35. print(response.json()['choices'][0]['message']['content'])
  36. print('\n')
  37. result_content = response.json(
  38. )['choices'][0]['message']['content']
  39. return result_content
  40. except Exception as e:
  41. print(e)
  42. log_.error(traceback.format_exc())
  43. retry += 1
  44. time.sleep(30)
  45. continue
  46. return result_content
  47. def request_gpt(prompt):
  48. retry_count = 0
  49. result_content = None
  50. while retry_count < config_.RETRY_MAX_COUNT:
  51. retry_count += 1
  52. try:
  53. result_content = moonShotHandle_.chat(prompt)
  54. # response = requests.post(url=config_.GPT_URL, json={'content': prompt, 'auth': config_.GPT_OPENAI_API_KEY})
  55. # response = requests.post(url=config_.GPT_URL, json={'content': prompt})
  56. # print(response.json())
  57. # print(response.json()['choices'][0]['message']['content'])
  58. # print('\n')
  59. # result_content = response.json()['choices'][0]['message']['content']
  60. # log_.info(f"response.text: {response.text}")
  61. # res_data = json.loads(response.text)
  62. # if res_data['code'] != 0:
  63. # time.sleep(10)
  64. # continue
  65. # result_content = res_data['data']['choices'][0]['message']['content']
  66. if "```json" in result_content:
  67. result_content = result_content.split(
  68. "```json")[1].split("```")[0]
  69. return result_content
  70. except Exception:
  71. log_.error(traceback.format_exc())
  72. time.sleep(10)
  73. continue
  74. return result_content
  75. # res = MoonShotHandle().chat("'\n请对如下文本进行:\n1. 用20个字以内对文本内容进行概况。\n2. 列举三个关键词。\n仅以json格式返回,key为summary, keywords。分别代表概要,关键词。\n-----------------------------\n养肺离不开吃最润肺的食物推荐给大家第一个是山药山药是润肺的最佳食品之一大家在平时的时候可以吃最好的吃法是做成山药粥或者是直接的清炒山药就可以了不适合与其他的食物相配第二个是梨这个大家都很清楚梨水是用来清肺的润肺的所以梨对于肺来讲是个好东西因为它的水多又好消化最好的吃法是做成梨汤或者是梨水加入冰糖吃这种梨肉喝汤就可以了第三个是百合百合是白色的食物两肺就适合吃这种白色的食物它是能够清肺润肺的最好的吃法依然是清炒不用加太多的调料清淡的口味就行了第四个是银耳银耳也是咱们中医推荐的用于润肺养肺的食物之一最好的吃法就是直接打成汤或者再加上枸杞还有红枣这样会让银耳的效果更出众另外也可以加点白糖增加一下能量第五是白萝卜萝卜有通气之处而肺是需要过气的所以吃萝卜可以让我们的通气但对于肺的功能它是有很好的通畅效果所以吃萝卜也是可以清肺的'")
  76. # res = res.split("```json")[1].split("```")[0]
  77. # print(res)