Skip to content
BotServBotServ
OllamaAutomatizaciónCronjobsScriptsWorkflows

Ollama para Automatización

Integra Ollama en scripts, workflows y cronjobs. Clasificación de texto, resúmenes y procesamiento de datos.

S

schutzgeist

3 min read
Ollama para Automatización

Ollama para automatización

Qué cubre este artículo sobre automatización con Ollama

  • Cómo integrar Ollama en scripts y flujos de trabajo.
  • Ideas prácticas de automatización.
  • Ejemplos en Bash y Python.
  • Consejos para confiabilidad, logging y programación de tareas.
  • Seguridad y manejo de errores.

Introducción: Ollama para automatización

Ollama no es solo para chats interactivos. También resulta útil para tareas automatizadas: clasificación de textos, resúmenes, notificaciones, análisis de datos y procesamiento de documentos pueden ejecutarse completamente de forma automática. Con scripts, cronjobs o herramientas de flujos de trabajo, las tareas repetitivas se vuelven más eficientes y permanecen bajo cumplimiento normativo local.

Este artículo muestra cómo integrar Ollama en automatizaciones y qué casos de uso tienen sentido.

Conceptos clave

  • Automatización: Las tareas se ejecutan sin intervención manual.
  • Cronjob: Ejecución programada de un script.
  • Script: Archivo ejecutable que contiene comandos.
  • Flujo de trabajo: Secuencia de múltiples tareas.
  • Pipeline: Cadena de pasos de procesamiento.
  • Batch: Procesamiento de varios elementos en una sola pasada.
  • Log: Registro de la ejecución.
  • Trigger: Evento que inicia la automatización.

Concepto fundamental

Ollama expone una API sencilla que los scripts pueden utilizar:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.1",
  "prompt": "Fasse diesen Text zusammen: ...",
  "stream": false
}'

El resultado se puede procesar, almacenar o enviar.

Ejemplo: Clasificar correos electrónicos

#!/bin/bash

email_text=$(cat email.txt)

antwort=$(curl -s http://localhost:11434/api/generate -d "{
  \"model\": \"llama3.1\",
  \"prompt\": \"Klassifiziere diese E-Mail als SPAM, WICHTIG oder INFO: $email_text\",
  \"stream\": false
}")

echo "$antwort" | jq -r '.response'

Ejemplo: Resumir un documento

#!/bin/bash

text=$(cat dokument.txt)

zusammenfassung=$(curl -s http://localhost:11434/api/generate -d "{
  \"model\": \"llama3.1\",
  \"prompt\": \"Fasse den folgenden Text in drei Sätzen zusammen: $text\",
  \"stream\": false
}")

echo "$zusammenfassung" | jq -r '.response' > zusammenfassung.txt

Ejemplo: Script de Python

import requests
import json

def classify(text, model="llama3.1"):
    url = "http://localhost:11434/api/generate"
    payload = {
        "model": model,
        "prompt": f"Klassifiziere folgenden Text: {text}",
        "stream": False
    }
    response = requests.post(url, json=payload)
    return response.json()["response"]

with open("dokumente.txt") as f:
    inhalt = f.read()

result = classify(inhalt)
print(result)

Cronjob para tareas recurrentes

0 8 * * * /usr/local/bin/ollama-zusammenfassung.sh >> /var/log/ollama-cron.log 2>&1

Herramientas de flujos de trabajo

  • n8n: Flujos de trabajo visuales, Ollama mediante HTTP-Request.
  • Home Assistant: Automatizaciones con comandos de voz.
  • Node-RED: Automatización basada en flujo de datos.
  • GitHub Actions / GitLab CI: Verificaciones de IA automatizadas.
  • Airflow: Pipelines de datos complejos.

Ideas útiles de automatización

  • Clasificar correos electrónicos o tickets.
  • Resumir documentos.
  • Responder mensajes de chat.
  • Renombrar o mover archivos.
  • Analizar logs.
  • Generar notificaciones.
  • Comentar código.
  • Extraer datos de PDFs.
  • Generar textos para redes sociales.
  • Categorizar contenidos.

Logging y manejo de errores

if curl -f http://localhost:11434/api/tags; then
  echo "Ollama erreichbar"
else
  echo "Ollama nicht erreichbar" >&2
  exit 1
fi

En Python:

try:
    result = classify(text)
except requests.exceptions.RequestException as e:
    print(f"Fehler: {e}")
    exit(1)

Programación de tareas

  • Diariamente para reportes recurrentes.
  • Semanalmente para resúmenes.
  • Al detectar un evento, como cambios en archivos.
  • En intervalos específicos.

Seguridad

  • Limita el acceso a la API localmente.
  • No incluyas datos sensibles en prompts sin protección.
  • Valida entradas para evitar inyección de prompts.
  • Verifica las salidas antes de procesarlas automáticamente.
  • Inspecciona los logs para identificar contenido sensible.

Consejos

  • Haz los scripts idempotentes.
  • Registra errores con claridad.
  • Limita el uso de recursos.
  • Elige modelos adecuados para la tarea.
  • Comienza simple y amplía paso a paso.

Problemas comunes

  • Ollama no está ejecutándose: El script falla.
  • Modelo no disponible: Nombre incorrecto o no descargado.
  • Codificación de caracteres: Caracteres especiales codificados incorrectamente.
  • Tiempo de espera agotado: La respuesta tarda demasiado.
  • Falta de validación: Salidas defectuosas se procesan de todas formas.
  • Sin logs: Los errores no se pueden rastrear.

Enlaces y recursos adicionales

FAQ: Ollama para automatización

¿Puede Ollama clasificar correos electrónicos? Sí, un simple script de prompts puede clasificar texto.

¿Con qué frecuencia puedo llamar a Ollama? Tantas veces como lo permitan el hardware y el caché del modelo.

¿Necesito Docker para automatización? No, Ollama se ejecuta nativamente o en Docker.

¿Cómo evito errores cuando falla la conexión? Verifica la conexión con anticipación y utiliza códigos de salida.

¿Puedo integrar Ollama en n8n? Sí, mediante nodos de HTTP-Request.

Fuentes y lectura adicional

Resumen: Ollama para automatización

Ollama se automatiza fácilmente con scripts simples, cronjobs y herramientas de flujos de trabajo. La clasificación, los resúmenes y el procesamiento de datos pueden ejecutarse completamente en local. Lo importante es un buen manejo de errores, logging y elegir el modelo correcto. Quienes construyan pipelines simples y reproducibles pueden acelerar muchas tareas rutinarias con IA local, sin enviar datos a servicios externos.

Volver al blog
Share:

Entradas relacionadas