Spaces:
Sleeping
Sleeping
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 | |