Saltearse al contenido

Ollama

El componente Ollama permite a los usuarios generar texto con modelos de lenguaje localizados en Ollama. Conecta tu dashboard de Nappai a un servidor Ollama que ya esté corriendo en tu máquina o en tu red, y envía peticiones de texto para obtener respuestas generadas por modelos como llama3.1 o cualquier otro que tengas instalado.

¿Cómo funciona?

Cuando configuras el componente, Nappai construye una petición HTTP al endpoint de Ollama (por defecto http://localhost:11434). El texto que quieras procesar se envía como prompt y Ollama devuelve la respuesta generada. El componente también permite ajustar parámetros de generación (temperatura, top‑k, top‑p, etc.) y opciones de control de coherencia como Mirostat. Todo esto se hace de forma asíncrona, lo que significa que tu dashboard no se bloquea mientras el modelo procesa la solicitud.

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: Dirección del servidor Ollama. Si no lo cambias, se usará http://localhost:11434.
  • Format: Especifica el formato de la respuesta (por ejemplo, json). Si lo dejas vacío, la respuesta será texto plano.
  • Input: El texto que quieres que el modelo procese. Es el prompt que envías a Ollama.
  • Mapping Mode: Interruptor que activa el modo de mapeo para procesar varios registros a la vez.
  • Metadata: Información adicional que se adjunta al registro de ejecución, útil para trazabilidad.
  • Mirostat: Activa o desactiva el algoritmo Mirostat para controlar la perplexidad del modelo.
  • Mirostat Eta: Tasa de aprendizaje del algoritmo Mirostat. Se usa solo cuando Mirostat está habilitado.
  • Mirostat Tau: Controla el equilibrio entre coherencia y diversidad. Se usa solo cuando Mirostat está habilitado.
  • Model Name: Nombre del modelo Ollama que quieres usar (por ejemplo, llama3.1). Se actualiza automáticamente con los modelos disponibles en tu servidor.
  • Context Window Size: Tamaño de la ventana de contexto para la generación de tokens. Por defecto 2048.
  • Number of GPUs: Número de GPUs que el modelo puede usar. 0 desactiva el uso de GPU.
  • Number of Threads: Número de hilos de CPU que el modelo empleará. Se detecta automáticamente si lo dejas vacío.
  • Repeat Last N: Cuántos tokens anteriores revisa el modelo para evitar repeticiones. 0 desactiva la comprobación.
  • Repeat Penalty: Penalización aplicada cuando el modelo repite tokens. Por defecto 1.1.
  • Stop Tokens: Lista separada por comas de tokens que harán que el modelo deje de generar texto.
  • Stream: Si se activa, la respuesta se envía en tiempo real (solo funciona en modo chat).
  • System: Mensaje de sistema que se pasa al modelo para guiar su comportamiento.
  • System Message: Mensaje de sistema adicional que se envía junto con el prompt.
  • Tags: Etiquetas separadas por comas que se añaden al registro de ejecución.
  • Temperature: Controla la creatividad de las respuestas. Valores más altos generan respuestas más variadas.
  • Template: Plantilla que se usa para formatear el prompt antes de enviarlo al modelo.
  • TFS Z: Valor de muestreo libre de cola. Por defecto 1.
  • Timeout: Tiempo máximo (en segundos) que se espera a la respuesta del modelo antes de cancelar la petición.
  • Top K: Límite de tokens que se consideran al generar la respuesta. Por defecto 40.
  • Top P: Umbral de probabilidad acumulada que se usa junto con Top K. Por defecto 0.9.
  • Verbose: Si se activa, se imprimen los textos de respuesta en la consola de Nappai.

Salidas

  • Text: La respuesta generada por el modelo, disponible como mensaje de texto.
  • Model: El objeto de modelo de lenguaje configurado, que puede ser reutilizado en otros componentes o flujos.

Ejemplo de Uso

  1. Instala Ollama en tu máquina y descarga el modelo llama3.1 con ollama pull llama3.1.
  2. En el dashboard de Nappai, arrastra el componente Ollama al lienzo.
  3. Configura los campos:
    • Base URL: http://localhost:11434
    • Model Name: llama3.1
    • Input: ¿Cuál es la capital de Francia?
    • Temperature: 0.2
    • Verbose: True
  4. Conecta la salida Text a un componente de visualización (por ejemplo, un cuadro de texto) para mostrar la respuesta.
  5. Ejecuta el flujo. Deberías ver algo como: “La capital de Francia es París.”

Componentes Relacionados

  • ChatGPT – Conecta a la API de OpenAI para generar texto con modelos GPT.
  • OpenAI – Permite usar cualquier modelo de OpenAI (GPT‑4, GPT‑3.5, etc.) con autenticación API.
  • Google Gemini – Integra el modelo Gemini de Google para generación de texto.
  • LLM Callback – Registra eventos y métricas de los modelos de lenguaje en tiempo real.

Consejos y Mejores Prácticas

  • Mantén Ollama actualizado: Los modelos y la API mejoran con frecuencia; actualiza tu instalación para aprovechar nuevas características.
  • Usa Mirostat con precaución: Si necesitas respuestas más coherentes, habilita Mirostat y ajusta Mirostat Eta y Mirostat Tau según tus necesidades.
  • Controla la temperatura: Valores bajos (≈0.1) generan respuestas más predecibles; valores altos (≈0.8) aumentan la creatividad.
  • Aprovecha el modo de mapeo: Cuando necesites procesar listas de prompts, activa Mapping Mode y conecta una fuente de datos para generar respuestas en lote.
  • Revisa los logs: Activa Verbose solo cuando necesites depurar; en producción, desactívalo para evitar salidas innecesarias.

Consideraciones de Seguridad

  • Servidor local: Ollama se ejecuta en tu máquina, por lo que los datos nunca salen de tu entorno. Asegúrate de que el puerto 11434 esté protegido si tu red es pública.
  • Control de acceso: Si compartes el dashboard con otros usuarios, limita quién puede cambiar la Base URL y los parámetros sensibles.
  • Datos sensibles: Evita enviar información confidencial a modelos locales sin cifrar, especialmente si el servidor está accesible desde fuera de tu red privada.