gpt_tag.py 2.3 KB

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