import os from together import Together from dotenv import load_dotenv load_dotenv() class TogetherLLMLabeler: def __init__(self): self.client = Together(api_key=os.getenv("TOGETHER_API_KEY")) def generate_label(self, game_card, transcript, spatial_context, frame_urls): prompt = f""" Game Information: {game_card} Commentary: {transcript} Spatial Context (object detections per frame): {spatial_context} Instructions: - Summarize this event in factual soccer terminology. - Focus on the play's significance to the score. - Avoid exaggeration. """ images = [{"type": "image_url", "image_url": {"url": url}} for url in frame_urls] content = [{"type": "text", "text": prompt}] + images response = self.client.chat_completions.create( model="meta-llama/Llama-3.2-11B-Vision-Instruct-Turbo", messages=[{"role": "user", "content": content}], max_tokens=200 ) return response.choices[0].message["content"].strip()