HuggingFace
Genera texto utilizando las APIs de inferencia de Hugging Face. Este componente permite a los usuarios de Nappai enviar texto a un modelo alojado en Hugging Face y recibir respuestas generadas, ya sea para generación de texto, resúmenes, traducciones u otras tareas de NLP.
¿Cómo funciona?
El componente se conecta a la API de inferencia de Hugging Face mediante un punto final configurable. Cuando envías una solicitud, el componente construye un objeto HuggingFaceEndpoint
con los parámetros que hayas seleccionado (modelo, temperatura, top‑k, top‑p, etc.). La API devuelve el texto generado, que el componente entrega como salida. Si la conexión falla, el componente intenta reenviarla hasta el número de intentos especificado.
Entradas
Modo de Mapeo (Mapping Mode)
Este componente cuenta con un modo especial llamado “Mapping Mode” (Modo de Mapeo). Cuando activas este modo mediante el interruptor, se habilita una entrada adicional llamada “Mapping Data” y cada campo de entrada te ofrece tres formas diferentes de proporcionar datos:
- Fixed (Fijo): Escribes el valor directamente en el campo.
- Mapped (Mapeado): Conectas la salida de otro componente para usar su resultado como valor.
- Javascript: Escribes código Javascript para calcular el valor dinámicamente.
Esta flexibilidad te permite crear flujos de trabajo más dinámicos y conectados.
Nota: Este componente requiere una credencial de tipo HuggingFace API que debe configurarse previamente en la sección de credenciales de Nappai. Una vez creada, selecciona esa credencial en el campo “Credential” del componente.
Campos de Entrada
- Custom Model ID: Identificador del modelo personalizado que deseas usar desde HuggingFace Hub.
- Inference Endpoint: URL del punto final de inferencia.
- Input: Texto que quieres procesar con el modelo.
- Mapping Mode: Interruptor que activa el modo de mapeo.
- Max New Tokens: Máximo número de tokens que el modelo puede generar.
- Model ID: Selección de un modelo predefinido desde HuggingFace Hub.
- Model Keyword Arguments: Argumentos adicionales que se pasan al modelo (por ejemplo,
do_sample=True
). - Repetition Penalty: Penalización por repetición; 1.0 significa sin penalización.
- Retry Attempts: Número de veces que el componente intentará reenviar la solicitud en caso de error.
- Stream: Habilita la transmisión de la respuesta. La transmisión solo funciona en modo chat.
- System Message: Mensaje de sistema que se pasa al modelo (útil en tareas de chat).
- Task: Tipo de tarea que se ejecutará (por ejemplo,
text-generation
,summarization
). - Temperature: Controla la aleatoriedad de la generación.
- Top K: Número de tokens más probables que se conservan para la filtración top‑k.
- Top P: Umbral de probabilidad acumulada para la filtración top‑p.
- Typical P: Masa de decodificación típica.
Salidas
- Text: Mensaje generado por el modelo (tipo
Message
). - Model: Instancia del modelo (
LanguageModel
) que puede reutilizarse en otras partes del flujo.
Ejemplo de Uso
- Configura la credencial: En la sección de credenciales de Nappai, crea una credencial de tipo HuggingFace API y guarda la clave.
- Añade el componente HuggingFace al flujo.
- Selecciona la credencial en el campo “Credential”.
- Configura los parámetros:
Model ID
:meta-llama/Llama-3.1-8B-Instruct
Task
:summarization
Max New Tokens
:200
Temperature
:0.7
Top P
:0.95
Repetition Penalty
:1.0
- Conecta la entrada
Input
con el texto que deseas resumir. - Conecta la salida
Text
a un componente de visualización o a otro proceso que necesite el resumen.
El flujo generará un resumen del texto de entrada y lo mostrará en la salida Text
.
Componentes Relacionados
- LLMCallbackHandler – Maneja los callbacks de la llamada al modelo.
- HuggingFaceEndpoint – Clase que encapsula la comunicación con la API de Hugging Face.
- LanguageModel – Representa el modelo que se puede reutilizar en otros componentes.
Consejos y Mejores Prácticas
- Elige el modelo adecuado: Los modelos más grandes generan respuestas más coherentes pero consumen más recursos.
- Ajusta la temperatura: Valores bajos (≈0.1) producen respuestas más determinísticas; valores altos (≈0.8) generan mayor creatividad.
- Usa top‑p en lugar de top‑k cuando quieras mayor diversidad sin perder coherencia.
- Configura
Retry Attempts
según la estabilidad de tu conexión a Internet. - Activa
Stream
solo cuando necesites respuestas en tiempo real (por ejemplo, en chats).
Consideraciones de Seguridad
- La clave de API de Hugging Face debe guardarse como credencial y no mostrarse en el flujo.
- Evita exponer la salida
Text
en logs públicos si contiene información sensible. - Si usas un punto final privado (
Inference Endpoint
), asegúrate de que la URL sea segura y que el tráfico esté cifrado (HTTPS).