enhanced exception handling for generating terms

This commit is contained in:
harry
2024-05-17 17:11:35 +08:00
parent 9c58991830
commit fc6844dd19

View File

@@ -295,6 +295,7 @@ Please note that you must use English for generating video search terms; Chinese
logger.info(f"subject: {video_subject}") logger.info(f"subject: {video_subject}")
search_terms = [] search_terms = []
response = ""
for i in range(_max_retries): for i in range(_max_retries):
try: try:
response = _generate_response(prompt) response = _generate_response(prompt)
@@ -304,12 +305,15 @@ Please note that you must use English for generating video search terms; Chinese
continue continue
except Exception as e: except Exception as e:
match = re.search(r'\[.*]', response) logger.warning(f"failed to generate video terms: {str(e)}")
if match: if response:
try: match = re.search(r'\[.*]', response)
search_terms = json.loads(match.group()) if match:
except json.JSONDecodeError: try:
pass search_terms = json.loads(match.group())
except Exception as e:
logger.warning(f"failed to generate video terms: {str(e)}")
pass
if search_terms and len(search_terms) > 0: if search_terms and len(search_terms) > 0:
break break