Ir al contenido principal

Entradas

Mostrando entradas de agosto, 2025

Automatizando WhatsApp con WAHA en Docker y Python

Automatizando WhatsApp con WAHA en Docker y Python Este tutorial explica cómo levantar WAHA en Docker, conectar WhatsApp y crear un bot en Python que responda automáticamente a mensajes usando eventos . 1️⃣ Preparar el entorno Docker Crea un directorio para el proyecto y agrega los archivos necesarios: mkdir -p /home/docker/waha cd /home/docker/waha Archivo docker-compose.yml : services: waha: image: devlikeapro/waha:noweb container_name: waha ports: - "3001:3000" environment: WHATSAPP_DEFAULT_ENGINE: noweb WHATSAPP_DEFAULT_SESSION: default LOG_LEVEL: info volumes: - ./waha-data:/app/data Archivo .env (opcional): # Tu API key en texto plano (opcional) WAHA_API_KEY=tu_clave_segura # O, mejor, el hash SHA512 que recomienda WAHA # WAHA_API_KEY=sha512:{SHA512_HASH_DE_TU_API_KEY} Levanta el contenedor: docker-compose up -d WAHA estará disponible en http://localhost:3001/dashboard/ y usará la sesi...

Instalar Evolution API en Docker con Redis y PostgreSQL Local

Instalar Evolution API en Docker con Redis y PostgreSQL Local En este tutorial vamos a levantar Evolution API usando Docker , con soporte de Redis para sesiones y PostgreSQL local para almacenar datos de manera persistente y compartida entre varios usuarios. 1. Estructura del proyecto Crea una carpeta para tu proyecto y colócate en ella: mkdir -p ~/docker/evolution-api cd ~/docker/evolution-api 2. Archivo docker-compose.yml Este compose levanta Redis y Evolution API : version: "3.9" services: # ✅ SERVICIO REDIS redis: container_name: evolution_redis image: redis:7-alpine restart: unless-stopped ports: - "6379:6379" volumes: - redis_data:/data command: redis-server --save 60 1 --loglevel warning # ✅ SERVICIO EVOLUTION API evolution-api: container_name: evolution_api image: atendai/evolution-api restart: unless-stopped ports: - "8085:8080" env_file: - .env ...

Solución Definitiva para Inputs de Fecha en Django

El Problema Los campos de fecha en Django pueden comportarse inconsistentemente: a veces devuelven objetos datetime, a veces strings en formato localizado, y cuando hay errores de validación, no siempre se muestran correctamente en el template. Solución Completa 1. Configuración Global (settings.py) Copiar # settings.py DATE_INPUT_FORMATS = ['%Y-%m-%d'] # Formato para parsear inputs USE_L10N = False # Desactiva localización DATE_FORMAT = 'Y-m-d' # Formato de visualización 2. Filtro Personalizado (templatetags/filters.py) Copiar from django import template import datetime register = template.Library() @register.filter def to_date_input(value): """ Convierte cualquier valor a formato YYYY-MM-DD para inputs type="date" """ if not value: return '' # Si ya está en formato YYYY-MM-DD if isinstance(value, str) and len(value) == 10 and value[4] =...

Llama.cpp en Linux con modelo local y servicio systemd

Servidor Llama.cpp en Linux con modelo local 1. Estructura de directorios Organiza todo bajo /opt/llama-app : /opt/llama-app/ ├── bin/ # Ejecutables compilados de llama.cpp │ └── llama-server └── models/ # Modelos de lenguaje └── Meta-Llama-3-8B-Instruct.Q4_K_M.gguf 2. Levantar el servidor manualmente cd /opt/llama-app/bin ./llama-server \ -m /opt/llama-app/models/Meta-Llama-3-8B-Instruct.Q4_K_M.gguf \ --host 0.0.0.0 \ --port 9000 \ --ctx-size 4096 \ --n-gpu-layers 0 3. Probar la API Desde la misma máquina: curl http://127.0.0.1:9000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "Meta-Llama-3-8B-Instruct.Q4_K_M", "messages": [ {"role": "system", "content": "Eres un asistente útil en español."}, {"role": "user", "content": "Explícame qué es la inteligencia ...

Docker y Llama.cpp: imagen con modelo y servidor compilados

Guía Completa: Crear un Servidor de Llama.cpp con Docker Incluyendo el Modelo En este tutorial te mostraré cómo configurar un servidor de Llama.cpp utilizando Docker, con la particularidad de que el modelo de lenguaje se incluirá dentro de la imagen Docker. Requisitos Previos Docker instalado en tu sistema Al menos 8 GB de espacio libre en disco 4 GB de RAM como mínimo Conexión a Internet estable (para descargar el modelo) Nota: La construcción de la imagen puede tardar entre 30-60 minutos debido al tamaño del modelo (4.58 GB). Paso 1: Crear el Directorio de Trabajo Copiar mkdir -p /home/docker/llama-server cd /home/docker/llama-server Paso 2: Crear el Archivo Dockerfile Crea un archivo llamado Dockerfile con el siguiente contenido: Copiar FROM ubuntu:22.04 # Instalar dependencias necesarias para compilar ...

Instala y ejecuta Meta-LLaMA-3-8B-Instruct en Docker de manera manual o automática

Guía completa: Levantar Meta-LLaMA-3-8B-Instruct Server en Docker paso a paso Este post explica cómo instalar y correr Meta-LLaMA-3-8B-Instruct usando Docker siguiendo la documentación oficial. Se presentan dos formas de manejar la descarga del modelo. 1️⃣ Prerrequisitos Docker instalado y corriendo en tu sistema. Al menos 16–32 GB de RAM según modelo. Crear carpeta para modelos: mkdir -p /home/docker/llama3-server/models cd /home/docker/llama3-server 2️⃣ Opciones para descargar y usar el modelo Opción A – Descargar el modelo fuera del contenedor (recomendado) 1. Descargar el modelo directamente en la carpeta models : cd /home/docker/llama3-server/models wget https://huggingface.co/QuantFactory/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct.Q4_K_M.gguf 2. Crear docker-compose.yml : services: llama-server: image: ghcr.io/ggm...

Instalar n8n con Docker servidor local Linux

Cómo Instalar n8n con Docker Compose en Linux (Red Local) Este tutorial paso a paso te mostrará cómo instalar y ejecutar n8n usando Docker Compose en Linux, asegurando que los datos persistan incluso si apagas el servidor, y que sea accesible desde cualquier dispositivo de tu red local. 1. Actualizar el sistema sudo apt update sudo apt upgrade -y 2. Instalar dependencias necesarias para Docker sudo apt install -y ca-certificates curl gnupg lsb-release 3. Agregar el repositorio oficial de Docker sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update 4. Instalar Docker y Docker Compose sudo apt install -y docker-ce docker-ce-cli...

Instalar llama.cpp, Ubuntu 24.4

Guía Completa: Ejecutar Modelos LLM Locales con llama.cpp Esta guía te muestra cómo ejecutar modelos de lenguaje grandes (LLM) localmente usando binarios precompilados de llama.cpp, sin necesidad de GPU. Requisitos Previos Sistema Linux (Ubuntu/Debian recomendado) Al menos 8GB de RAM (16GB recomendado para modelos grandes) Conexión a Internet para descargar binarios y modelos Conocimientos básicos de terminal 📂 Paso 1: Preparar el entorno Descargar binarios precompilados Crea un directorio y descarga los binarios precompilados de llama.cpp: Copiar # Crear directorio principal mkdir ~/llama-app cd ~/llama-app # Descargar binarios precompilados wget https://github.com/ggml-org/llama.cpp/releases/download/b6111/llama-b6111-bin-ubuntu-x64.zip # Descomprimir y organizar unzip llama-b6111-bin-ubuntu-x64.zip mv build llama.cpp # Renombrar carpeta cd llama.cpp/bin # Acceder a los e...

Manual para Ejecutar GPT-OSS-20B Localmente con Python

Manual para Ejecutar GPT-OSS-20B Localmente con Python 1. Requisitos previos PC con al menos 16 GB de RAM (ideal con GPU NVIDIA, pero también funciona en CPU). Sistema operativo Linux (o Windows con ajustes). Python 3.8+ instalado. Conexión a Internet para descargar modelos y dependencias. 2. Preparar entorno virtual y dependencias python -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate pip install --upgrade pip pip install transformers torch huggingface_hub Nota: Si no usás GPU NVIDIA, para evitar descargar librerías CUDA pesadas, instalá PyTorch para CPU solamente: pip uninstall torch pip cache purge pip install torch --index-url https://download.pytorch.org/whl/cpu 3. Script para inferencia interactiva Archivo: gpt_oss_20b_interactive.py import time from transformers import pipeline model_id = "openai/gpt-oss-20b" pipe = pipeline( "text-generation", model=model_id, torch_dtype=...

Guía rápida de comandos Docker

Guía rápida de comandos Docker esenciales para consola Docker es una herramienta clave para desarrollo y despliegue. Acá tenés los comandos más usados para manejar imágenes, contenedores y configuraciones desde la terminal. Listar imágenes y contenedores Copiar docker images # Mostrar imágenes descargadas docker ps # Contenedores activos docker ps -a # Todos los contenedores, incluso detenidos Trabajar con contenedores Copiar docker run -d -p 5678:5678 --name n8n n8nio/n8n # Levantar contenedor en segundo plano docker stop <contenedor> # Parar contenedor docker rm <contenedor> # Eliminar contenedor detenido docker logs <contenedor> # Ver logs de un contenedor Usar Docker Compose Copiar docker compose up -d # Levantar servicios definidos en docker-compose.yml docker compose down ...

Tutorial: n8n con Docker Compose en Linux

Tutorial Completo: Instalar y correr n8n en Linux con Docker Compose Este tutorial te guiará paso a paso para instalar y ejecutar n8n usando Docker Compose en un sistema Linux (como Ubuntu), con buenas prácticas y configuraciones recomendadas. --- 1. Actualizar el sistema Es buena práctica empezar actualizando los paquetes y sistema: Copiar sudo apt update sudo apt upgrade -y --- 2. Instalar dependencias necesarias para Docker Copiar sudo apt install -y ca-certificates curl gnupg lsb-release --- 3. Agregar repositorio oficial de Docker Copiar sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update --- 4. ...