diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-09-17 16:07:06 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-09-17 16:07:06 -0700 |
| commit | a3f00e15f7c1657891787be0b21813c2f4aeaca9 (patch) | |
| tree | f028dbdaed656b48f7de64ee94590cdfd86f825f /summarizer.py | |
| parent | 74fb827a4b24625d07a7e234dba59d844ba2b155 (diff) | |
add default entries and handle summarization API errors
Diffstat (limited to 'summarizer.py')
| -rw-r--r-- | summarizer.py | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/summarizer.py b/summarizer.py index 6e5e064..8fe86ae 100644 --- a/summarizer.py +++ b/summarizer.py @@ -33,7 +33,7 @@ def _make_cache_key(game: str, img_urls: list[str]) -> str: return f"{normalized_game}_{hash_digest}" -def generate_headline_and_content_from_images(img_urls: list[str], game: str, message_content: str=""): +def generate_headline_and_content_from_images(img_urls: list[str], game: str, message_content: str="") -> tuple: """ Uses LLM to generate the headline and content when none provided by source, based on one or more images. """ @@ -85,20 +85,24 @@ def generate_headline_and_content_from_images(img_urls: list[str], game: str, me } ] - response = openai.chat.completions.create( - model="gpt-5", - messages=messages, - tools=tools, - tool_choice={ - "type": "function", - "function": {"name": "generate_update_text"}, - }, - ) + try: + response = openai.chat.completions.create( + model="gpt-5", + messages=messages, + tools=tools, + tool_choice={ + "type": "function", + "function": {"name": "generate_update_text"}, + }, + ) - tool_result = response.choices[0].message.tool_calls[0].function.arguments - parsed_result = json.loads(tool_result) - headline = parsed_result["headline"] - content = parsed_result["content"] - cache[cache_key] = {"headline": headline, "content": content} - _save_cache(cache) + tool_result = response.choices[0].message.tool_calls[0].function.arguments + parsed_result = json.loads(tool_result) + headline = parsed_result["headline"] + content = parsed_result["content"] + cache[cache_key] = {"headline": headline, "content": content} + _save_cache(cache) + except openai.OpenAIError as e: + print(f"[ERROR] Function call to OpenAI for summarization failed ERROR -> {e} ") + return None, None return headline, content |
