Spaces:
Sleeping
Sleeping
jordigonzm
commited on
Commit
•
ea13124
1
Parent(s):
558a854
Usamos InferenceClient
Browse files
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 |
-
#
|
12 |
-
|
|
|
|
|
13 |
|
14 |
-
#
|
15 |
try:
|
16 |
-
|
17 |
-
"
|
18 |
-
|
19 |
-
device=0 if torch.cuda.is_available() else -1,
|
20 |
-
use_auth_token=token
|
21 |
)
|
22 |
-
print("
|
23 |
except Exception as e:
|
24 |
-
print(f"Error al
|
25 |
exit(1)
|
26 |
-
|
27 |
# Función para procesar la entrada y generar la respuesta
|
28 |
def generate_response(text):
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
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 |
+
|