Spaces:
Sleeping
Sleeping
File size: 2,310 Bytes
9632608 6bcf7d9 9632608 b8ac549 9632608 63e73e5 9632608 63e73e5 9632608 63e73e5 9632608 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
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
|