import argparse import json import random from agent import BasicAgent from smolagents import LiteLLMModel from tools.utils import download_file if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument("--id", required=False, type=str, help="Number of question to load", default=None) args = parser.parse_args() questions = [] question = None file_path = None base_url = 'https://agents-course-unit4-scoring.hf.space' with open('questions.json', 'r') as s: questions = json.load(s) if args.id: question = [q for q in questions if q['task_id'] == args.id][0] print(f"Process question: {question.get('question')[:50]}") else: n = random.randint(0, len(questions)) question = questions[n] print(f"Process random question: {question.get('question')[:50]}") file_name = question.get('file_name') prompt = question.get('question') if file_name: task_id = question.get('task_id') file_path = download_file(f'{base_url}/files/{task_id}', file_name) else: file_path = None model = LiteLLMModel( model_id="ollama/qwen2.5:7b", api_base="http://localhost:11434" ) agent = BasicAgent(model) response = agent(prompt, file_path) print(response)