Saltearse al contenido

LM Studio

LM Studio es un componente de Nappai que permite a los usuarios generar texto con modelos de lenguaje que se ejecutan localmente a través de la API de LM Studio. Con él, puedes aprovechar la potencia de los LLMs sin depender de servicios externos, manteniendo tus datos dentro de tu entorno.

¿Cómo funciona?

El componente se conecta a la API de LM Studio mediante una URL base (por defecto http://localhost:1234/v1). Cuando envías una solicitud, el componente construye un objeto ChatOpenAI que envía la petición al modelo seleccionado. El modelo devuelve una respuesta de texto que el componente entrega como salida. Si el usuario activa el modo de mapeo, el componente puede procesar varios registros a la vez, enviando cada uno al modelo y devolviendo los resultados en lote.

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.

Campos de Entrada

  • Base URL: Endpoint de la API de LM Studio. Si no lo indicas, se usará http://localhost:1234/v1.
  • Input: Entrada de datos que se enviará al modelo.
  • Mapping Mode: Interruptor que habilita el modo de mapeo.
  • Max Tokens: Máximo número de tokens que el modelo puede generar. Si lo estableces en 0, el modelo generará tokens ilimitados.
  • Model Kwargs: Parámetros adicionales que se pasarán al modelo.
  • Model Name: Nombre del modelo que quieres usar (se obtienen automáticamente desde la API).
  • Seed: Semilla que controla la reproducibilidad de la generación.
  • Stream: Si se activa, la respuesta se enviará en tiempo real (solo funciona en modo chat).
  • System Message: Mensaje de sistema que se pasa al modelo para guiar su comportamiento.
  • Temperature: Controla la aleatoriedad de la generación; valores más altos producen respuestas más creativas.

Salidas

  • Text: Mensaje de texto generado por el modelo.
  • Model: Objeto LanguageModel que representa la configuración del modelo usado.

Ejemplo de Uso

Supongamos que quieres generar un resumen de un artículo de noticias usando un modelo local de LM Studio:

  1. Configura el componente

    • Base URL: http://localhost:1234/v1 (o la URL de tu servidor LM Studio).
    • Model Name: selecciona el modelo que prefieras (por ejemplo, gpt-4o-mini).
    • Max Tokens: 200.
    • Temperature: 0.2.
    • Input: conecta la salida de un componente que extrae el texto del artículo.
  2. Activa Mapping Mode si quieres procesar varios artículos a la vez. Conecta la lista de artículos a la entrada Mapping Data.

  3. Ejecuta el flujo. El componente enviará cada artículo al modelo y devolverá un resumen por cada uno.

El resultado aparecerá en la salida Text, que puedes usar en un componente de visualización o guardarlo en una base de datos.

Componentes Relacionados

  • Chat OpenAI: Base de la lógica de generación de texto.
  • LLM Callback Handler: Maneja los eventos de generación y permite registrar logs.
  • HTTPX: Biblioteca que realiza las peticiones HTTP a la API de LM Studio.

Consejos y Mejores Prácticas

  • Mantén tu servidor LM Studio actualizado para aprovechar mejoras de rendimiento y seguridad.
  • Usa Max Tokens razonables para evitar respuestas demasiado largas que consuman recursos innecesariamente.
  • Configura Temperature según la tarea: valores bajos para respuestas precisas, valores altos para creatividad.
  • Activa Mapping Mode solo cuando necesites procesar lotes; de lo contrario, el modo fijo es más sencillo.
  • Guarda la salida Model si planeas reutilizar la misma configuración en otro flujo.

Consideraciones de Seguridad

  • La API de LM Studio suele requerir una clave (api_key). En este componente se usa una clave ficticia (1234), pero en producción deberías usar una clave segura y no exponerla en el código.
  • Si tu servidor LM Studio está accesible desde Internet, asegúrate de protegerlo con autenticación y cifrado TLS.
  • Evita exponer datos sensibles en la salida Text si el flujo se comparte con usuarios no autorizados.