import os import requests from huggingface_hub import hf_api # Cargar el token de Hugging Face desde el entorno HF_TOKEN = os.getenv("HF_TOKEN") MODEL_NAME = os.getenv("MODEL_NAME", "meta-llama/Meta-Llama-3-8B-Instruct") # Cambia al nombre del modelo si es necesario # Función para llamar al modelo y obtener respuesta def call_model(prompt): """ Llama al modelo de Hugging Face y devuelve la respuesta generada. """ headers = { "Authorization": f"Bearer {HF_TOKEN}", "Content-Type": "application/json" } payload = { "inputs": prompt, "parameters": {"max_new_tokens": 512} } try: response = requests.post( f"https://api-inference.huggingface.co/models/{MODEL_NAME}", headers=headers, json=payload, timeout=60 ) result = response.json() if isinstance(result, dict) and result.get("error"): raise ValueError(f"Error al procesar la solicitud: {result['error']}") return result[0]["generated_text"] if isinstance(result, list) else result except requests.exceptions.RequestException as e: raise ValueError(f"Error de conexión con el modelo: {str(e)}") except Exception as e: raise ValueError(f"Error al obtener respuesta del modelo: {str(e)}") # Clase para representar la lógica del agente class Agente: def __init__(self): self.name = "Agente Hugging Face" self.version = "1.0" def procesar_pregunta(self, pregunta): """ Procesa la pregunta y devuelve la respuesta generada por el modelo. """ print(f"Procesando pregunta: {pregunta}") try: respuesta = call_model(pregunta) return respuesta except ValueError as e: print(f"Error al procesar la pregunta: {e}") return f"ERROR: {e}" # Función para ejecutar la evaluación de preguntas def evaluar_preguntas(preguntas): """ Toma una lista de preguntas, las procesa y devuelve las respuestas generadas. """ agente = Agente() respuestas = [] for pregunta in preguntas: print(f"Evaluando: {pregunta}") respuesta = agente.procesar_pregunta(pregunta) respuestas.append(respuesta) return respuestas