File size: 3,103 Bytes
435fc15 17cff41 88261b4 17cff41 88261b4 17cff41 7d143aa 33be62e 17cff41 7d143aa 17cff41 7d143aa 435fc15 17cff41 7d143aa 17cff41 7d143aa 435fc15 17cff41 7d143aa 17cff41 7d143aa 435fc15 7d143aa 17cff41 7d143aa 17cff41 7d143aa 435fc15 7d143aa 17cff41 7d143aa 17cff41 7d143aa 17cff41 7d143aa 17cff41 7d143aa 17cff41 7d143aa 33be62e 7d143aa 17cff41 7d143aa 17cff41 7d143aa 17cff41 7d143aa 17cff41 435fc15 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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# 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/Mixtral-8x7B-Instruct-v0.1")
* 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-8x7B-Instruct-v0.1 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. |