gpt_tag.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. def get_tag(prompt):
  11. retry = 1
  12. result_content = None
  13. while retry < 3:
  14. try:
  15. log_.info(f"retry = {retry}")
  16. headers = {
  17. 'Content-Type': 'application/json',
  18. # 'Authorization': f'Bearer {os.environ["OPENAI_API_KEY"]}',
  19. 'Authorization': f'Bearer {config_.GPT_OPENAI_API_KEY}',
  20. }
  21. proxies = config_.PROXIES
  22. json_data = {
  23. 'model': 'gpt-3.5-turbo',
  24. 'messages': [
  25. {
  26. 'role': 'user',
  27. 'content': f'{prompt}',
  28. },
  29. ],
  30. }
  31. response = requests.post(
  32. url=config_.GPT_HOST, headers=headers, json=json_data, proxies=proxies)
  33. print(response.json())
  34. print(response.json()['choices'][0]['message']['content'])
  35. print('\n')
  36. result_content = response.json(
  37. )['choices'][0]['message']['content']
  38. return result_content
  39. except Exception as e:
  40. print(e)
  41. log_.error(traceback.format_exc())
  42. retry += 1
  43. time.sleep(30)
  44. continue
  45. return result_content
  46. def request_gpt(prompt):
  47. retry_count = 0
  48. result_content = None
  49. while retry_count < config_.RETRY_MAX_COUNT:
  50. retry_count += 1
  51. try:
  52. result_content = MoonShotHandle.chat_with_chatgpt(prompt)
  53. # response = requests.post(url=config_.GPT_URL, json={'content': prompt, 'auth': config_.GPT_OPENAI_API_KEY})
  54. # response = requests.post(url=config_.GPT_URL, json={'content': prompt})
  55. # print(response.json())
  56. # print(response.json()['choices'][0]['message']['content'])
  57. # print('\n')
  58. # result_content = response.json()['choices'][0]['message']['content']
  59. # log_.info(f"response.text: {response.text}")
  60. # res_data = json.loads(response.text)
  61. # if res_data['code'] != 0:
  62. # time.sleep(10)
  63. # continue
  64. # result_content = res_data['data']['choices'][0]['message']['content']
  65. return result_content
  66. except Exception:
  67. time.sleep(10)
  68. continue
  69. return result_content