# --- src/text_processor.py --- from huggingface_hub import InferenceClient from pydantic import BaseModel import os # Hugging Face Hub client setup client = InferenceClient( "microsoft/Phi-3-mini-4k-instruct", token = os.environ['HUGGINGFACE_API_KEY'] ) # Pydantic class for output validation class VideoAnalysis(BaseModel): indoor: int hands_free: int screen_interaction: int standing: int def process_description(description): # Construct a prompt for your LLM based on the video description prompt = f""" You are a helpful AI assistant. Analyze the following video description and answer the questions with 0 for True and 1 for False: Video Description: {description} Questions: - Is the scene indoors? - Are the subject's hands free? - Is there screen interaction by the subject? - Is the subject standing? Provide your answers in JSON format like this: {{"indoor": 0, "hands_free": 1, "screen_interaction": 0, "standing": 1}} """ # Using the Hugging Face Hub InferenceClient for text generation response = client.chat_completion( messages=[{"role": "user", "content": prompt}], max_tokens=100, # Adjust as needed ) # Extract the generated JSON text from the response json_text = response.choices[0].message.content return json_text