jordigonzm commited on
Commit
ea13124
1 Parent(s): 558a854

Usamos InferenceClient

Browse files
Files changed (1) hide show
  1. app.py +41 -34
app.py CHANGED
@@ -1,55 +1,62 @@
1
- import gradio as gr
2
- from transformers import pipeline
3
- import torch
4
- import time
5
- from huggingface_hub import HfApi, HfFolder
6
  import os
 
 
7
 
8
  # Cargar el token desde la variable de entorno
9
  token = os.environ.get("HUGGINGFACE_HUB_TOKEN")
10
 
11
- # Cargar el modelo
12
- model_name = "meta-llama/Meta-Llama-3-8B-Instruct"
 
 
13
 
14
- # Cargar el generador de texto con el token de autenticación
15
  try:
16
- generator = pipeline(
17
- "text-generation",
18
- model=model_name,
19
- device=0 if torch.cuda.is_available() else -1,
20
- use_auth_token=token
21
  )
22
- print("Modelo cargado correctamente.")
23
  except Exception as e:
24
- print(f"Error al cargar el modelo: {e}")
25
  exit(1)
26
-
27
  # Función para procesar la entrada y generar la respuesta
28
  def generate_response(text):
29
- output = generator(text, max_length=512, num_return_sequences=1)
30
- response = {
31
- "choices": [
32
- {
33
- "text": output[0]['generated_text'],
34
- "index": 0,
35
- "logprobs": None,
36
- "finish_reason": "stop"
37
- }
38
- ],
39
- "id": "req-12345", # Reemplazar con un ID único
40
- "model": model_name,
41
- "created": int(time.time())
42
- }
43
- return response
44
-
45
- # Interfaz Gradio
 
 
 
 
 
 
 
 
 
46
  iface = gr.Interface(
47
  fn=generate_response,
48
  inputs="text",
49
  outputs="json",
50
  title="API compatible con OpenAI",
51
- description="Introduce texto para obtener una respuesta del modelo Gemma."
52
  )
53
 
54
  # Ejecutar la interfaz
55
  iface.launch()
 
 
 
 
 
 
 
1
  import os
2
+ from huggingface_hub import InferenceClient
3
+ import time
4
 
5
  # Cargar el token desde la variable de entorno
6
  token = os.environ.get("HUGGINGFACE_HUB_TOKEN")
7
 
8
+ # Asegúrate de que el token esté presente
9
+ if not token:
10
+ print("Error: No se encontró el token HUGGINGFACE_HUB_TOKEN en las variables de entorno.")
11
+ exit(1)
12
 
13
+ # Crear el cliente de inferencia para el modelo Meta-Llama-3-8B-Instruct
14
  try:
15
+ client_llama = InferenceClient(
16
+ model="meta-llama/Meta-Llama-3-8B-Instruct",
17
+ token=token
 
 
18
  )
19
+ print("Cliente de inferencia creado correctamente.")
20
  except Exception as e:
21
+ print(f"Error al crear el cliente de inferencia: {e}")
22
  exit(1)
23
+
24
  # Función para procesar la entrada y generar la respuesta
25
  def generate_response(text):
26
+ try:
27
+ # Realizar la inferencia utilizando el cliente
28
+ output = client_llama(text, max_length=512, num_return_sequences=1)
29
+
30
+ # Formatear la respuesta en un formato similar a OpenAI
31
+ response = {
32
+ "choices": [
33
+ {
34
+ "text": output['generated_text'],
35
+ "index": 0,
36
+ "logprobs": None,
37
+ "finish_reason": "stop"
38
+ }
39
+ ],
40
+ "id": "req-12345", # Reemplazar con un ID único
41
+ "model": "meta-llama/Meta-Llama-3-8B-Instruct",
42
+ "created": int(time.time())
43
+ }
44
+ return response
45
+ except Exception as e:
46
+ print(f"Error al generar la respuesta: {e}")
47
+ return {"error": str(e)}
48
+
49
+ # Configuración de la interfaz Gradio
50
+ import gradio as gr
51
+
52
  iface = gr.Interface(
53
  fn=generate_response,
54
  inputs="text",
55
  outputs="json",
56
  title="API compatible con OpenAI",
57
+ description="Introduce texto para obtener una respuesta del modelo Meta-Llama-3-8B-Instruct."
58
  )
59
 
60
  # Ejecutar la interfaz
61
  iface.launch()
62
+