Katon1 commited on
Commit
8387a13
verified
1 Parent(s): 5afdf03

codigo base

Browse files
Files changed (1) hide show
  1. app.py +58 -0
app.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from huggingface_hub import InferenceClient
3
+ import os
4
+
5
+ # Obt茅n el token de manera segura desde el entorno
6
+ hf_token = os.getenv("HF_API_TOKEN")
7
+ client = InferenceClient(
8
+ "microsoft/Phi-3-mini-4k-instruct",
9
+ token=hf_token
10
+ )
11
+
12
+ # Define la funci贸n de inferencia que usa la API
13
+ def generate_response(input_text):
14
+ prompt = f"Debes de responder a cualquier pregunta:\nPregunta: {input_text}"
15
+ try:
16
+ # Realizar la inferencia usando el cliente de Hugging Face
17
+ messages = [{"role": "user", "content": prompt}]
18
+ response = client.chat_completion(messages=messages, max_tokens=500)
19
+
20
+ # Extrae el texto generado
21
+ if hasattr(response, 'choices') and response.choices:
22
+ generated_text = response.choices[0].message.content
23
+ else:
24
+ generated_text = str(response)
25
+
26
+ return generated_text
27
+ except Exception as e:
28
+ return f"Error al realizar la inferencia: {e}"
29
+
30
+ # Configura la interfaz en Gradio con un dise帽o m谩s interactivo
31
+ with gr.Blocks(title="LLM Chatbot con API de Inferencia") as demo:
32
+ gr.Markdown(
33
+ """
34
+ ## Chatbot LLM - Pregunta y Respuesta
35
+ Este chatbot utiliza un modelo de lenguaje para responder preguntas.
36
+ Ingresa tu consulta en el 谩rea de texto a continuaci贸n y presiona el bot贸n de enviar para obtener una respuesta.
37
+ """
38
+ )
39
+ with gr.Row():
40
+ with gr.Column():
41
+ input_text = gr.Textbox(
42
+ lines=5,
43
+ placeholder="Escribe tu pregunta aqu铆...",
44
+ label="Pregunta"
45
+ )
46
+ with gr.Column():
47
+ output_text = gr.Textbox(
48
+ lines=5,
49
+ label="Respuesta",
50
+ interactive=False
51
+ )
52
+ submit_button = gr.Button("Enviar")
53
+
54
+ # Conecta la funci贸n a los componentes
55
+ submit_button.click(fn=generate_response, inputs=input_text, outputs=output_text)
56
+
57
+ # Lanza la interfaz
58
+ demo.launch()