JMAA00 commited on
Commit
c376a15
·
1 Parent(s): ff801d4
Files changed (1) hide show
  1. app.py +16 -16
app.py CHANGED
@@ -53,9 +53,16 @@ def do_websearch(query: str) -> str:
53
 
54
 
55
  # ----------------------------------------------------------------
56
- # CONFIGURACIÓN DEL MODELO
57
  # ----------------------------------------------------------------
58
- client = InferenceClient("meta-llama/Llama-3.1-8B-Instruct")
 
 
 
 
 
 
 
59
 
60
  def respond(
61
  message,
@@ -73,17 +80,13 @@ def respond(
73
  - use_search: booleano que indica si se habilita la búsqueda en serper
74
  """
75
 
76
- # ----------------------------------------------------------------
77
  # 1) Si el toggle está activo, hacemos búsqueda y la agregamos al prompt
78
- # ----------------------------------------------------------------
79
  if use_search:
80
  web_info = do_websearch(message)
81
  # Agregamos info al final del texto del usuario
82
  message = f"{message}\nInformación de la web:\n{web_info}"
83
 
84
- # ----------------------------------------------------------------
85
  # 2) Construimos la lista de mensajes para la API de chat
86
- # ----------------------------------------------------------------
87
  messages = [{"role": "system", "content": system_message}]
88
  for val in history:
89
  if val[0]:
@@ -94,10 +97,8 @@ def respond(
94
  # Añadimos el mensaje nuevo del usuario (posiblemente complementado con la info web)
95
  messages.append({"role": "user", "content": message})
96
 
97
- # ----------------------------------------------------------------
98
  # 3) Llamamos a la API con streaming de tokens
99
- # ----------------------------------------------------------------
100
- response = ""
101
  for chunk in client.chat_completion(
102
  messages,
103
  max_tokens=max_tokens,
@@ -106,15 +107,14 @@ def respond(
106
  top_p=top_p,
107
  ):
108
  token = chunk.choices[0].delta.get("content", "")
109
- response += token
110
- yield response
111
 
112
 
113
  # ----------------------------------------------------------------
114
  # CONFIGURACIÓN DE LA INTERFAZ
115
  # ----------------------------------------------------------------
116
- # Para usar Tailwind, podemos asignar clases en "elem_classes".
117
- # Ejemplo de clases genéricas (puedes cambiarlas a tu gusto):
118
  tailwind_toggle_classes = [
119
  "inline-flex",
120
  "items-center",
@@ -163,10 +163,10 @@ demo = gr.ChatInterface(
163
  step=0.05,
164
  label="Top-p (muestreo por núcleo)",
165
  ),
166
- # Un checkbox que hace de "toggle" para la búsqueda
167
  gr.Checkbox(
168
- value=False, # Por defecto desactivado
169
- label="🌐 Búsqueda", # Etiqueta
170
  elem_classes=tailwind_toggle_classes
171
  ),
172
  ],
 
53
 
54
 
55
  # ----------------------------------------------------------------
56
+ # CONFIGURACIÓN DEL MODELO (AHORA CON TOKEN)
57
  # ----------------------------------------------------------------
58
+ # Cargamos el token desde la variable de entorno 'HF_API_TOKEN'
59
+ hf_api_token = os.getenv("HF_API_TOKEN")
60
+
61
+ # Usamos el modelo meta-llama/Llama-3.1-8B-Instruct con acceso a tu cuenta
62
+ client = InferenceClient(
63
+ model="meta-llama/Llama-3.1-8B-Instruct",
64
+ token=hf_api_token # <-- la clave para evitar el 401 Unauthorized
65
+ )
66
 
67
  def respond(
68
  message,
 
80
  - use_search: booleano que indica si se habilita la búsqueda en serper
81
  """
82
 
 
83
  # 1) Si el toggle está activo, hacemos búsqueda y la agregamos al prompt
 
84
  if use_search:
85
  web_info = do_websearch(message)
86
  # Agregamos info al final del texto del usuario
87
  message = f"{message}\nInformación de la web:\n{web_info}"
88
 
 
89
  # 2) Construimos la lista de mensajes para la API de chat
 
90
  messages = [{"role": "system", "content": system_message}]
91
  for val in history:
92
  if val[0]:
 
97
  # Añadimos el mensaje nuevo del usuario (posiblemente complementado con la info web)
98
  messages.append({"role": "user", "content": message})
99
 
 
100
  # 3) Llamamos a la API con streaming de tokens
101
+ response_text = ""
 
102
  for chunk in client.chat_completion(
103
  messages,
104
  max_tokens=max_tokens,
 
107
  top_p=top_p,
108
  ):
109
  token = chunk.choices[0].delta.get("content", "")
110
+ response_text += token
111
+ yield response_text
112
 
113
 
114
  # ----------------------------------------------------------------
115
  # CONFIGURACIÓN DE LA INTERFAZ
116
  # ----------------------------------------------------------------
117
+ # Ejemplo de Tailwind classes (puedes personalizarlas):
 
118
  tailwind_toggle_classes = [
119
  "inline-flex",
120
  "items-center",
 
163
  step=0.05,
164
  label="Top-p (muestreo por núcleo)",
165
  ),
166
+ # Un checkbox para habilitar "búsqueda web" (use_search)
167
  gr.Checkbox(
168
+ value=False,
169
+ label="🌐 Búsqueda",
170
  elem_classes=tailwind_toggle_classes
171
  ),
172
  ],