jjvelezo commited on
Commit
9632608
·
verified ·
1 Parent(s): 3e9c5f3

Update agent.py

Browse files
Files changed (1) hide show
  1. agent.py +66 -8
agent.py CHANGED
@@ -1,13 +1,71 @@
1
- from transformers import pipeline
 
 
2
 
3
- # Usaremos un modelo ligero para mejor compatibilidad
4
- modelo = "google/gemma-2b-it"
 
5
 
6
- generador = pipeline("text-generation", model=modelo)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
- def ejecutar_agente(texto):
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  """
10
- Procesa una pregunta usando el modelo LLM.
11
  """
12
- resultado = generador(texto, max_new_tokens=300, do_sample=True, temperature=0.7)
13
- return resultado[0]["generated_text"]
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import requests
3
+ from huggingface_hub import hf_api
4
 
5
+ # Cargar el token de Hugging Face desde el entorno
6
+ HF_TOKEN = os.getenv("HF_TOKEN")
7
+ MODEL_NAME = os.getenv("MODEL_NAME", "meta-llama/Meta-Llama-3-8B-Instruct") # Cambia al nombre del modelo si es necesario
8
 
9
+ # Función para llamar al modelo y obtener respuesta
10
+ def call_model(prompt):
11
+ """
12
+ Llama al modelo de Hugging Face y devuelve la respuesta generada.
13
+ """
14
+ headers = {
15
+ "Authorization": f"Bearer {HF_TOKEN}",
16
+ "Content-Type": "application/json"
17
+ }
18
+ payload = {
19
+ "inputs": prompt,
20
+ "parameters": {"max_new_tokens": 512}
21
+ }
22
+
23
+ try:
24
+ response = requests.post(
25
+ f"https://api-inference.huggingface.co/models/{MODEL_NAME}",
26
+ headers=headers,
27
+ json=payload,
28
+ timeout=60
29
+ )
30
+ result = response.json()
31
+ if isinstance(result, dict) and result.get("error"):
32
+ raise ValueError(f"Error al procesar la solicitud: {result['error']}")
33
+ return result[0]["generated_text"] if isinstance(result, list) else result
34
+ except requests.exceptions.RequestException as e:
35
+ raise ValueError(f"Error de conexión con el modelo: {str(e)}")
36
+ except Exception as e:
37
+ raise ValueError(f"Error al obtener respuesta del modelo: {str(e)}")
38
+
39
+ # Clase para representar la lógica del agente
40
+ class Agente:
41
+ def __init__(self):
42
+ self.name = "Agente Hugging Face"
43
+ self.version = "1.0"
44
 
45
+ def procesar_pregunta(self, pregunta):
46
+ """
47
+ Procesa la pregunta y devuelve la respuesta generada por el modelo.
48
+ """
49
+ print(f"Procesando pregunta: {pregunta}")
50
+ try:
51
+ respuesta = call_model(pregunta)
52
+ return respuesta
53
+ except ValueError as e:
54
+ print(f"Error al procesar la pregunta: {e}")
55
+ return f"ERROR: {e}"
56
+
57
+ # Función para ejecutar la evaluación de preguntas
58
+ def evaluar_preguntas(preguntas):
59
  """
60
+ Toma una lista de preguntas, las procesa y devuelve las respuestas generadas.
61
  """
62
+ agente = Agente()
63
+ respuestas = []
64
+
65
+ for pregunta in preguntas:
66
+ print(f"Evaluando: {pregunta}")
67
+ respuesta = agente.procesar_pregunta(pregunta)
68
+ respuestas.append(respuesta)
69
+
70
+ return respuestas
71
+