POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Guía del Ingeniero para LLM Locales con LLaMA.cpp en Linux

Guía de IA local en Ubuntu con llama.cpp, llama-server y agentes locales

Publicado el 15/09/2025

Introducción En este artículo explico mi configuración local de IA en Ubuntu que utilizo tanto para proyectos personales como para flujos profesionales incluyendo chat local, flujos agentivos, agentes para programación, análisis de datos y generación de datasets sintéticos. Esta configuración es especialmente útil cuando necesito generar grandes cantidades de datos sintéticos localmente, procesar datos sensibles con modelos de lenguaje de forma segura, usar agentes locales sin enviar datos privados a proveedores externos, o simplemente usar chat y RAGs con total privacidad.

Qué aprenderás Compilar llama.cpp en tu máquina y añadirlo al PATH para poder usar la versión de vanguardia; usar llama-server para servir modelos locales con inferencia rápida; configurar llama-swap para conmutación automática de modelos y exponer una API compatible con OpenAI; usar systemd para ejecutar llama-swap como servicio que arranca con el sistema y se reinicia cuando cambia el archivo de configuración; integrar IA local en modo agente en tu terminal y en editores como QwenCode/OpenCode; probar flujos agentivos en Python con CrewAI. También comento modelos recomendados y configuraciones avanzadas como expansión de contexto, inferencia en lotes paralelos y uso de flash attention.

Sobre Q2BSTUDIO Somos Q2BSTUDIO, empresa especializada en desarrollo de software a medida, aplicaciones a medida, inteligencia artificial aplicada a empresas, ciberseguridad y servicios cloud. Ofrecemos servicios de inteligencia de negocio y soluciones con Power BI, agentes IA y automatización de procesos. Si buscas desarrollo de aplicaciones multiplataforma puedes ver nuestros servicios de desarrollo en desarrollo de aplicaciones software multiplataforma y para soluciones de IA empresarial visita nuestras propuestas de inteligencia artificial.

Hardware recomendado Ejemplo de hardware usado RTX3090 Founders Edition 24GB VRAM. Cuanta más VRAM mejor: modelos más grandes y contextos más extensos. En una RTX3090 puedes cargar un modelo Q5 quantizado 30B Qwen3 totalmente en VRAM y alcanzar velocidades altas con ventanas de contexto de 24k tokens o incluso 110k tokens con técnicas avanzadas de flash attention.

Prerequisitos Experiencia con entornos Linux Ubuntu 24 o 25, drivers NVIDIA propietarios instalados, CUDA toolkit, herramientas de compilación y git configurado. Este artículo asume conocimientos básicos de compilación y administración de paquetes en Linux.

Arquitectura Resumen de la arquitectura local: llama.cpp como motor de inferencia GGUF, llama-server para exponer modelos, llama-swap como proxy y administrador de modelos con API compatible OpenAI, systemd para gestión como servicio y clientes como QwenCode o herramientas en Python para agentes.

Instalación y compilación de llama.cpp Clona el repositorio git clone git@github.com:ggml-org/llama.cpp.git cd llama.cpp Compila para CUDA usando cmake cmake -B build -DGGML_CUDA=ON -DBUILD_SHARED_LIBS=OFF -DLLAMA_CURL=ON -DGGML_CUDA_FA_ALL_QUANTS=ON cmake --build build --config Release -j --clean-first Tras compilar los binarios quedarán en build/bin Para mantener llamacpp actualizado git pull origin master y vuelve a compilar Añadir llama.cpp al PATH export LLAMACPP=/home/tuusuario/llama.cpp export PATH=$LLAMACPP/build/bin:$PATH Prueba llama-server --help y llama-cli -hf ggml-org/gemma-3-1b-it-GGUF para verificar que la inferencia funciona.

Instalar y configurar llama-swap llama-swap es un proxy ligero que gestiona la carga y descarga automática de modelos y expone una API REST compatible OpenAI Descargar la versión adecuada desde la página de releases descomprimir y colocar el ejecutable en ~/llama-swap/bin añadir esa carpeta al PATH export PATH=$HOME/llama-swap/bin:$PATH crear un archivo de configuración vacío ~/llama-swap/config.yaml y comprobar llama-swap --help

Modelos GGUF Descarga modelos GGUF de Hugging Face u otros mirrors. Ejemplos usados en la guía: Qwen3-4B y Gemma3-4B coloca los archivos en una estructura de carpetas clara como ~/models/qwen/Qwen3-4B/Qwen3-4B-Q8_0.gguf y ~/models/google/Gemma3-4B/gemma-3-4b-it-Q8_0.gguf

Ejemplo simplificado de configuración de llama-swap Define macros que ejecutan llama-server con las opciones de contexto, temperatura, top p, flash attention y ruta del archivo GGUF y luego declara modelos con su cmd y ttl. Inicia llama-swap con llama-swap --listen 0.0.0.0:8083 --config ~/llama-swap/config.yaml y accede a la interfaz en https://localhost:8083 Desde allí puedes cargar y descargar modelos manualmente y ver su estado.

Realizar inferencia vía API compatible OpenAI Ejemplo de petición POST al endpoint local chat completions usando curl para el modelo Qwen3 curl -X POST https://localhost:8083/v1/chat/completions -H Content-Type: application/json -d '{ 'messages':[{'role':'user','content':'hola'}],'stream':false,'model':'Qwen3-4b'}' | jq llama-swap cargará automáticamente el modelo necesario en memoria y devolverá la respuesta JSON con tiempos y uso de tokens.

Opcional systemd para ejecutar llama-swap al iniciar y reinicio automático al cambiar la configuración Puedes crear una unidad de usuario llama-swap.service que lance el comando con tu shell y otra unidad llama-swap-restart.service para reiniciar. También crea una unidad path llama-swap-config.path que vigile ~/llama-swap/config.yaml y dispare el reinicio si cambia. Habilita y arranca las unidades con systemctl daemon-reload y systemctl --user enable y start según corresponda. Usa journalctl --user -u llama-swap.service -f para revisar logs y comprobar reinicios automáticos.

Configuraciones avanzadas y consejos Practica con quantizaciones Q4 y Q5 dinámicas para ajustar uso de VRAM y velocidad. Para contextos muy largos combina flash attention con flags de cache tipo --cache-type-k y --cache-type-v. Para inferencia paralela considera particionar solicitudes en batches y usar instancias separadas de llama-server o configuraciones de multi-threading en llama.cpp.

Integración con QwenCode y agentes de código Localmente puedes conectar editores como QwenCode configurando OPENAI_API_KEY con un valor compartido por llama-swap y apuntando OPENAI_BASE_URL a https://localhost:8083/v1 y el modelo correspondiente. Ejemplo para un agente de programación grande configura OPENAI_MODEL con el alias que declaraste en llama-swap y abre el proyecto en VS Code para tener un agente de codificación local que sugiere y aplica cambios sin enviar código a servicios externos.

Modelos y usos recomendados Resumen rápido de usos y modelos recomendados para cada caso: chat y asistentes ligeros modelos 3 4B Gemma o Qwen; agentes de programación modelos coder 30B quantizados en GPUs con 24GB VRAM; análisis de datos y RAGs usa modelos afinados para embebidos y considera separar indexado y consulta; datos sensibles siempre mantén todo en la máquina local para cumplir con requisitos de privacidad y ciberseguridad.

Palabras clave y servicios relacionados Este artículo contiene términos relevantes para posicionamiento como aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si necesitas una solución empresarial completa que combine desarrollo personalizado, despliegue en la nube y seguridad, en Q2BSTUDIO diseñamos soluciones end to end que integran estas disciplinas incluyendo despliegues en servicios cloud como AWS y Azure y proyectos de inteligencia de negocio con Power BI.

Contacto y siguientes pasos Si llegaste hasta aquí felicidades, ya tienes la base para montar un entorno local de LLMs en Linux. Descarga modelos, adapta las macros de llama-swap a tus rutas y GPUs, y empieza a experimentar con agentes y RAGs locales. Para proyectos profesionales o integración personalizada contacta con Q2BSTUDIO y te ayudamos a diseñar la solución a medida que mejor se adapte a tus necesidades de IA, ciberseguridad y cloud.

Notas finales Si algún paso no queda claro o encuentras errores en tu hardware o en versiones de dependencias, coméntalo y responderé con soluciones prácticas. Esta guía se actualizará con nuevas optimizaciones y modelos según vayan surgiendo mejoras en llama.cpp, llama-server y herramientas afines.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio