File size: 3,005 Bytes
17cff41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.