File size: 2,951 Bytes
a74ce95
 
84726c8
a74ce95
 
 
 
 
 
84726c8
a74ce95
 
84726c8
a74ce95
84726c8
a74ce95
 
 
84726c8
a74ce95
84726c8
a74ce95
 
 
84726c8
a74ce95
84726c8
a74ce95
 
 
 
84726c8
a74ce95
84726c8
a74ce95
 
 
 
84726c8
a74ce95
84726c8
a74ce95
 
 
 
 
 
 
 
 
84726c8
 
 
a74ce95
84726c8
 
 
 
 
 
 
 
 
 
 
a74ce95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Descripción del Código:

1. Importación de Bibliotecas:
from huggingface_hub import InferenceClient
import gradio as gr

* InferenceClient: Se utiliza para realizar inferencias (generación de texto en este caso) con modelos alojados en Hugging Face Hub.
* gr (Gradio): Es una biblioteca que facilita la creación de interfaces de usuario para modelos de aprendizaje automático.

2. Inicialización del Cliente de Inferencia:
client = InferenceClient("mistralai/Mistral-7B-Instruct-v0.2")

* Se crea un cliente de inferencia para el modelo específico "Mistral-7B-Instruct-v0.2" alojado en Hugging Face Hub.

3. Función para Formatear el Prompt:
def format_prompt(message, history):
  # ... (ver código para detalles)

* Esta función toma un mensaje, junto con la historia de conversación, y lo formatea adecuadamente para el modelo.

4. Función para Generar Texto:
def generate(prompt, history, system_prompt, temperature=0.9, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0):
  # ... (ver código para detalles)

* La función principal para generar texto. Toma varios parámetros, incluyendo el prompt del usuario, historial de conversación, temperatura, etc.

5. Definición de Inputs Adicionales:
additional_inputs = [
    # ... (ver código para detalles)
]

* Se definen inputs adicionales para la interfaz Gradio. Estos permiten al usuario ajustar configuraciones como la temperatura, la longitud máxima del texto generado, etc.

6. Ejemplos para la Interfaz Gradio:
examples = [
    # ... (ver código para detalles)
]

* Se proporcionan ejemplos que serán mostrados en la interfaz Gradio para ayudar a los usuarios a comenzar.

7. Creación de la Interfaz Gradio:
gr.ChatInterface(
    fn=generate,
    chatbot=gr.Chatbot(show_label=False, show_share_button=False, show_copy_button=True, likeable=True, layout="panel"),
    additional_inputs=additional_inputs,
    title="Mixtral 46.7B Fines didácticos",
    description='Autor: ... (ver código para detalles)',
    examples=examples,
    concurrency_limit=20,
).launch(show_api=False)

* Se crea la interfaz Gradio para la función de generación de texto. Incluye la entrada del usuario, las inputs adicionales configuradas y otros elementos visuales.

Inputs Adicionales en la Interfaz Gradio:

* System Prompt (Entrada de Texto): Permite al usuario ingresar un prompt del sistema para contextualizar la conversación.

* Temperature (Control Deslizante): Ajusta la "temperatura" del modelo, afectando la diversidad de las respuestas.

* Max New Tokens (Control Deslizante): Controla la longitud máxima del texto generado.

* Top-p (Nucleus Sampling) (Control Deslizante): Regula el muestreo de tokens basado en la probabilidad acumulativa.

* Repetition Penalty (Control Deslizante): Penaliza la repetición de tokens en el texto generado.

Estas inputs adicionales permiten a los usuarios personalizar la generación de texto según sus preferencias y necesidades.