<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Local LLM on KnightLi Blog</title>
        <link>https://www.knightli.com/es/tags/local-llm/</link>
        <description>Recent content in Local LLM on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Mon, 11 May 2026 08:51:37 +0800</lastBuildDate><atom:link href="https://www.knightli.com/es/tags/local-llm/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Ejecutar DeepSeek 4 en local: el experimento ds4 de Antirez en Apple Silicon Mac</title>
        <link>https://www.knightli.com/es/2026/05/11/deepseek-v4-flash-ds4-metal/</link>
        <pubDate>Mon, 11 May 2026 08:51:37 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/11/deepseek-v4-flash-ds4-metal/</guid>
        <description>&lt;p&gt;Antirez ha publicado un nuevo proyecto open source: &lt;code&gt;ds4&lt;/code&gt;. No es un framework LLM de propósito general, sino un motor de inferencia local para DeepSeek V4 Flash, centrado en Apple Silicon y el backend Metal.&lt;/p&gt;
&lt;p&gt;URL del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/antirez/ds4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/antirez/ds4&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;qué-es-ds4&#34;&gt;Qué es ds4
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ds4&lt;/code&gt; tiene un objetivo muy claro: ejecutar DeepSeek V4 Flash localmente en un Mac.&lt;/p&gt;
&lt;p&gt;Actualmente ofrece tres formas de uso:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CLI interactiva.&lt;/li&gt;
&lt;li&gt;HTTP server.&lt;/li&gt;
&lt;li&gt;Un modo Agent experimental.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por su posicionamiento, se parece más a un proyecto de inferencia profundamente optimizado para un modelo específico que a un reemplazo de herramientas generales como &lt;code&gt;llama.cpp&lt;/code&gt;, Ollama o vLLM.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-merece-atención&#34;&gt;Por qué merece atención
&lt;/h2&gt;&lt;p&gt;Hay tres razones principales por las que este tipo de proyecto merece atención.&lt;/p&gt;
&lt;p&gt;La primera es que su autor es Antirez, creador de Redis. Lleva mucho tiempo interesado en sistemas de bajo nivel, rendimiento y herramientas simples, y sus proyectos suelen tener un estilo bastante directo.&lt;/p&gt;
&lt;p&gt;La segunda es que DeepSeek V4 Flash apunta a una inferencia eficiente. Si la experiencia local es lo bastante buena, puede resultar muy atractivo para usuarios de Mac.&lt;/p&gt;
&lt;p&gt;La tercera es que &lt;code&gt;ds4&lt;/code&gt; apunta directamente a Apple Metal. En lugar de intentar soportar todas las plataformas primero y optimizar después, parece buscar profundidad en un escenario muy definido.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ds4&lt;/code&gt; encaja mejor con usuarios que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usan un Apple Silicon Mac.&lt;/li&gt;
&lt;li&gt;Quieren ejecutar DeepSeek V4 Flash en local.&lt;/li&gt;
&lt;li&gt;Se interesan por el rendimiento de inferencia con Metal.&lt;/li&gt;
&lt;li&gt;Están dispuestos a probar un proyecto en fase alpha.&lt;/li&gt;
&lt;li&gt;Quieren estudiar motores de inferencia ligeros y detalles de ejecución de modelos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu objetivo es un despliegue estable, ejecución multiplataforma o una infraestructura compatible con OpenAI API, probablemente no sea la primera opción en esta etapa. Tiene más sentido como herramienta experimental y como proyecto técnico para observar.&lt;/p&gt;
&lt;h2 id=&#34;cómo-usarlo&#34;&gt;Cómo usarlo
&lt;/h2&gt;&lt;p&gt;El flujo básico que muestra el README del proyecto es compilar primero y ejecutar después.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/antirez/ds4.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ds4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ejecución interactiva:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./ds4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Iniciar el HTTP server:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./ds4 --server
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Modo Agent:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./ds4 --agent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para los parámetros concretos y la preparación de los archivos del modelo, conviene seguir el README del repositorio, porque el proyecto todavía cambia con rapidez.&lt;/p&gt;
&lt;h2 id=&#34;riesgos-actuales&#34;&gt;Riesgos actuales
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ds4&lt;/code&gt; todavía está en una etapa temprana, así que conviene ajustar expectativas antes de usarlo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Las funciones pueden estar incompletas.&lt;/li&gt;
&lt;li&gt;Los parámetros, formatos de modelo y comportamientos de línea de comandos pueden cambiar.&lt;/li&gt;
&lt;li&gt;La compatibilidad gira principalmente alrededor de Apple Silicon y Metal.&lt;/li&gt;
&lt;li&gt;El modo Agent es más experimental y no es adecuado para usarlo directamente en producción.&lt;/li&gt;
&lt;li&gt;Si surge un problema, quizá tengas que leer el README, los issues o el código fuente por tu cuenta.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En otras palabras, ahora mismo se parece más a un experimento open source que vale la pena probar que a una herramienta de un clic para usuarios generales.&lt;/p&gt;
&lt;h2 id=&#34;diferencias-frente-a-herramientas-de-inferencia-generales&#34;&gt;Diferencias frente a herramientas de inferencia generales
&lt;/h2&gt;&lt;p&gt;Las herramientas de inferencia generales suelen buscar compatibilidad amplia con formatos de modelo, plataformas, backends y APIs. &lt;code&gt;ds4&lt;/code&gt; toma un camino más estrecho: ejecutar DeepSeek V4 Flash en local con Metal.&lt;/p&gt;
&lt;p&gt;Esa decisión tiene ventajas y costes.&lt;/p&gt;
&lt;p&gt;La ventaja es que la implementación puede mantenerse enfocada, lo que facilita optimizar rendimiento y experiencia alrededor de un único objetivo. El coste es un alcance limitado: no está pensado para ejecutar todo tipo de modelos ni para sustituir una plataforma completa de despliegue.&lt;/p&gt;
&lt;p&gt;Si ya usas &lt;code&gt;llama.cpp&lt;/code&gt; u Ollama, &lt;code&gt;ds4&lt;/code&gt; puede servir como herramienta complementaria de pruebas, no como sustituto inmediato de tu flujo de trabajo actual.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Lo interesante de &lt;code&gt;ds4&lt;/code&gt; no es que sea otra herramienta local para grandes modelos. Lo interesante es que reduce mucho su alcance: DeepSeek V4 Flash, Apple Silicon, Metal e inferencia local.&lt;/p&gt;
&lt;p&gt;Si tienes un Mac adecuado y te apetece experimentar con un proyecto temprano, vale la pena seguir su rendimiento, su forma de soportar modelos y la evolución de sus capacidades de server/agent. Para entornos de producción, es mejor observar un poco más y evaluarlo cuando las interfaces y la forma de uso sean más estables.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Proyecto en GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/antirez/ds4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/antirez/ds4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Cómo medir el rendimiento multi-GPU en llama.cpp: ¿2x V100 16GB son más rápidas que una sola GPU de 32GB?</title>
        <link>https://www.knightli.com/es/2026/05/09/llama-cpp-multi-gpu-offload-performance/</link>
        <pubDate>Sat, 09 May 2026 15:05:41 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/09/llama-cpp-multi-gpu-offload-performance/</guid>
        <description>&lt;p&gt;La conclusión rápida: el multi-GPU offload de llama.cpp no significa rendimiento gratis por añadir una segunda tarjeta. Si el modelo ya cabe completo en una GPU de 32GB, 2x V100 16GB suele ser menos cómodo que una sola tarjeta de 32GB, e incluso puede ser más lento. Si el modelo no cabe en una sola tarjeta de 16GB, el valor principal de usar dos GPU es mantener el modelo en GPU, y ahí la mejora sí puede ser clara.&lt;/p&gt;
&lt;h2 id=&#34;primero-separa-los-split-mode&#34;&gt;Primero, separa los split mode
&lt;/h2&gt;&lt;p&gt;El uso multi-GPU en llama.cpp gira principalmente alrededor de &lt;code&gt;--split-mode&lt;/code&gt; y &lt;code&gt;--tensor-split&lt;/code&gt;. Para hablar de rendimiento, conviene distinguir primero estos modos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;layer&lt;/code&gt;: divide capas entre distintas GPU. Suele ser el punto de partida más compatible.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tensor&lt;/code&gt;: divide el cálculo de tensores entre varias GPU. Se acerca más al paralelismo real, pero depende mucho del ancho de banda entre GPU y del soporte del backend.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;row&lt;/code&gt;: un modo antiguo de división por filas. Todavía aparece en algunas configuraciones, pero normalmente no es la primera opción para despliegues nuevos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En términos simples, &lt;code&gt;layer&lt;/code&gt; es como poner diferentes pisos en diferentes tarjetas. Durante la generación de un solo token, no siempre mantiene ambas GPU completamente ocupadas. &lt;code&gt;tensor&lt;/code&gt; se parece más a hacer que ambas tarjetas trabajen juntas en la misma capa. Tiene más paralelismo teórico, pero la comunicación entre GPU puede convertirse en el cuello de botella.&lt;/p&gt;
&lt;h2 id=&#34;si-una-gpu-de-32gb-puede-cargar-el-modelo-dos-de-16gb-no-siempre-son-más-rápidas&#34;&gt;Si una GPU de 32GB puede cargar el modelo, dos de 16GB no siempre son más rápidas
&lt;/h2&gt;&lt;p&gt;Si el modelo y la KV cache caben completos en una GPU de 32GB, una sola tarjeta suele ser más estable y a menudo más rápida. En hardware de la misma generación, como 1x V100 32GB frente a 2x V100 16GB, la configuración de dos tarjetas no tiene por qué ganar.&lt;/p&gt;
&lt;p&gt;Una expectativa conservadora es que 2x V100 16GB pueda ser entre un 10% y un 40% más lenta que una sola V100 32GB, sobre todo en chat de un solo usuario, Continue Agent y preguntas de código, donde una petición suele generar una sola respuesta.&lt;/p&gt;
&lt;p&gt;La razón es sencilla: multi-GPU no convierte la VRAM en un único gran bloque rápido. Con división por capas, la inferencia pasa entre GPU y una tarjeta puede esperar a la otra durante la generación. Con división por tensores, ambas tarjetas pueden calcular juntas, pero los resultados intermedios necesitan sincronización entre GPU, y el ancho de banda y la latencia afectan directamente el throughput.&lt;/p&gt;
&lt;p&gt;Así que si tus opciones son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1x V100 32GB&lt;/li&gt;
&lt;li&gt;2x V100 16GB&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;y el modelo objetivo ya cabe completo en una sola tarjeta de 32GB, la GPU única de 32GB suele ser la opción más cómoda.&lt;/p&gt;
&lt;h2 id=&#34;si-una-gpu-de-16gb-no-puede-cargar-el-modelo-dos-tarjetas-sí-aportan-mucho&#34;&gt;Si una GPU de 16GB no puede cargar el modelo, dos tarjetas sí aportan mucho
&lt;/h2&gt;&lt;p&gt;La situación cambia por completo cuando el modelo no cabe en una GPU de 16GB, pero sí cabe repartido entre dos tarjetas de 16GB.&lt;/p&gt;
&lt;p&gt;En ese caso, el valor de dos GPU es directo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Una tarjeta de 16GB: puede requerir mucho CPU offload, con una caída clara de velocidad.&lt;/li&gt;
&lt;li&gt;2x 16GB: los pesos pueden quedarse en gran parte en GPU, lo que puede ser mucho más rápido que una ejecución mixta CPU/GPU.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En este escenario, 2x V100 16GB no garantiza superar a una sola tarjeta de 32GB, pero puede ser varias veces más rápida que una sola 16GB con mucho offload a memoria del sistema. Es decir, el primer valor de dos tarjetas no es acelerar; es evitar que los pesos del modelo caigan en una RAM del sistema mucho más lenta.&lt;/p&gt;
&lt;h2 id=&#34;v100-pcie-y-v100-sxm2-son-muy-diferentes&#34;&gt;V100 PCIe y V100 SXM2 son muy diferentes
&lt;/h2&gt;&lt;p&gt;Lo que más se pasa por alto en inferencia multi-GPU es el interconnect.&lt;/p&gt;
&lt;p&gt;Si tienes V100 SXM2 con NVLink, el ancho de banda entre GPU es mucho mayor. La documentación de NVIDIA para V100 indica que NVLink puede llegar hasta 300GB/s de ancho de banda de interconexión. En ese entorno, &lt;code&gt;tensor&lt;/code&gt; o cargas con batch más alto tienen más posibilidades de acercarse o incluso superar el rendimiento de una sola tarjeta.&lt;/p&gt;
&lt;p&gt;Si tienes V100 PCIe, conviene ser mucho más conservador. V100 PCIe usa principalmente PCIe Gen3, y el interconnect bandwidth indicado es 32GB/s. No está en la misma categoría que NVLink, por eso dos tarjetas PCIe a menudo dan VRAM suficiente, pero no duplican la velocidad.&lt;/p&gt;
&lt;p&gt;Por eso, para decidir si 2x V100 16GB merece la pena, no basta con sumar VRAM y decir que son 32GB. También hay que comprobar si son tarjetas PCIe o SXM2/NVLink.&lt;/p&gt;
&lt;h2 id=&#34;cómo-elegir-de-forma-práctica&#34;&gt;Cómo elegir de forma práctica
&lt;/h2&gt;&lt;p&gt;Si el modelo cabe en una sola GPU de 32GB, prioriza una sola tarjeta. Su latencia, estabilidad y coste de ajuste suelen ser mejores.&lt;/p&gt;
&lt;p&gt;Si el modelo no cabe en una GPU de 16GB, pero sí en dos de 16GB, merece la pena usar dos tarjetas. En ese caso, el objetivo es mantener los pesos en GPU tanto como sea posible, no esperar una mejora lineal de rendimiento.&lt;/p&gt;
&lt;p&gt;Si tienes dos V100 PCIe, empieza con &lt;code&gt;--split-mode layer&lt;/code&gt; y busca ejecución estable con menos caída a CPU.&lt;/p&gt;
&lt;p&gt;Si tienes V100 SXM2/NVLink, vale más la pena probar modos relacionados con &lt;code&gt;tensor&lt;/code&gt;, especialmente en prefill, batch más grande o servicio concurrente.&lt;/p&gt;
&lt;h2 id=&#34;cuándo-comprar-2x16gb-y-cuándo-comprar-1x32gb&#34;&gt;Cuándo comprar 2x16GB y cuándo comprar 1x32GB
&lt;/h2&gt;&lt;p&gt;Si solo atiendes a un usuario y trabajas sobre todo con chat, completado de código, Continue Agent o preguntas con contexto largo, y el modelo objetivo cabe en 32GB, 1x32GB suele ser mejor. Evita la planificación entre GPU, ofrece latencia más estable y simplifica la depuración.&lt;/p&gt;
&lt;p&gt;Si ya tienes una tarjeta de 16GB y quieres una forma más barata de ejecutar modelos de 30B, 32B o cuantizaciones más grandes, 2x16GB tiene sentido. No necesariamente duplicará los token/s, pero puede mantener en GPU pesos que de otro modo tendrían que ir a CPU offload.&lt;/p&gt;
&lt;p&gt;Si vas a comprar desde cero, puedes priorizar así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un solo modelo, un solo usuario, latencia importante: preferir 1x32GB.&lt;/li&gt;
&lt;li&gt;El modelo no cabe en una sola tarjeta y el presupuesto es limitado: considerar 2x16GB.&lt;/li&gt;
&lt;li&gt;Hay una máquina con NVLink o SXM2: 2x16GB es mucho más interesante que dos tarjetas PCIe comunes.&lt;/li&gt;
&lt;li&gt;Quieres usar contextos más largos en el futuro: no mires solo el tamaño de los pesos; reserva VRAM para KV cache.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;consejos-prácticos-para-layer-split-y-tensor-split&#34;&gt;Consejos prácticos para layer split y tensor split
&lt;/h2&gt;&lt;p&gt;La regla práctica es: empieza con &lt;code&gt;layer&lt;/code&gt; y luego mide &lt;code&gt;tensor&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;layer&lt;/code&gt; es un buen punto de partida. Divide el modelo por capas, tiene mejor compatibilidad y funciona mejor en sistemas PCIe de dos tarjetas. Su desventaja es que la generación puede comportarse como una tubería: en algunos momentos una tarjeta está ocupada mientras la otra espera.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tensor&lt;/code&gt; encaja mejor en máquinas con buena interconexión, como V100 SXM2/NVLink. Divide parte del cálculo de una misma capa entre varias GPU, así que tiene más paralelismo teórico, pero también sincroniza más a menudo entre tarjetas. En dos GPU PCIe, el coste de comunicación puede comerse la ganancia.&lt;/p&gt;
&lt;p&gt;Puedes empezar con estas pruebas:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llama-bench -m model.gguf -ngl &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; --split-mode layer --tensor-split 1,1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llama-bench -m model.gguf -ngl &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; --split-mode tensor --tensor-split 1,1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llama-bench -m model.gguf -ngl &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; --split-mode layer --tensor-split 1,0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El tercer comando no es para uso permanente. Sirve como referencia de una sola tarjeta, para saber si dos GPU realmente son más rápidas o solo están repartiendo la presión de VRAM.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-prefill-y-decode-se-comportan-distinto&#34;&gt;Por qué prefill y decode se comportan distinto
&lt;/h2&gt;&lt;p&gt;El rendimiento de un LLM local suele dividirse en dos fases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;prefill&lt;/code&gt;: procesa el prompt de entrada. Una métrica típica es el throughput de prompt processing, como &lt;code&gt;pp512&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;decode&lt;/code&gt;: genera la respuesta token por token. Una métrica típica es el throughput de token generation, como &lt;code&gt;tg128&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;prefill&lt;/code&gt; se parece más a cálculo matricial con batch grande. Con batch más alto es más fácil mantener las GPU ocupadas y obtener beneficio del paralelismo multi-GPU. &lt;code&gt;decode&lt;/code&gt; genera un token tras otro. El batch es pequeño y la sincronización es frecuente, así que la comunicación entre tarjetas y la latencia de planificación se notan más.&lt;/p&gt;
&lt;p&gt;Por eso puedes ver que dos GPU mejoran &lt;code&gt;pp512&lt;/code&gt;, pero &lt;code&gt;tg128&lt;/code&gt; apenas mejora o incluso empeora. Para chat y agentes, la experiencia del usuario se parece más a &lt;code&gt;tg128&lt;/code&gt;. Para ingestión de documentos largos, prefill por lotes o servicio concurrente, &lt;code&gt;pp512&lt;/code&gt; también importa.&lt;/p&gt;
&lt;h2 id=&#34;puede-kv-cache-convertirse-en-el-segundo-cuello-de-botella-de-vram&#34;&gt;¿Puede KV cache convertirse en el segundo cuello de botella de VRAM?
&lt;/h2&gt;&lt;p&gt;Sí. Muchas personas solo calculan los pesos del modelo y olvidan la KV cache.&lt;/p&gt;
&lt;p&gt;Los pesos determinan si el modelo puede cargarse. La KV cache determina si puedes usar la longitud de contexto que quieres. Cuanto más largo sea el contexto, mayor la concurrencia y más grande el batch, más visible será el consumo de KV cache. Puede pasar que el modelo base quepa en 32GB, pero al abrir 32K o 64K de contexto vuelva a faltar VRAM.&lt;/p&gt;
&lt;p&gt;Como mínimo, deja margen de VRAM para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;KV cache&lt;/li&gt;
&lt;li&gt;CUDA graph o sobrecarga del runtime del backend&lt;/li&gt;
&lt;li&gt;prompt batch y ubatch&lt;/li&gt;
&lt;li&gt;escritorio, driver y otros procesos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si usas 2x16GB, la VRAM no es un pool único de 32GB completamente equivalente. Algunos buffers, KV cache o tensores intermedios todavía pueden quedar limitados por la memoria restante en una sola tarjeta. Para probar contexto largo, usa directamente el &lt;code&gt;--ctx-size&lt;/code&gt; objetivo y la concurrencia objetivo, no solo compruebes si el modelo arranca.&lt;/p&gt;
&lt;h2 id=&#34;cómo-medir-tus-dos-tarjetas-con-llama-bench&#34;&gt;Cómo medir tus dos tarjetas con llama-bench
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;llama-bench&lt;/code&gt; es mejor que chatear directamente para comparar hardware, porque separa prompt processing y token generation en métricas comparables. El ejemplo básico del README oficial es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llama-bench -m model.gguf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para dos V100, al menos mide estos grupos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Single-card baseline&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; llama-bench -m model.gguf -ngl &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Dual-card layer split&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0,1 llama-bench -m model.gguf -ngl &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; --split-mode layer --tensor-split 1,1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Dual-card tensor split&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0,1 llama-bench -m model.gguf -ngl &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; --split-mode tensor --tensor-split 1,1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Fíjate sobre todo en dos columnas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pp512&lt;/code&gt;: prompt processing, más relevante para entradas largas y prefill por lotes.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tg128&lt;/code&gt;: token generation, más relevante para chat de un solo usuario y respuesta de agentes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mantén fijos el modelo, la cuantización, el contexto, batch, versión del driver y versión de llama.cpp. Ejecuta cada grupo varias veces y compara medianas, no un único resultado. Por último, prueba también tu flujo real, como Continue Agent, un OpenAI-compatible server o tus propias peticiones RAG, porque un benchmark bonito no siempre significa una mejor experiencia interactiva.&lt;/p&gt;
&lt;h2 id=&#34;conclusión-en-una-frase&#34;&gt;Conclusión en una frase
&lt;/h2&gt;&lt;p&gt;La ventaja principal de 2x V100 16GB es la capacidad de VRAM, no una velocidad de generación garantizada. Si el modelo cabe en una sola tarjeta, una GPU de 32GB suele ser más rápida y estable. Si el modelo no cabe en una sola 16GB, dos tarjetas de 16GB valen mucho porque evitan gran parte del CPU offload. Que sean más rápidas o no depende del split mode, batch, tamaño del modelo y de si las dos V100 están conectadas por PCIe o NVLink.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;llama.cpp server README&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.mintlify.com/ggml-org/llama.cpp/concepts/backends&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;llama.cpp Compute Backends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nvidia.com/en-gb/data-center/tesla-v100/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA Tesla V100&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://images.nvidia.com/content/technologies/volta/pdf/tesla-volta-v100-datasheet.pdf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA V100 Datasheet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Benchmarks de inferencia AI en RTX 5090 / 5080: como elegir para LLM locales, video 4K y 3D en tiempo real</title>
        <link>https://www.knightli.com/es/2026/05/08/rtx-5090-5080-ai-inference-benchmark/</link>
        <pubDate>Fri, 08 May 2026 10:07:19 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/08/rtx-5090-5080-ai-inference-benchmark/</guid>
        <description>&lt;p&gt;Para los usuarios de AI local, la serie RTX 50 no llama la atencion solo por los FPS en juegos. Blackwell, la memoria GDDR7 y los Tensor Cores de quinta generacion cambian lo que puede hacer una estacion de trabajo AI de escritorio. Si ejecutas LLM locales, generacion de imagen, mejora de video o 3D en tiempo real, la GPU ya no es solo un dispositivo de render.&lt;/p&gt;
&lt;p&gt;RTX 5090 y RTX 5080 no se deben comparar solo por el nombre. Ambas usan Blackwell y soportan DLSS 4, Tensor Cores de quinta generacion y FP4, pero la experiencia real en AI local depende de la VRAM, el ancho de banda, el soporte de software y la compatibilidad con cada modelo.&lt;/p&gt;
&lt;p&gt;La conclusion corta: RTX 5090 es la opcion insignia para AI local con una sola tarjeta, modelos grandes, contexto largo, imagen y video AI. RTX 5080 encaja mejor en presupuestos mas ajustados, modelos mas pequenos y flujos que caben en 16GB de VRAM. Ambas mejoran frente a la generacion anterior, pero no todas las aplicaciones AI aprovechan Blackwell desde el primer dia.&lt;/p&gt;
&lt;h2 id=&#34;primero-mira-la-diferencia-de-hardware&#34;&gt;Primero mira la diferencia de hardware
&lt;/h2&gt;&lt;p&gt;RTX 5090 incluye 32GB GDDR7, bus de memoria de 512-bit, 21760 CUDA Core y 3352 AI TOPS. En pruebas publicas, Puget Systems tambien destaca un ancho de banda de unos 1.79TB/s, frente a los 24GB y unos 1.01TB/s de RTX 4090. Para cargas AI, esa diferencia importa.&lt;/p&gt;
&lt;p&gt;RTX 5080 es mas contenida: 16GB GDDR7, bus de 256-bit, 10752 CUDA Core y 1801 AI TOPS. Su ancho de banda ronda los 960GB/s, una mejora clara frente a RTX 4080, pero la VRAM sigue en 16GB.&lt;/p&gt;
&lt;p&gt;Eso deja roles bastante claros:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RTX 5090 destaca por 32GB de VRAM y alto ancho de banda, utiles para modelos mayores, contexto mas largo y tareas multimodales pesadas.&lt;/li&gt;
&lt;li&gt;RTX 5080 controla mejor coste y consumo, y sirve para modelos pequenos o medianos, generacion de imagen, video ligero y desarrollo.&lt;/li&gt;
&lt;li&gt;Si una tarea ya esta limitada por VRAM, la potencia de calculo de RTX 5080 no compensa facilmente el limite de 16GB.&lt;/li&gt;
&lt;li&gt;Si la tarea esta limitada por optimizacion de software, RTX 5090 no siempre se separara de RTX 4090 segun sus especificaciones teoricas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En inferencia AI local, la regla suele ser simple: la VRAM decide si algo corre, el ancho de banda decide que tan rapido se siente. Por eso RTX 5090 resulta mas atractiva para LLM locales.&lt;/p&gt;
&lt;h2 id=&#34;llm-locales-32gb-pesan-mas&#34;&gt;LLM locales: 32GB pesan mas
&lt;/h2&gt;&lt;p&gt;Al correr LLM, la VRAM se usa sobre todo para pesos del modelo, KV cache y sobrecarga de ejecucion. Cuanto mayor el modelo, mas largo el contexto y mayor la concurrencia, mas presion aparece.&lt;/p&gt;
&lt;p&gt;Los 16GB de RTX 5080 cubren muchos modelos 7B, 8B y 14B, y permiten probar algunos modelos mayores con cuantizacion 4-bit. Pero si quieres modelos de clase 30B, contexto mas largo, o WebUI, RAG, voz y llamadas a herramientas al mismo tiempo, 16GB se vuelven un cuello de botella rapidamente.&lt;/p&gt;
&lt;p&gt;RTX 5090 con 32GB da mas margen para inferencia local. Encaja mejor para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ejecutar modelos cuantizados alrededor de 30B.&lt;/li&gt;
&lt;li&gt;Mantener mas contexto en modelos 7B y 14B.&lt;/li&gt;
&lt;li&gt;Usar asistentes locales de codigo, Q&amp;amp;A con base de conocimiento y depuracion de Agents.&lt;/li&gt;
&lt;li&gt;Cargar embeddings, rerankers o componentes multimodales junto al modelo principal.&lt;/li&gt;
&lt;li&gt;Reducir cambios de modelo y recortes de contexto en una sola maquina.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aun asi, 32GB no son magia. Los modelos 70B, incluso en 4-bit, suelen exigir cuidado con contexto, parametros de ejecucion y fragmentacion de memoria. Para servicio con alta concurrencia, siguen teniendo mas sentido varias GPU o GPU de servidor.&lt;/p&gt;
&lt;p&gt;En uso personal, la ventaja de RTX 5090 es sobre todo menor friccion: mas modelos posibles, contexto mas comodo y espacio para interfaces graficas y herramientas auxiliares.&lt;/p&gt;
&lt;h2 id=&#34;fp4-es-potencial-no-aceleracion-instantanea-en-todo&#34;&gt;FP4 es potencial, no aceleracion instantanea en todo
&lt;/h2&gt;&lt;p&gt;Un cambio importante de Blackwell es el soporte FP4 en los Tensor Cores de quinta generacion. NVIDIA explica en material de TensorRT que FP4 puede reducir memoria y movimiento de datos, y ayudar en inferencia local de modelos generativos como FLUX.&lt;/p&gt;
&lt;p&gt;Esto importa para imagen y para futuros LLM. Menor precision implica menos VRAM y menos presion sobre el ancho de banda. En una GPU de mucho ancho de banda como RTX 5090, FP4 puede amplificar la ventaja si modelos y frameworks lo soportan bien.&lt;/p&gt;
&lt;p&gt;Pero el beneficio depende del software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si existe una version cuantizada FP4 adecuada del modelo.&lt;/li&gt;
&lt;li&gt;Si el framework de inferencia soporta los operadores necesarios.&lt;/li&gt;
&lt;li&gt;Si TensorRT, ComfyUI, PyTorch, ONNX o plugins ya estan adaptados.&lt;/li&gt;
&lt;li&gt;Si la perdida de precision es aceptable para la tarea.&lt;/li&gt;
&lt;li&gt;Si el usuario acepta ajustar el flujo de trabajo para ganar rendimiento.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso no conviene juzgar la AI de RTX 50 solo por picos FP4. Blackwell da la base de hardware, pero la experiencia real depende de las aplicaciones. Los usuarios tempranos veran algunos beneficios antes; el usuario comun tendra que esperar a que madure el ecosistema.&lt;/p&gt;
&lt;h2 id=&#34;imagen-y-video-4k-ancho-de-banda-y-vram-van-juntos&#34;&gt;Imagen y video 4K: ancho de banda y VRAM van juntos
&lt;/h2&gt;&lt;p&gt;Stable Diffusion, FLUX, superresolucion de video, interpolacion, denoise, matting y video generativo son sensibles a VRAM. A mayor resolucion, mas memoria; a mas nodos, mas sobrecarga; ControlNet, LoRA, high-res fix y batch aumentan la presion.&lt;/p&gt;
&lt;p&gt;RTX 5080 puede completar muchas tareas de imagen dentro de 16GB. Para imagenes de 1024px, LoRA ligeros y flujos ComfyUI normales, ya es suficientemente rapida. Los problemas llegan con lienzos mayores, nodos mas complejos, batch mas alto o video generativo de secuencias largas.&lt;/p&gt;
&lt;p&gt;RTX 5090 muestra mas ventaja en flujos de video 4K:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;32GB de VRAM sirven mejor para frames de alta resolucion, secuencias largas y graficos de nodos complejos.&lt;/li&gt;
&lt;li&gt;Un ancho de banda de unos 1.79TB/s ayuda a reducir cuellos de botella de movimiento de datos.&lt;/li&gt;
&lt;li&gt;Tres codificadores NVENC de novena generacion ayudan en exportacion, transcodificacion y creacion.&lt;/li&gt;
&lt;li&gt;Cuando FP4 y TensorRT maduren, los modelos de imagen podrian mejorar mas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las pruebas publicas de video AI tambien traen una advertencia: la optimizacion de aplicaciones aun no alcanzo al hardware. Puget Systems encontro que RTX 5090 no siempre supera por mucho a RTX 4090 en DaVinci Resolve AI y Topaz Video AI, y RTX 5080 tampoco siempre se separa mucho de RTX 4080. En video AI importan plugins, drivers e implementaciones, no solo especificaciones.&lt;/p&gt;
&lt;p&gt;Si tu flujo ya soporta Blackwell, TensorRT o FP4, RTX 50 es mas prometedora. Si dependes de software comercial aun no optimizado, el beneficio depende de la version concreta.&lt;/p&gt;
&lt;h2 id=&#34;3d-en-tiempo-real-y-modelado-ai-rtx-5090-para-escenas-pesadas&#34;&gt;3D en tiempo real y modelado AI: RTX 5090 para escenas pesadas
&lt;/h2&gt;&lt;p&gt;El modelado 3D en tiempo real, render neural, generacion de activos 3D y aceleracion AI del viewport suelen usar CUDA, RT Core, Tensor Core y VRAM a la vez. No se trata solo de tokens por segundo: tambien cuentan complejidad de escena, materiales, geometria, ray tracing, denoise AI y FPS del viewport.&lt;/p&gt;
&lt;p&gt;RTX 5080 puede cubrir muchos juegos 4K, previsualizacion en tiempo real y proyectos creativos medianos. Para creadores independientes es una opcion potente y realista.&lt;/p&gt;
&lt;p&gt;RTX 5090 encaja mejor en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Previsualizacion de escenas 3D complejas.&lt;/li&gt;
&lt;li&gt;Materiales de alta resolucion y grandes bibliotecas de activos.&lt;/li&gt;
&lt;li&gt;Denoise AI, upscaling y ayuda generativa de modelado al mismo tiempo.&lt;/li&gt;
&lt;li&gt;Cargas pesadas en D5 Render, Blender, Unreal Engine y herramientas similares.&lt;/li&gt;
&lt;li&gt;Modelar mientras corre un asistente AI local o un generador de referencias.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NVIDIA afirma que RTX 50 mejora AI generativa, edicion de video y render 3D en apps creativas, pero en produccion todo depende de si el software usa las nuevas rutas de hardware. Lo mas fiable sigue siendo probar con tus propios proyectos.&lt;/p&gt;
&lt;h2 id=&#34;como-elegir&#34;&gt;Como elegir
&lt;/h2&gt;&lt;p&gt;Si tu objetivo son LLM locales, mira primero la VRAM. RTX 5080 de 16GB corre muchos modelos ligeros, pero es mas una tarjeta local AI de entrada alta. RTX 5090 con 32GB se acerca mas a una estacion de trabajo LLM local de una sola GPU.&lt;/p&gt;
&lt;p&gt;Si tu objetivo es imagen, RTX 5080 cubre muchos flujos diarios. Si usas alta resolucion, muchos nodos, batch, FLUX o video generativo, la VRAM extra de RTX 5090 importa mas.&lt;/p&gt;
&lt;p&gt;Si tu objetivo es video AI 4K, RTX 5090 es mas segura, pero hay que confirmar software. Topaz, DaVinci Resolve, ComfyUI, plugins TensorRT y drivers pueden cambiar el resultado.&lt;/p&gt;
&lt;p&gt;Si tu objetivo es 3D en tiempo real, RTX 5080 satisface muchas necesidades creativas; RTX 5090 es mejor para escenas pesadas, varias aplicaciones en paralelo y sesiones largas.&lt;/p&gt;
&lt;p&gt;Si ya tienes RTX 4090, actualiza con cuidado. RTX 5090 tiene mas VRAM y ancho de banda, pero parte del software AI aun no libera todo Blackwell. Si no necesitas claramente 32GB, mas ancho de banda o los nuevos codificadores, puede valer la pena esperar.&lt;/p&gt;
&lt;p&gt;Si vienes de RTX 30 o anterior, el salto a RTX 50 sera mucho mas visible. Pasar de 8GB, 10GB o 12GB a 16GB o 32GB amplia directamente lo que puedes correr localmente.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;RTX 5090 y RTX 5080 llevan las GPU de consumo mas lejos en AI local, pero no son para el mismo usuario.&lt;/p&gt;
&lt;p&gt;RTX 5090 aporta 32GB GDDR7, ancho de banda muy alto y una configuracion creativa mas completa. Sirve para modelos locales mayores, imagen mas compleja, video AI pesado y 3D en tiempo real en una sola maquina.&lt;/p&gt;
&lt;p&gt;RTX 5080 permite entrar en Blackwell con menor coste. Sirve para modelos pequenos y medianos que caben en 16GB, imagen diaria, pruebas de desarrollo y creacion de alto rendimiento.&lt;/p&gt;
&lt;p&gt;La regla de compra es simple: primero comprueba si tus modelos y proyectos caben en VRAM, luego si tu software ya esta optimizado para Blackwell, y solo al final mira los AI TOPS teoricos. En AI local, terminar de forma estable vale mas que el numero pico.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5090/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA GeForce RTX 5090 especificaciones oficiales&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5080/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA GeForce RTX 5080 especificaciones oficiales&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.nvidia.com/en-us/geforce/news/rtx-5090-5080-out-now/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA: GeForce RTX 5090 &amp;amp; 5080 Out Now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developer.nvidia.com/blog/nvidia-tensorrt-unlocks-fp4-image-generation-for-nvidia-blackwell-geforce-rtx-50-series-gpus/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA Technical Blog: TensorRT Unlocks FP4 Image Generation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.pugetsystems.com/labs/articles/nvidia-geforce-rtx-5090-amp-5080-ai-review/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Puget Systems: NVIDIA GeForce RTX 5090 &amp;amp; 5080 AI Review&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Despliegue privado local de DeepSeek V4: elegir entre chips nacionales y clusters de GPU de consumo</title>
        <link>https://www.knightli.com/es/2026/05/08/deepseek-v4-local-private-deployment/</link>
        <pubDate>Fri, 08 May 2026 09:39:35 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/08/deepseek-v4-local-private-deployment/</guid>
        <description>&lt;p&gt;Tras el lanzamiento de DeepSeek V4, muchas empresas empezaron a hacerse una pregunta: ¿se puede evitar una API externa y desplegar el modelo en un centro de datos propio, una nube privada o un cluster dedicado?&lt;/p&gt;
&lt;p&gt;La necesidad es muy real. Finanzas, sanidad, gobierno, fabricacion, legal y equipos de I+D a menudo no pueden enviar documentos internos, codigo, contratos, tickets o datos de clientes directamente a modelos de nube publica. En estos escenarios, el atractivo de DeepSeek V4 no esta solo en la capacidad del modelo, sino en que ofrece a las empresas una opcion mas cercana a una infraestructura LLM controlable.&lt;/p&gt;
&lt;p&gt;Sin embargo, desplegar DeepSeek V4 localmente no es tan simple como descargar el modelo y buscar unas cuantas GPU. Especialmente en modelos MoE muy grandes como Pro, el numero total de parametros, parametros activos, longitud de contexto, KV cache, concurrencia y framework de inferencia determinan directamente el coste de hardware. Lo que una empresa debe hacer no es perseguir a ciegas la version completa, sino confirmar primero que forma de despliegue necesita el negocio.&lt;/p&gt;
&lt;h2 id=&#34;aclarar-primero-el-objetivo-del-despliegue&#34;&gt;Aclarar primero el objetivo del despliegue
&lt;/h2&gt;&lt;p&gt;El despliegue privado local en empresas suele tener tres objetivos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Que los datos no salgan del dominio: documentos internos, codigo, materiales de clientes, logs y bases de conocimiento no abandonan el entorno empresarial.&lt;/li&gt;
&lt;li&gt;Estabilidad y control: servicios de modelo, permisos, auditoria, logs y ritmo de actualizaciones quedan bajo control de la empresa.&lt;/li&gt;
&lt;li&gt;Reducir coste a largo plazo: con llamadas frecuentes, la inferencia local puede ser mas controlable que comprar API externas durante mucho tiempo.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si solo unos pocos empleados preguntan de vez en cuando, el despliegue local no siempre compensa. La privatizacion encaja mejor con escenarios frecuentes, estables, sensibles en datos y con flujos claros, por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas sobre una base de conocimiento interna.&lt;/li&gt;
&lt;li&gt;Revision de codigo y asistentes de desarrollo.&lt;/li&gt;
&lt;li&gt;Resumen de tickets de atencion al cliente.&lt;/li&gt;
&lt;li&gt;Analisis de contratos, historias clinicas e informes.&lt;/li&gt;
&lt;li&gt;Asistentes para consultas de bases de datos.&lt;/li&gt;
&lt;li&gt;Automatizacion de flujos con Agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos escenarios comparten rasgos: datos sensibles, llamadas estables y posibilidad de incorporarse a la gobernanza empresarial mediante permisos y logs.&lt;/p&gt;
&lt;h2 id=&#34;no-perseguir-pro-completo-desde-el-primer-dia&#34;&gt;No perseguir Pro completo desde el primer dia
&lt;/h2&gt;&lt;p&gt;Las versiones comunes de DeepSeek V4 incluyen Pro y Flash. Segun materiales publicos, Pro se orienta a razonamiento mas fuerte y tareas Agent complejas, mientras Flash enfatiza coste y velocidad de respuesta. Al elegir, una empresa no deberia asumir que todo el negocio necesita Pro.&lt;/p&gt;
&lt;p&gt;Puedes dividir por complejidad de tarea:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas simples, resumen, clasificacion y generacion de etiquetas: priorizar Flash o modelos mas pequenos.&lt;/li&gt;
&lt;li&gt;RAG para bases de conocimiento internas: Flash cubre muchos escenarios; RAG, permisos y calidad de recuperacion importan mas.&lt;/li&gt;
&lt;li&gt;Code Agents, razonamiento complejo y analisis de contexto largo: entonces evaluar Pro.&lt;/li&gt;
&lt;li&gt;Tareas de alto valor y baja frecuencia: se puede usar Pro, pero no necesariamente con alta concurrencia.&lt;/li&gt;
&lt;li&gt;Asistentes de oficina comunes: no hace falta ocupar durante mucho tiempo los recursos de inferencia mas caros.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La ventaja de los modelos MoE es que cada inferencia solo activa una parte de los parametros, pero eso no significa que la presion de hardware sea pequena. Almacenamiento de pesos, paralelismo de expertos, comunicacion de red, cache de contexto y planificacion concurrente siguen siendo pesados. Especialmente con contexto de nivel 1M token, lo que consume recursos no suele ser una respuesta aislada, sino el contexto largo, la concurrencia multiusuario y las sesiones persistentes.&lt;/p&gt;
&lt;h2 id=&#34;ruta-de-chips-nacionales-adecuada-para-nube-privada-empresarial&#34;&gt;Ruta de chips nacionales: adecuada para nube privada empresarial
&lt;/h2&gt;&lt;p&gt;Si una empresa ya tiene un pool de computo nacional, o requisitos de Xinchuang, cumplimiento o control de cadena de suministro, puede evaluar primero chips nacionales como Ascend y Cambricon.&lt;/p&gt;
&lt;p&gt;Las ventajas de esta ruta son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Encaja mejor con requisitos de localizacion y control de cadena de suministro.&lt;/li&gt;
&lt;li&gt;Es adecuada para centros de datos empresariales, nubes dedicadas y proyectos de gobierno/empresa.&lt;/li&gt;
&lt;li&gt;Facilita unificar permisos, auditoria, aislamiento de recursos y operaciones.&lt;/li&gt;
&lt;li&gt;Es mas amable para servicios estables a largo plazo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero la ruta de chips nacionales tambien requiere mirar tres problemas reales.&lt;/p&gt;
&lt;p&gt;Primero, adaptacion del framework. Que el modelo pueda ejecutarse no depende solo de la potencia del chip, sino de si el framework de inferencia, operadores, bibliotecas de comunicacion, formatos de cuantizacion, paralelismo de expertos MoE y optimizacion de contexto largo estan maduros.&lt;/p&gt;
&lt;p&gt;Segundo, experiencia de ingenieria. La empresa necesita mas que &amp;ldquo;arranco correctamente&amp;rdquo;; necesita servicio estable: multiinquilino, limitacion de tasa, monitorizacion, recuperacion ante fallos, despliegues grises, auditoria de logs y aislamiento de permisos.&lt;/p&gt;
&lt;p&gt;Tercero, diferencias de ecosistema. El mismo modelo no tendra exactamente el mismo rendimiento, precision, soporte de cuantizacion y herramientas de despliegue en NVIDIA, Ascend, Cambricon u otras plataformas. Antes de producción hay que hacer pruebas de carga reales, no mirar solo la potencia nominal.&lt;/p&gt;
&lt;p&gt;Por tanto, los chips nacionales encajan mejor con empresas de presupuesto claro, requisitos altos de cumplimiento y voluntad de invertir en ingenieria de plataforma. No es la ruta mas facil, pero puede ser la que mejor encaje con la gobernanza a largo plazo.&lt;/p&gt;
&lt;h2 id=&#34;clusters-de-gpu-de-consumo-adecuados-para-pilotos-y-equipos-pequenos&#34;&gt;Clusters de GPU de consumo: adecuados para pilotos y equipos pequenos
&lt;/h2&gt;&lt;p&gt;Si el objetivo es validar primero el valor de negocio, un cluster de GPU de consumo es mas facil para empezar. GPU como RTX 4090, RTX 5090, RTX 3090 y RTX 3060 12GB tienen mas herramientas comunitarias, modelos cuantizados y referencias de inferencia local, por lo que el coste de prueba y error es menor.&lt;/p&gt;
&lt;p&gt;La ruta de GPU de consumo encaja con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pilotos internos de equipos de I+D.&lt;/li&gt;
&lt;li&gt;Preguntas sobre bases de conocimiento en pymes.&lt;/li&gt;
&lt;li&gt;Asistentes de codigo de baja concurrencia.&lt;/li&gt;
&lt;li&gt;Procesamiento offline de documentos.&lt;/li&gt;
&lt;li&gt;Herramientas internas sin requisitos estrictos de SLA.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero tambien tiene limites claros:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La VRAM es pequena y cuesta alojar directamente un modelo grande completo.&lt;/li&gt;
&lt;li&gt;La comunicacion multi-GPU es debil, y la comunicacion entre maquinas es mas complicada.&lt;/li&gt;
&lt;li&gt;La estabilidad a plena carga durante largo tiempo es peor que en soluciones de servidor.&lt;/li&gt;
&lt;li&gt;Chasis, alimentacion, refrigeracion, drivers y operaciones se convierten en costes ocultos.&lt;/li&gt;
&lt;li&gt;No conviene prometer alta disponibilidad empresarial desde el principio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un enfoque mas realista es ejecutar primero Flash, versiones destiladas, versiones cuantizadas o modelos pequenos en GPU de consumo, hacer funcionar el flujo de negocio y decidir despues si migrar a GPU de servidor o a una plataforma de computo nacional tras validar volumen de llamadas, efecto y gobernanza de datos.&lt;/p&gt;
&lt;h2 id=&#34;posible-arquitectura-de-despliegue&#34;&gt;Posible arquitectura de despliegue
&lt;/h2&gt;&lt;p&gt;Una arquitectura privada empresarial relativamente estable puede dividirse en seis capas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Capa de modelo: DeepSeek V4 Pro, V4 Flash o modelos destilados mas pequenos segun la tarea.&lt;/li&gt;
&lt;li&gt;Capa de inferencia: SGLang, vLLM, llama.cpp, stacks de inferencia NPU de fabricantes o servicios propios.&lt;/li&gt;
&lt;li&gt;Capa de gateway: autenticacion unificada, limitacion de tasa, auditoria, enrutamiento de modelos y logs de llamadas.&lt;/li&gt;
&lt;li&gt;Capa de conocimiento: base vectorial, busqueda de texto completo, analisis de documentos, filtrado por permisos y RAG.&lt;/li&gt;
&lt;li&gt;Capa de aplicacion: atencion al cliente, asistentes de codigo, analisis de documentos, preguntas sobre informes y flujos Agent.&lt;/li&gt;
&lt;li&gt;Capa de operaciones: monitorizacion, alertas, estadisticas de coste, despliegues grises, rollback y auditoria de seguridad.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Las capas que mas se subestiman son el gateway y la capa de conocimiento. Muchos proyectos fallan no porque el modelo sea inutilizable, sino porque permisos, recuperacion, logs, gestion de contexto, plantillas de prompt y flujos de negocio no estan bien hechos.&lt;/p&gt;
&lt;p&gt;Al desplegar LLM dentro de una empresa, el modelo debe tratarse como una capacidad de infraestructura, no como una pagina de chat aislada. El valor real aparece cuando el modelo entra en los flujos y puede procesar de forma estable los datos y tareas propios de la empresa.&lt;/p&gt;
&lt;h2 id=&#34;criterios-para-elegir-hardware&#34;&gt;Criterios para elegir hardware
&lt;/h2&gt;&lt;p&gt;El hardware no debe evaluarse solo por &amp;ldquo;si puede correr&amp;rdquo;, sino tambien por &amp;ldquo;si puede prestar servicio de forma estable&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Puedes elegir por etapas:&lt;/p&gt;
&lt;h3 id=&#34;etapa-de-validacion&#34;&gt;Etapa de validacion
&lt;/h3&gt;&lt;p&gt;El objetivo es demostrar si merece la pena hacer el negocio.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usar 1-4 GPU de consumo.&lt;/li&gt;
&lt;li&gt;Priorizar Flash, modelos pequenos, modelos destilados o modelos cuantizados.&lt;/li&gt;
&lt;li&gt;Mantener baja la concurrencia y centrarse en la tasa de finalizacion de tareas.&lt;/li&gt;
&lt;li&gt;No prometer alta disponibilidad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En esta etapa no conviene comprar hardware a gran escala demasiado pronto. Primero confirma si los empleados realmente lo usan, si el negocio ahorra tiempo y si las respuestas pueden entrar en el flujo.&lt;/p&gt;
&lt;h3 id=&#34;etapa-piloto&#34;&gt;Etapa piloto
&lt;/h3&gt;&lt;p&gt;El objetivo es que un departamento o una linea de negocio lo use de forma estable.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usar 4-16 GPU o un conjunto de nodos NPU nacionales.&lt;/li&gt;
&lt;li&gt;Agregar gateway unificado, logs y control de permisos.&lt;/li&gt;
&lt;li&gt;Construir RAG, analisis de documentos, enrutamiento de modelos y cache.&lt;/li&gt;
&lt;li&gt;Empezar a medir tokens, concurrencia, latencia y tasa de fallos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En esta etapa hay que empezar a cuidar operaciones. El efecto del modelo es solo una parte; estabilidad, coste y gobernanza de datos son igual de importantes.&lt;/p&gt;
&lt;h3 id=&#34;etapa-de-produccion&#34;&gt;Etapa de produccion
&lt;/h3&gt;&lt;p&gt;El objetivo es entrar en servicio empresarial.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usar GPU de servidor, clusters de computo nacional o pools de recursos de nube privada.&lt;/li&gt;
&lt;li&gt;Establecer multiples replicas, limitacion de tasa, failover y planificacion de capacidad.&lt;/li&gt;
&lt;li&gt;Enrutar modelos por tarea: tareas simples a modelos ligeros, tareas complejas a Pro.&lt;/li&gt;
&lt;li&gt;Conectar con sistemas de identidad, auditoria y politicas de seguridad de la empresa.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En produccion no se recomienda enviar todas las solicitudes al modelo mas fuerte. Un enrutamiento razonable suele ahorrar mas dinero que acumular hardware.&lt;/p&gt;
&lt;h2 id=&#34;como-elegir-framework-de-inferencia&#34;&gt;Como elegir framework de inferencia
&lt;/h2&gt;&lt;p&gt;Modelos como DeepSeek V4 exigen mucho al framework de inferencia. Cuando intervienen MoE, contexto largo, atencion dispersa, cuantizacion y paralelismo multi-GPU, la madurez del framework afecta directamente velocidad y estabilidad.&lt;/p&gt;
&lt;p&gt;Las opciones comunes pueden entenderse asi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SGLang&lt;/code&gt;: adecuado para equipos que buscan inferencia de alto rendimiento, Agent, llamadas multi-turno a herramientas y orquestacion de servicios complejos.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vLLM&lt;/code&gt;: ecosistema maduro, adecuado para servicios LLM generales, pero el soporte concreto depende de la version y del progreso de adaptacion del modelo.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;llama.cpp&lt;/code&gt;: mas adecuado para modelos pequenos, modelos cuantizados y despliegue en edge; no para alojar directamente un MoE enorme completo.&lt;/li&gt;
&lt;li&gt;Stacks de inferencia NPU nacionales: adecuados para Xinchuang y entornos de computo nacional, pero hay que verificar operadores, cuantizacion y contexto largo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No elijas framework solo por benchmark. Una empresa deberia probar sus entradas reales: longitud de documentos internos, concurrencia, longitud media de salida, tasa de acierto de RAG, numero de llamadas a herramientas de Agent y reintentos tras fallos.&lt;/p&gt;
&lt;h2 id=&#34;la-seguridad-de-datos-debe-hacerse-fuera-del-modelo&#34;&gt;La seguridad de datos debe hacerse fuera del modelo
&lt;/h2&gt;&lt;p&gt;El despliegue privado no significa seguridad automatica. Ejecutar el modelo localmente solo resuelve una parte de si los datos salen de la empresa.&lt;/p&gt;
&lt;p&gt;Tambien hay que completar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cuentas y permisos: cada departamento solo puede acceder a su propia base de conocimiento.&lt;/li&gt;
&lt;li&gt;Auditoria de logs: quien pregunto que, que modelo se llamo y que documentos se consultaron.&lt;/li&gt;
&lt;li&gt;Enmascaramiento de datos: informacion de clientes, numeros de documento, telefonos, importes de contrato y otros campos sensibles deben tratarse.&lt;/li&gt;
&lt;li&gt;Seguridad de prompts: evitar que usuarios eludan permisos o filtren prompts de sistema mediante prompts.&lt;/li&gt;
&lt;li&gt;Revision de salidas: en escenarios importantes debe haber revision humana o por reglas.&lt;/li&gt;
&lt;li&gt;Ciclo de vida de datos: documentos subidos, indices vectoriales, cache y registros de sesion deben poder eliminarse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para construir LLM locales, la empresa no puede involucrar solo al equipo de algoritmos. Seguridad, legal, operaciones y responsables de negocio tambien deben participar; si no, los riesgos se concentraran tras el lanzamiento.&lt;/p&gt;
&lt;h2 id=&#34;el-coste-no-son-solo-las-gpu&#34;&gt;El coste no son solo las GPU
&lt;/h2&gt;&lt;p&gt;El coste del despliegue local suele subestimarse. Ademas de GPU o NPU, hay que contar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Servidores, racks, alimentacion, refrigeracion y red.&lt;/li&gt;
&lt;li&gt;Almacenamiento y copias.&lt;/li&gt;
&lt;li&gt;Adaptacion de framework de inferencia y desarrollo de ingenieria.&lt;/li&gt;
&lt;li&gt;Monitorizacion operativa y gestion de incidentes.&lt;/li&gt;
&lt;li&gt;Actualizacion de modelos, rollback y pruebas de compatibilidad.&lt;/li&gt;
&lt;li&gt;Auditoria de seguridad y sistemas de permisos.&lt;/li&gt;
&lt;li&gt;Prompts, RAG y flujos de trabajo del lado del negocio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si el volumen de llamadas es bajo, una API externa puede ser mas barata. Si el volumen es alto, los datos son sensibles y el flujo es estable, el despliegue local amortiza mejor el coste.&lt;/p&gt;
&lt;p&gt;Una estrategia mas razonable es el despliegue hibrido:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Datos muy sensibles usan modelos locales.&lt;/li&gt;
&lt;li&gt;Tareas generales de baja sensibilidad pueden usar API externas.&lt;/li&gt;
&lt;li&gt;Tareas simples usan modelos pequenos.&lt;/li&gt;
&lt;li&gt;Tareas complejas usan DeepSeek V4 Pro.&lt;/li&gt;
&lt;li&gt;Tareas frecuentes priorizan optimizar cache, recuperacion y enrutamiento de modelos.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ruta-recomendada-de-implantacion&#34;&gt;Ruta recomendada de implantacion
&lt;/h2&gt;&lt;p&gt;Una empresa puede avanzar en este orden:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Elegir primero 2-3 escenarios de alto valor, sin desplegar en toda la empresa.&lt;/li&gt;
&lt;li&gt;Usar GPU de consumo o computo a pequena escala para un PoC.&lt;/li&gt;
&lt;li&gt;Ejecutar primero Flash, modelos destilados o modelos cuantizados, conectando RAG y permisos.&lt;/li&gt;
&lt;li&gt;Introducir Pro para comparar en tareas complejas.&lt;/li&gt;
&lt;li&gt;Registrar volumen real de llamadas, latencia, tasa de fallos y tiempo humano ahorrado.&lt;/li&gt;
&lt;li&gt;Despues decidir si comprar clusters de chips nacionales o GPU de servidor.&lt;/li&gt;
&lt;li&gt;Antes de produccion, completar gateway, auditoria, monitorizacion, limitacion de tasa y rollback.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Esta ruta es mas estable que comprar un gran cluster desde el principio. El mayor riesgo para una empresa no es que el modelo no sea lo bastante fuerte, sino gastar mucho dinero y descubrir despues que el flujo de negocio no puede absorber esa capacidad.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 abre mas imaginacion para el despliegue privado local en empresas, pero no es simplemente un &amp;ldquo;ChatGPT local&amp;rdquo;. La dificultad real esta en la ingenieria: hardware, frameworks, enrutamiento de modelos, permisos, RAG, auditoria, monitorizacion y control de costes deben considerarse juntos.&lt;/p&gt;
&lt;p&gt;La ruta de chips nacionales encaja mejor con empresas de alto cumplimiento y planes de nube privada a largo plazo. Los clusters de GPU de consumo encajan mejor con pilotos y validacion rapida en equipos pequenos y medianos. Pro sirve para razonamiento complejo y Agent; Flash o modelos pequenos son mejores para muchas tareas comunes.&lt;/p&gt;
&lt;p&gt;Si solo recuerdas una frase: el despliegue privado de DeepSeek V4 no debe empezar por comprar hardware, sino por escenarios de negocio, limites de datos y volumen de llamadas. Primero haz funcionar el escenario; despues decide si usar un modelo grande, que tamano debe tener y sobre que computo desplegarlo.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://apnews.com/article/deepseek-ai-china-gpt-v4-d2ed33f2521917193616e061674d5f92&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AP News: DeepSeek launches an update of its AI model&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/blog/deepseekv4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hugging Face Blog: DeepSeek-V4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.lmsys.org/blog/2026-04-25-deepseek-v4/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LMSYS Blog: DeepSeek-V4 on Day 0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Modelos LLM locales recomendados para una GPU RTX 3060</title>
        <link>https://www.knightli.com/es/2026/05/08/rtx-3060-local-llm-models/</link>
        <pubDate>Fri, 08 May 2026 09:25:24 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/08/rtx-3060-local-llm-models/</guid>
        <description>&lt;p&gt;La versión más común de la RTX 3060 tiene 12GB de VRAM. No es una GPU de IA de gama alta, pero funciona muy bien para LLM locales, especialmente modelos de 7B, 8B, 9B y 12B.&lt;/p&gt;
&lt;p&gt;Si solo quieres una regla rápida:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;En una RTX 3060 12GB, prioriza modelos de alrededor de 8B en cuantización Q4_K_M o Q5_K_M. Elige Q4 para más estabilidad y prueba Q5 si quieres mejor calidad.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;No empieces persiguiendo modelos de 32B o 70B. Aunque puedan ejecutarse con cuantización muy baja y CPU offload, la velocidad y la experiencia normalmente no son adecuadas para uso diario.&lt;/p&gt;
&lt;h2 id=&#34;primero-mira-el-límite-de-vram&#34;&gt;Primero mira el límite de VRAM
&lt;/h2&gt;&lt;p&gt;Al ejecutar LLM locales en una RTX 3060 12GB, el límite real es la VRAM.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tamaño del modelo&lt;/th&gt;
          &lt;th&gt;Cuantización recomendada&lt;/th&gt;
          &lt;th&gt;Experiencia en RTX 3060 12GB&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;3B / 4B&lt;/td&gt;
          &lt;td&gt;Q4, Q5, Q8&lt;/td&gt;
          &lt;td&gt;Muy fácil, rápido&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;7B / 8B / 9B&lt;/td&gt;
          &lt;td&gt;Q4_K_M, Q5_K_M&lt;/td&gt;
          &lt;td&gt;Lo más recomendado; buen equilibrio&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;12B / 14B&lt;/td&gt;
          &lt;td&gt;Q4_K_M&lt;/td&gt;
          &lt;td&gt;Se puede probar, cuidado con contexto grande&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;30B+&lt;/td&gt;
          &lt;td&gt;Q2 / Q3 o offload parcial&lt;/td&gt;
          &lt;td&gt;Se puede experimentar, no diario&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;70B+&lt;/td&gt;
          &lt;td&gt;Cuantización extrema o mucha CPU/RAM&lt;/td&gt;
          &lt;td&gt;Más bien experimental&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Un LLM local no solo consume VRAM por el archivo del modelo. También consumen contexto, KV cache, batch size, framework de inferencia y drivers.&lt;/p&gt;
&lt;p&gt;Por eso 12GB de VRAM no significa cargar sin más un archivo de modelo de 12GB. Es mejor dejar margen para el sistema y el contexto.&lt;/p&gt;
&lt;h2 id=&#34;recomendación-1-qwen3-8b&#34;&gt;Recomendación 1: Qwen3 8B
&lt;/h2&gt;&lt;p&gt;Si usas principalmente chino, &lt;code&gt;Qwen3 8B&lt;/code&gt; es uno de los primeros modelos que vale la pena probar en una RTX 3060.&lt;/p&gt;
&lt;p&gt;Sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas y respuestas en chino.&lt;/li&gt;
&lt;li&gt;Resumen y reescritura.&lt;/li&gt;
&lt;li&gt;Asistente diario de conocimiento.&lt;/li&gt;
&lt;li&gt;Explicación simple de código.&lt;/li&gt;
&lt;li&gt;RAG local.&lt;/li&gt;
&lt;li&gt;Flujos Agent ligeros.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Elección recomendada:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Qwen3 8B GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M: primera opción
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q5_K_M: mejor calidad, más presión de VRAM
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;La familia Qwen suele funcionar bien con chino. Para escritura diaria, organización de información y comprensión de instrucciones en chino, Qwen3 8B es un buen punto de partida.&lt;/p&gt;
&lt;h2 id=&#34;recomendación-2-llama-31-8b-instruct&#34;&gt;Recomendación 2: Llama 3.1 8B Instruct
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Llama 3.1 8B Instruct&lt;/code&gt; es un modelo general estable, con buena capacidad en inglés y ecosistema maduro.&lt;/p&gt;
&lt;p&gt;Sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas en inglés.&lt;/li&gt;
&lt;li&gt;Ayuda ligera con código.&lt;/li&gt;
&lt;li&gt;Chat general.&lt;/li&gt;
&lt;li&gt;Resumen de documentos.&lt;/li&gt;
&lt;li&gt;Pruebas de prompts.&lt;/li&gt;
&lt;li&gt;Comparar herramientas de inferencia.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Elección recomendada:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Llama 3.1 8B Instruct GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M: mejor velocidad y estabilidad de VRAM
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q5_K_M: mejor calidad de respuesta
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si procesas sobre todo material en inglés, o quieres un modelo con muchos tutoriales y buena compatibilidad, Llama 3.1 8B sigue siendo una buena base.&lt;/p&gt;
&lt;h2 id=&#34;recomendación-3-gemma-3-12b&#34;&gt;Recomendación 3: Gemma 3 12B
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Gemma 3 12B&lt;/code&gt; está más cerca del límite práctico de una RTX 3060 12GB.&lt;/p&gt;
&lt;p&gt;Consume más VRAM que los modelos 8B, pero con cuantización Q4 todavía puede funcionar en una tarjeta de 12GB. Es una opción para quien quiera probar un modelo algo mayor en una sola GPU.&lt;/p&gt;
&lt;p&gt;Sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas generales de mayor calidad.&lt;/li&gt;
&lt;li&gt;Procesamiento de contenido en inglés.&lt;/li&gt;
&lt;li&gt;Resúmenes y análisis algo más complejos.&lt;/li&gt;
&lt;li&gt;Probar una mejora sobre modelos 8B.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Elección recomendada:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Gemma 3 12B GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M u oficial QAT Q4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;No abras demasiado el contexto
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si falta VRAM, reduce primero la longitud de contexto o vuelve a un modelo 8B. Para una 3060, 12B es &amp;ldquo;probable&amp;rdquo;, no una recomendación automática.&lt;/p&gt;
&lt;h2 id=&#34;recomendación-4-deepseek-r1-distill-qwen-8b&#34;&gt;Recomendación 4: DeepSeek R1 Distill Qwen 8B
&lt;/h2&gt;&lt;p&gt;Si quieres probar modelos locales con estilo de razonamiento, puedes usar modelos como &lt;code&gt;DeepSeek R1 Distill Qwen 8B&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Problemas simples de razonamiento.&lt;/li&gt;
&lt;li&gt;Análisis por pasos.&lt;/li&gt;
&lt;li&gt;Aprender el estilo de salida de modelos de razonamiento.&lt;/li&gt;
&lt;li&gt;Experimentos locales de bajo costo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Elección recomendada:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DeepSeek R1 Distill Qwen 8B GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Estos modelos a veces generan procesos de razonamiento más largos, así que la velocidad y el uso de contexto pueden sentirse más pesados que en modelos instruct normales. Para chat diario no siempre son más cómodos que Qwen3 8B, pero sirven bien para experimentar.&lt;/p&gt;
&lt;h2 id=&#34;recomendación-5-phi--minicpm--modelos-pequeños&#34;&gt;Recomendación 5: Phi / MiniCPM / modelos pequeños
&lt;/h2&gt;&lt;p&gt;Si tu 3060 es de 8GB, o tu RAM también es limitada, considera primero modelos de 3B o 4B.&lt;/p&gt;
&lt;p&gt;Sirven para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas rápidas.&lt;/li&gt;
&lt;li&gt;Resúmenes simples.&lt;/li&gt;
&lt;li&gt;Integración en pequeñas herramientas locales.&lt;/li&gt;
&lt;li&gt;Chat de baja latencia.&lt;/li&gt;
&lt;li&gt;Pruebas en equipos antiguos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No siempre igualan la calidad de 8B o 12B, pero son ligeros, rápidos y fáciles de desplegar.&lt;/p&gt;
&lt;h2 id=&#34;cómo-elegir-cuantización&#34;&gt;Cómo elegir cuantización
&lt;/h2&gt;&lt;p&gt;El formato local común es &lt;code&gt;GGUF&lt;/code&gt;, con cuantizaciones como Q4, Q5, Q6 y Q8.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Cuantización&lt;/th&gt;
          &lt;th&gt;Características&lt;/th&gt;
          &lt;th&gt;Mejor para&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Q4_K_M&lt;/td&gt;
          &lt;td&gt;Pequeña, rápida, calidad suficiente&lt;/td&gt;
          &lt;td&gt;Primera opción en 3060&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q5_K_M&lt;/td&gt;
          &lt;td&gt;Mejor calidad, más consumo&lt;/td&gt;
          &lt;td&gt;Probar con modelos 8B&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q6 / Q8&lt;/td&gt;
          &lt;td&gt;Más cerca de calidad original, más grande&lt;/td&gt;
          &lt;td&gt;Modelos pequeños o más VRAM&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q2 / Q3&lt;/td&gt;
          &lt;td&gt;Ahorra VRAM, baja calidad notable&lt;/td&gt;
          &lt;td&gt;Experimentar con modelos grandes&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Para RTX 3060 12GB, lo más práctico es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Modelos 8B: Q4_K_M o Q5_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Modelos 12B: primero Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Modelos mayores: no recomendados como uso diario
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;qué-herramienta-usar&#34;&gt;Qué herramienta usar
&lt;/h2&gt;&lt;p&gt;Los principiantes pueden empezar con &lt;code&gt;Ollama&lt;/code&gt;, porque instalar y ejecutar modelos es sencillo.&lt;/p&gt;
&lt;p&gt;Comandos comunes:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run qwen3:8b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run llama3.1:8b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres controlar mejor archivos GGUF, GPU layers y longitud de contexto, usa &lt;code&gt;llama.cpp&lt;/code&gt; o herramientas gráficas basadas en llama.cpp.&lt;/p&gt;
&lt;p&gt;Opciones comunes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ollama&lt;/code&gt;: lo más simple, ideal para empezar.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LM Studio&lt;/code&gt;: interfaz gráfica amigable, útil para descargar y cambiar modelos.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;llama.cpp&lt;/code&gt;: control más fino, bueno para ajustar rendimiento.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-generation-webui&lt;/code&gt;: muchas funciones, útil para probar backends.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para chat local y preguntas simples, Ollama o LM Studio bastan.&lt;/p&gt;
&lt;h2 id=&#34;no-abras-demasiado-el-contexto&#34;&gt;No abras demasiado el contexto
&lt;/h2&gt;&lt;p&gt;Muchos modelos anuncian soporte de contexto largo, pero en una RTX 3060 no conviene usar siempre el máximo.&lt;/p&gt;
&lt;p&gt;Cuanto más largo el contexto, más KV cache se usa y mayor presión de VRAM. Incluso si el modelo carga, un contexto largo puede reducir la velocidad.&lt;/p&gt;
&lt;p&gt;Sugerencia:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Chat normal: 4K a 8K
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resumen de documentos: 8K a 16K
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;RAG de documentos largos: divide primero; no pegues todo de una vez
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;La 3060 funciona mejor con &amp;ldquo;contexto medio + buen modelo + buena recuperación&amp;rdquo; que intentando meter cientos de miles de tokens.&lt;/p&gt;
&lt;h2 id=&#34;elegir-según-uso&#34;&gt;Elegir según uso
&lt;/h2&gt;&lt;p&gt;Si escribes principalmente en chino:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Primero: Qwen3 8B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alternativa: DeepSeek R1 Distill Qwen 8B
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si escribes principalmente en inglés:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Primero: Llama 3.1 8B Instruct Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Alternativa: Gemma 3 12B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres velocidad:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Modelos 3B / 4B
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Contexto entre 4K y 8K
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres más calidad:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8B Q5_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;12B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Acepta menor velocidad
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres ayuda con código:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Modelos de código 8B sirven para explicar y pequeños cambios
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Para ingeniería compleja, usa modelos cloud más fuertes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Los modelos locales en 3060 son útiles para explicar código, completar funciones, generar scripts pequeños y ayudar sin conexión. Para grandes refactors, bugs complejos y tareas Agent entre archivos, no esperes rendimiento al nivel de Claude Sonnet o GPT-5.&lt;/p&gt;
&lt;h2 id=&#34;expectativas-razonables&#34;&gt;Expectativas razonables
&lt;/h2&gt;&lt;p&gt;La RTX 3060 12GB puede convertir los LLM locales de &amp;ldquo;juguete&amp;rdquo; en herramienta diaria, pero no replica modelos cloud de primera línea en casa.&lt;/p&gt;
&lt;p&gt;Ventajas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bajo costo.&lt;/li&gt;
&lt;li&gt;Más VRAM que tarjetas de 8GB.&lt;/li&gt;
&lt;li&gt;Buena experiencia con modelos 8B.&lt;/li&gt;
&lt;li&gt;Uso offline.&lt;/li&gt;
&lt;li&gt;Procesamiento local de datos sensibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Límites:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modelos grandes no van fluidos.&lt;/li&gt;
&lt;li&gt;Contexto largo consume VRAM.&lt;/li&gt;
&lt;li&gt;Menor velocidad que tarjetas de gama alta.&lt;/li&gt;
&lt;li&gt;Modelos locales pequeños tienen razonamiento complejo limitado.&lt;/li&gt;
&lt;li&gt;Multimodalidad y flujos Agent consumen más recursos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La ruta estable es: usar 8B como asistente local diario, probar 12B para mejor calidad y dejar tareas complejas a modelos cloud.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Modelos locales recomendados para RTX 3060 12GB:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chino general: &lt;code&gt;Qwen3 8B Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Inglés general: &lt;code&gt;Llama 3.1 8B Instruct Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Prueba de más calidad: &lt;code&gt;Gemma 3 12B Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Experimento de razonamiento: &lt;code&gt;DeepSeek R1 Distill Qwen 8B Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Experiencia rápida con poca VRAM: modelos pequeños 3B / 4B&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Elige primero &lt;code&gt;Q4_K_M&lt;/code&gt;; en modelos 8B puedes probar &lt;code&gt;Q5_K_M&lt;/code&gt;. Empieza con Ollama o LM Studio.&lt;/p&gt;
&lt;p&gt;No trates la 3060 como un servidor de grandes modelos. Úsala como asistente local de conocimiento, procesador privado de documentos, ayuda ligera de código y tarjeta de experimentación, y encajará mejor con sus capacidades reales.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Qwen3 8B GGUF: &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/Qwen/Qwen3-8B-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://huggingface.co/Qwen/Qwen3-8B-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Llama 3.1 8B GGUF: &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/macandchiz/Llama-3.1-8B-Instruct-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://huggingface.co/macandchiz/Llama-3.1-8B-Instruct-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Gemma 3 12B GGUF: &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/unsloth/gemma-3-12b-it-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://huggingface.co/unsloth/gemma-3-12b-it-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;llama.cpp: &lt;a class=&#34;link&#34; href=&#34;https://github.com/ggml-org/llama.cpp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ggml-org/llama.cpp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ollama: &lt;a class=&#34;link&#34; href=&#34;https://ollama.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://ollama.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Hermes &#43; Qwen3.6: una solucion barata para desplegar un Agent local</title>
        <link>https://www.knightli.com/es/2026/05/04/hermes-qwen36-local-agent/</link>
        <pubDate>Mon, 04 May 2026 06:40:30 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/04/hermes-qwen36-local-agent/</guid>
        <description>&lt;p&gt;La idea es ejecutar el modelo Qwen3.6 GGUF con &lt;code&gt;llama.cpp&lt;/code&gt; dentro de WSL2 y conectar Hermes Agent a una API local compatible con OpenAI. Asi puedes tener un asistente de IA local siempre disponible en tu propio ordenador, sin depender de cuotas de tokens de servicios online.&lt;/p&gt;
&lt;p&gt;Esta solucion encaja con usuarios que quieren probar un AI Agent local y, al mismo tiempo, conservar privacidad de datos y control a largo plazo. Puede servir para preguntas diarias, escritura, ayuda con codigo, organizacion de informacion y automatizacion simple. Hay que tener en cuenta que cuanto mayor sea el modelo, mas VRAM necesitara; el ejemplo original usa Qwen3.6-27B y va mas estable con 24GB de VRAM. Si tienes menos VRAM, conviene elegir un modelo mas pequeno o una cuantizacion mas baja.&lt;/p&gt;
&lt;h2 id=&#34;estructura-de-la-solucion&#34;&gt;Estructura de la solucion
&lt;/h2&gt;&lt;p&gt;La cadena completa es sencilla:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Instalar WSL2 y Ubuntu 24.04 en Windows.&lt;/li&gt;
&lt;li&gt;Instalar CUDA Toolkit y compilar &lt;code&gt;llama.cpp&lt;/code&gt; dentro de WSL2.&lt;/li&gt;
&lt;li&gt;Descargar el modelo Qwen3.6 GGUF.&lt;/li&gt;
&lt;li&gt;Iniciar el servicio local con &lt;code&gt;llama-server&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Instalar Hermes Agent y configurarlo hacia &lt;code&gt;http://localhost:8080/v1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Opcional: escribir un script de inicio para arrancar el servicio del modelo al abrir WSL2.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hermes aporta la capacidad de Agent, y Qwen3.6 aporta el LLM local. Combinados, convierten el ordenador en un asistente de IA local y privado.&lt;/p&gt;
&lt;h2 id=&#34;instalar-wsl2-y-ubuntu&#34;&gt;Instalar WSL2 y Ubuntu
&lt;/h2&gt;&lt;p&gt;En una ventana de Windows PowerShell como administrador:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-set-default-version&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Despues de reiniciar, instala Ubuntu 24.04:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-d&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Ubuntu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;24.04&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Al terminar, Ubuntu pedira usuario y contrasena. Ya dentro de Ubuntu, comprueba primero si la GPU NVIDIA se reconoce correctamente en WSL2:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si no se reconoce la GPU, normalmente hay que actualizar primero el driver NVIDIA en Windows. WSL2 hereda el driver de Windows, pero CUDA Toolkit debe instalarse por separado dentro de WSL2.&lt;/p&gt;
&lt;h2 id=&#34;instalar-python-y-herramientas-basicas&#34;&gt;Instalar Python y herramientas basicas
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install -y python3-pip python3-venv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Tambien hacen falta herramientas de compilacion, Git y CMake:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y cmake build-essential git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;compilar-llamacpp&#34;&gt;Compilar llama.cpp
&lt;/h2&gt;&lt;p&gt;Clona primero el codigo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/ggerganov/llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si WSL2 ya tiene un entorno CUDA utilizable, compila directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake -B build -DGGML_CUDA&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON -DCMAKE_CUDA_ARCHITECTURES&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;89&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake --build build -j&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;nproc&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;CMAKE_CUDA_ARCHITECTURES=89&lt;/code&gt; es adecuado para GPU Ada, por ejemplo la serie RTX 40. En otras tarjetas debes ajustarlo segun la arquitectura real.&lt;/p&gt;
&lt;p&gt;Si al compilar aparece que falta CUDA Toolkit, instalalo primero dentro de WSL2:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dpkg -i cuda-keyring_1.1-1_all.deb
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y cuda-toolkit-12-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Despues configura variables de entorno:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/cuda-12.8/bin:&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LD_LIBRARY_PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/cuda-12.8/lib64:&lt;span class=&#34;nv&#34;&gt;$LD_LIBRARY_PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export PATH=/usr/local/cuda-12.8/bin:$PATH&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Y compila de nuevo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake -B build -DGGML_CUDA&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON -DCMAKE_CUDA_ARCHITECTURES&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;89&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake --build build -j&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;nproc&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;descargar-el-modelo-qwen36-gguf&#34;&gt;Descargar el modelo Qwen3.6 GGUF
&lt;/h2&gt;&lt;p&gt;El ejemplo original usa &lt;code&gt;Qwen3.6-27B-UD-Q4_K_XL.gguf&lt;/code&gt; de &lt;code&gt;unsloth/Qwen3.6-27B-GGUF&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hf download unsloth/Qwen3.6-27B-GGUF &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Qwen3.6-27B-UD-Q4_K_XL.gguf &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--local-dir ~/models/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El archivo ronda los 17GB. Si Hugging Face descarga lento, puedes cambiar a espejos como ModelScope. Si no tienes suficiente VRAM, no fuerces 27B; usa un modelo mas pequeno o una cuantizacion mas baja.&lt;/p&gt;
&lt;h2 id=&#34;iniciar-el-servicio-local-del-modelo&#34;&gt;Iniciar el servicio local del modelo
&lt;/h2&gt;&lt;p&gt;Arranca &lt;code&gt;llama-server&lt;/code&gt; segun el nombre real de tu archivo de modelo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/llama.cpp/build/bin/llama-server &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--model ~/models/Qwen3.6-27B-UD-Q4_K_XL.gguf &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--n-gpu-layers &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--ctx-size &lt;span class=&#34;m&#34;&gt;32768&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--flash-attn on &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--temp 1.0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-p 0.95 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-k &lt;span class=&#34;m&#34;&gt;20&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--presence-penalty 1.5 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--port &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Tras iniciar correctamente, abre en el navegador de Windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para que Hermes Agent u otros clientes compatibles con OpenAI lo llamen, la direccion de API suele ser:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080/v1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;elegir-thinking-mode&#34;&gt;Elegir Thinking mode
&lt;/h2&gt;&lt;p&gt;Qwen3.6 puede activar Thinking mode por defecto. Es util para razonamiento complejo, problemas de codigo complicados y analisis de varios pasos, pero sera mas lento.&lt;/p&gt;
&lt;p&gt;Si quieres desactivarlo, detén el servicio y agrega &lt;code&gt;--chat-template-kwargs&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/llama.cpp/build/bin/llama-server &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--model ~/models/Qwen3.6-27B-UD-Q4_K_XL.gguf &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--n-gpu-layers &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--ctx-size &lt;span class=&#34;m&#34;&gt;32768&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--flash-attn on &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--temp 1.0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-p 0.95 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-k &lt;span class=&#34;m&#34;&gt;20&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--presence-penalty 1.5 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--chat-template-kwargs &lt;span class=&#34;s1&#34;&gt;&amp;#39;{&amp;#34;enable_thinking&amp;#34;:false}&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--port &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Sin Thinking, las preguntas simples, escritura, autocompletado de codigo y explicacion de codigo iran mas rapido; para algoritmos complejos, Debug dificil y analisis de arquitectura, sigue siendo recomendable activarlo.&lt;/p&gt;
&lt;h2 id=&#34;instalar-hermes-agent&#34;&gt;Instalar Hermes Agent
&lt;/h2&gt;&lt;p&gt;Mantén &lt;code&gt;llama-server&lt;/code&gt; en ejecucion y abre otra terminal WSL2 para instalar Hermes Agent:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El script instala dependencias como Python, Node.js, ripgrep y ffmpeg. Al configurar el endpoint del modelo, elige endpoint personalizado:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;URL: http://localhost:8080/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: 12345678
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model: autodetect
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para el &lt;code&gt;llama-server&lt;/code&gt; local, la API Key puede ser cualquier valor de relleno. Tras configurarlo, puedes conectar Telegram, WeChat, QQ, Discord y otros canales para que Hermes Agent use el modelo local y ejecute tareas.&lt;/p&gt;
&lt;h2 id=&#34;arrancar-automaticamente-el-servicio-del-modelo&#34;&gt;Arrancar automaticamente el servicio del modelo
&lt;/h2&gt;&lt;p&gt;Puedes escribir un script para iniciar el servicio al abrir la terminal WSL2.&lt;/p&gt;
&lt;p&gt;Crea el script:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;gt; ~/start-llm.sh &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;Starting Qwen3.6-27B llama-server...&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;~/llama.cpp/build/bin/llama-server \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--model ~/models/Qwen3.6-27B-UD-Q4_K_XL.gguf \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--n-gpu-layers 99 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--ctx-size 65536 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--flash-attn on \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--temp 1.0 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--top-p 0.95 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--top-k 20 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--presence-penalty 1.5 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--port 8080 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--host 0.0.0.0 &amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;llama-server started, PID: $!&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;API: http://localhost:8080/v1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;Chat UI: http://localhost:8080&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x ~/start-llm.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Escribe en &lt;code&gt;.bashrc&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;# Auto-start llama-server&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;if ! pgrep -f &amp;#34;llama-server&amp;#34; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;    ~/start-llm.sh&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;fi&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Asi, cada vez que abras WSL2, si &lt;code&gt;llama-server&lt;/code&gt; no esta en ejecucion se iniciara automaticamente; si ya esta corriendo, se omitira para evitar duplicados.&lt;/p&gt;
&lt;h2 id=&#34;notas&#34;&gt;Notas
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;El modelo 27B exige bastante VRAM; 24GB va mas estable. Con menos VRAM, usa un modelo mas pequeno.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--ctx-size 65536&lt;/code&gt; aumenta mucho la presion de VRAM y RAM. Si no es estable, baja primero a &lt;code&gt;32768&lt;/code&gt; o menos.&lt;/li&gt;
&lt;li&gt;CUDA Toolkit dentro de WSL2 y el driver de Windows deben estar correctos; si falta uno, la compilacion o ejecucion CUDA puede fallar.&lt;/li&gt;
&lt;li&gt;Cuando Hermes Agent se conecta al servicio local, en esencia llama a una API compatible con OpenAI. Lo clave es que &lt;code&gt;http://localhost:8080/v1&lt;/code&gt; responda bien.&lt;/li&gt;
&lt;li&gt;Si quieres acceder desde el telefono u otros dispositivos, debes configurar firewall de Windows, direccion LAN y aislamiento de seguridad. No expongas el servicio local directamente a Internet.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;enlaces-relacionados&#34;&gt;Enlaces relacionados
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Original: &lt;a class=&#34;link&#34; href=&#34;https://www.freedidi.com/24036.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hermes + Qwen3.6：本地最强 Agent 组合！零成本、无限 Token，太香了！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;llama.cpp: &lt;a class=&#34;link&#34; href=&#34;https://github.com/ggerganov/llama.cpp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ggerganov/llama.cpp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hermes Agent: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NousResearch/hermes-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NousResearch/hermes-agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ejemplo Qwen3.6 GGUF: &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/unsloth/Qwen3.6-27B-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;unsloth/Qwen3.6-27B-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>free-claude-code: conectar Claude Code a OpenRouter, DeepSeek y modelos locales mediante un proxy</title>
        <link>https://www.knightli.com/es/2026/05/01/free-claude-code-anthropic-compatible-proxy/</link>
        <pubDate>Fri, 01 May 2026 03:41:49 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/05/01/free-claude-code-anthropic-compatible-proxy/</guid>
        <description>&lt;p&gt;&lt;code&gt;free-claude-code&lt;/code&gt; es un Anthropic-compatible proxy para usar con &lt;code&gt;Claude Code&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La idea no es crackear Claude Code ni ofrecer un servicio Claude oficial gratuito, sino iniciar localmente un proxy compatible con la forma de la API de Anthropic y reenviar las solicitudes de Claude Code a otros backends de modelos. El README menciona backends como NVIDIA NIM, OpenRouter, DeepSeek, LM Studio, llama.cpp y Ollama.&lt;/p&gt;
&lt;p&gt;En pocas palabras, resuelve este problema: te gusta la experiencia de Claude Code en la terminal, pero quieres conectar las peticiones del modelo a otro provider o a un modelo local.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;La experiencia interactiva de Claude Code es muy adecuada para tareas de desarrollo.&lt;/p&gt;
&lt;p&gt;Puede leer código en la terminal, modificar archivos, ejecutar comandos y avanzar según el contexto del proyecto. El problema es que muchos usuarios no necesariamente quieren usar siempre el mismo backend de modelo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quieren probar distintos modelos en OpenRouter&lt;/li&gt;
&lt;li&gt;Quieren usar modelos como DeepSeek para reducir costes&lt;/li&gt;
&lt;li&gt;Quieren conectar las peticiones a Ollama local&lt;/li&gt;
&lt;li&gt;Quieren ejecutar modelos locales con LM Studio o llama.cpp&lt;/li&gt;
&lt;li&gt;Quieren unificar en el entorno de desarrollo una entrada de proxy&lt;/li&gt;
&lt;li&gt;Quieren comparar el rendimiento de distintos modelos dentro del flujo de Claude Code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El posicionamiento de &lt;code&gt;free-claude-code&lt;/code&gt; es añadir una capa de proxy compatible entre Claude Code y estos servicios de modelos.&lt;/p&gt;
&lt;p&gt;Así, Claude Code sigue enviando solicitudes con estilo Anthropic, y el proxy se encarga de adaptarlas a distintos backends.&lt;/p&gt;
&lt;h2 id=&#34;funcionamiento&#34;&gt;Funcionamiento
&lt;/h2&gt;&lt;p&gt;Puede entenderse como tres capas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;El frontend es Claude Code&lt;/li&gt;
&lt;li&gt;En medio está el proxy &lt;code&gt;free-claude-code&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;El backend es OpenRouter, DeepSeek, un modelo local u otro servicio de modelo&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Claude Code cree que está accediendo a una API Anthropic-compatible.&lt;/p&gt;
&lt;p&gt;El proxy recibe la solicitud, elige el provider objetivo según la configuración, transforma los campos necesarios y devuelve la respuesta a Claude Code.&lt;/p&gt;
&lt;p&gt;La ventaja de esta estructura es que no necesitas modificar Claude Code ni exigir que cada servicio de modelo soporte Claude Code de forma nativa. Mientras el proxy pueda alinear la interfaz, puede conectar más modelos al mismo flujo de trabajo.&lt;/p&gt;
&lt;h2 id=&#34;backends-soportados&#34;&gt;Backends soportados
&lt;/h2&gt;&lt;p&gt;Las direcciones listadas en el README incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NVIDIA NIM&lt;/li&gt;
&lt;li&gt;OpenRouter&lt;/li&gt;
&lt;li&gt;DeepSeek&lt;/li&gt;
&lt;li&gt;LM Studio&lt;/li&gt;
&lt;li&gt;llama.cpp&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos backends representan varias formas de uso.&lt;/p&gt;
&lt;p&gt;OpenRouter se parece más a una entrada agregadora de modelos, útil para probar distintos modelos comerciales y open source.&lt;/p&gt;
&lt;p&gt;DeepSeek conviene a quienes se preocupan por capacidad en chino, capacidad de código y coste.&lt;/p&gt;
&lt;p&gt;LM Studio, llama.cpp y Ollama se inclinan hacia la ruta de modelos locales. Sirven para ejecutar modelos en tu propia máquina o en un entorno de intranet, reducir dependencia de APIs externas y facilitar experimentos offline.&lt;/p&gt;
&lt;p&gt;NVIDIA NIM está más orientado a inferencia empresarial y despliegue con GPU.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-un-anthropic-compatible-proxy&#34;&gt;Por qué un Anthropic-compatible proxy
&lt;/h2&gt;&lt;p&gt;Claude Code está diseñado alrededor de la interfaz y los hábitos de modelo de Anthropic.&lt;/p&gt;
&lt;p&gt;Si quieres conectarlo a otros modelos, el problema más directo es que las interfaces no coinciden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Campos de solicitud distintos&lt;/li&gt;
&lt;li&gt;Nombres de modelo distintos&lt;/li&gt;
&lt;li&gt;Formatos de streaming distintos&lt;/li&gt;
&lt;li&gt;Expresión de tool use distinta&lt;/li&gt;
&lt;li&gt;Formatos de error distintos&lt;/li&gt;
&lt;li&gt;Límites de tokens y contexto distintos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El valor de la capa proxy está ahí.&lt;/p&gt;
&lt;p&gt;Mantiene la interfaz vista por Claude Code con una forma cercana a Anthropic y adapta el backend. Para el usuario, después de configurar el proxy, puede probar distintos modelos dentro del mismo flujo de Claude Code.&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios adecuados
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;free-claude-code&lt;/code&gt; es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Querer usar el flujo de terminal de Claude Code&lt;/li&gt;
&lt;li&gt;Probar modelos no Anthropic dentro de Claude Code&lt;/li&gt;
&lt;li&gt;Reducir costes de llamadas de modelo&lt;/li&gt;
&lt;li&gt;Conectar Claude Code a OpenRouter&lt;/li&gt;
&lt;li&gt;Integrar DeepSeek u otros servicios de modelo compatibles&lt;/li&gt;
&lt;li&gt;Usar Ollama, LM Studio o llama.cpp para ejecutar modelos locales&lt;/li&gt;
&lt;li&gt;Configurar para un equipo una entrada unificada de proxy de modelos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo usas Claude Code oficial normalmente y no tienes necesidades especiales de provider, coste o despliegue local, quizá no necesites este tipo de proxy.&lt;/p&gt;
&lt;p&gt;Pero si comparas modelos con frecuencia o quieres que Claude Code acceda a modelos locales y de terceros, este tipo de herramienta es útil.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-usar-directamente-openrouter-u-ollama&#34;&gt;Diferencia frente a usar directamente OpenRouter u Ollama
&lt;/h2&gt;&lt;p&gt;Usar directamente OpenRouter, Ollama o LM Studio normalmente significa conversar con el modelo o llamarlo mediante API.&lt;/p&gt;
&lt;p&gt;El punto central de &lt;code&gt;free-claude-code&lt;/code&gt; no es sustituir esos servicios, sino conectarlos al flujo de desarrollo de Claude Code.&lt;/p&gt;
&lt;p&gt;La diferencia está en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sigues usando la experiencia de terminal de Claude Code&lt;/li&gt;
&lt;li&gt;La IA puede realizar tareas alrededor del repositorio de código&lt;/li&gt;
&lt;li&gt;El backend de modelo puede cambiarse por otro provider&lt;/li&gt;
&lt;li&gt;Los modelos locales también tienen oportunidad de entrar en el flujo de Claude Code&lt;/li&gt;
&lt;li&gt;La configuración se concentra en la capa proxy, no se cambia por separado en cada herramienta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso se parece más a un puente que a un nuevo cliente de chat.&lt;/p&gt;
&lt;h2 id=&#34;precauciones-con-modelos-locales&#34;&gt;Precauciones con modelos locales
&lt;/h2&gt;&lt;p&gt;Conectar Claude Code a modelos locales es atractivo, pero también tiene límites prácticos.&lt;/p&gt;
&lt;p&gt;Primero, diferencia de capacidad del modelo.&lt;/p&gt;
&lt;p&gt;Las tareas de Claude Code no son solo chat; incluyen entender código, planificar cambios, editar archivos y procesar salidas de comandos. Un modelo local pequeño no necesariamente puede completar estas tareas de forma estable.&lt;/p&gt;
&lt;p&gt;Segundo, ventana de contexto.&lt;/p&gt;
&lt;p&gt;Las tareas de código consumen mucho contexto. Si la ventana del modelo es demasiado pequeña, puede no leer archivos completos, perder restricciones o olvidar contexto durante varias rondas.&lt;/p&gt;
&lt;p&gt;Tercero, compatibilidad con tool use.&lt;/p&gt;
&lt;p&gt;El flujo de Claude Code depende de llamadas a herramientas y comportamiento estructurado. Aunque un backend pueda chatear, no necesariamente sigue bien protocolos de tool calling.&lt;/p&gt;
&lt;p&gt;Cuarto, velocidad y hardware.&lt;/p&gt;
&lt;p&gt;La velocidad del modelo local depende de la máquina, el método de cuantización y el tamaño del modelo. Si una tarea de código responde demasiado lento, la experiencia se degrada de forma notable.&lt;/p&gt;
&lt;p&gt;Por eso, los modelos locales son más adecuados para experimentos, tareas de bajo riesgo y escenarios concretos. Para tareas de código realmente complejas, todavía hay que elegir con cuidado según la capacidad del modelo.&lt;/p&gt;
&lt;h2 id=&#34;límites-de-uso&#34;&gt;Límites de uso
&lt;/h2&gt;&lt;p&gt;Este tipo de proyecto puede malinterpretarse fácilmente por el título, así que conviene aclarar los límites.&lt;/p&gt;
&lt;p&gt;Primero, no es cuota gratuita oficial de Claude Code.&lt;/p&gt;
&lt;p&gt;Solo reenvía las solicitudes de Claude Code a otros backends de modelos. Al usar OpenRouter, DeepSeek, NVIDIA NIM u otras APIs, sigues teniendo que cumplir precios, cuotas y condiciones de uso de esos servicios.&lt;/p&gt;
&lt;p&gt;Segundo, no es una herramienta para saltarse autorización.&lt;/p&gt;
&lt;p&gt;Al usar cualquier proxy, hay que cumplir las licencias y términos de Claude Code, del proveedor de modelo y del propio proyecto. No debería entenderse como una forma de evitar restricciones oficiales.&lt;/p&gt;
&lt;p&gt;Tercero, el proxy procesará el contenido de tus solicitudes.&lt;/p&gt;
&lt;p&gt;Código, salida de comandos y contexto del proyecto pueden pasar por el proxy y por el servicio backend. Al desplegarlo, hay que considerar logs, claves, red y límites de privacidad. Para código de empresa o proyectos sensibles, es mejor usar un entorno controlado.&lt;/p&gt;
&lt;p&gt;Cuarto, el rendimiento de distintos modelos puede variar mucho.&lt;/p&gt;
&lt;p&gt;La misma operación de Claude Code puede comportarse de forma completamente distinta al cambiar de modelo. No asumas que todos los modelos pueden sustituir a Claude.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-proxies-como-litellm&#34;&gt;Relación con proxies como LiteLLM
&lt;/h2&gt;&lt;p&gt;Desde el punto de vista de diseño, &lt;code&gt;free-claude-code&lt;/code&gt; pertenece a la categoría de &amp;ldquo;proxies de interfaz compatible&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El objetivo común de estas herramientas es reducir el acoplamiento entre la aplicación superior y los servicios de modelos inferiores. La aplicación superior solo se enfrenta a una interfaz relativamente unificada, y los providers de abajo pueden cambiarse por configuración.&lt;/p&gt;
&lt;p&gt;Cada proyecto tiene un foco distinto. Algunos se orientan a gateway de modelos general, otros a OpenAI-compatible API, y otros se adaptan específicamente a herramientas como Claude Code.&lt;/p&gt;
&lt;p&gt;Lo interesante de &lt;code&gt;free-claude-code&lt;/code&gt; es que coloca el escenario objetivo directamente en Claude Code, no en un proxy de chat genérico.&lt;/p&gt;
&lt;h2 id=&#34;usuarios-adecuados&#34;&gt;Usuarios adecuados
&lt;/h2&gt;&lt;p&gt;Es más adecuado para usuarios con cierta capacidad de configuración:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conocen Claude Code&lt;/li&gt;
&lt;li&gt;Saben configurar API key y provider de modelos&lt;/li&gt;
&lt;li&gt;Entienden cómo arrancar un proxy y variables de entorno&lt;/li&gt;
&lt;li&gt;Pueden diagnosticar problemas de red, puertos, nombres de modelo y streaming&lt;/li&gt;
&lt;li&gt;Quieren comparar el rendimiento de distintos modelos en tareas de código&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo quieres algo listo para usar, la configuración oficial suele ser más tranquila.&lt;/p&gt;
&lt;p&gt;Si estás dispuesto a montar proxy, cambiar modelos, ajustar parámetros y quieres llevar Claude Code a más entornos de modelo, este proyecto merece estudio.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Alishahryar1/free-claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alishahryar1/free-claude-code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;una-última-frase&#34;&gt;Una última frase
&lt;/h2&gt;&lt;p&gt;El valor de &lt;code&gt;free-claude-code&lt;/code&gt; no está en la palabra &amp;ldquo;free&amp;rdquo;, sino en construir un puente entre Claude Code y más backends de modelos.&lt;/p&gt;
&lt;p&gt;Cuando quieres conservar la experiencia de desarrollo de Claude Code y al mismo tiempo probar OpenRouter, DeepSeek, modelos locales o servicios de inferencia empresariales, este tipo de Anthropic-compatible proxy tiene sentido.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Qué son los modelos en la nube de Ollama y cómo usarlos</title>
        <link>https://www.knightli.com/es/2026/04/09/ollama-cloud-models-guide/</link>
        <pubDate>Thu, 09 Apr 2026 18:42:32 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/09/ollama-cloud-models-guide/</guid>
        <description>&lt;p&gt;Si usas normalmente &lt;code&gt;Ollama&lt;/code&gt; para ejecutar modelos locales, entender los modelos en la nube será sencillo.&lt;/p&gt;
&lt;p&gt;La diferencia central es solo una:&lt;br&gt;
los modelos locales hacen inferencia en tu ordenador; los modelos en la nube hacen inferencia en la nube de Ollama y devuelven el resultado.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-un-modelo-en-la-nube&#34;&gt;Qué es un modelo en la nube
&lt;/h2&gt;&lt;p&gt;Los modelos en la nube de Ollama conservan la forma de llamada de Ollama, pero cambian la ubicación del cálculo de local a la nube.&lt;/p&gt;
&lt;p&gt;Las ventajas son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Menor presión sobre el hardware local&lt;/li&gt;
&lt;li&gt;Más fácil usar modelos grandes que tu máquina local no puede mover&lt;/li&gt;
&lt;li&gt;Se mantiene el flujo de trabajo familiar de Ollama&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;diferencia-frente-a-modelos-locales&#34;&gt;Diferencia frente a modelos locales
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Comparación&lt;/th&gt;
          &lt;th&gt;Modelo local&lt;/th&gt;
          &lt;th&gt;Modelo en la nube&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Ubicación de ejecución&lt;/td&gt;
          &lt;td&gt;Máquina local&lt;/td&gt;
          &lt;td&gt;Nube&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Requisitos de hardware&lt;/td&gt;
          &lt;td&gt;Altos&lt;/td&gt;
          &lt;td&gt;Bajos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Latencia&lt;/td&gt;
          &lt;td&gt;Más baja&lt;/td&gt;
          &lt;td&gt;Depende de la red&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Privacidad&lt;/td&gt;
          &lt;td&gt;Más fuerte&lt;/td&gt;
          &lt;td&gt;La solicitud se envía a la nube&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Si te importa más la privacidad, baja latencia y uso offline, el modelo local es más adecuado.&lt;br&gt;
Si tu hardware local no alcanza pero quieres probar modelos más grandes, el modelo en la nube es más cómodo.&lt;/p&gt;
&lt;h2 id=&#34;cómo-reconocer-modelos-en-la-nube&#34;&gt;Cómo reconocer modelos en la nube
&lt;/h2&gt;&lt;p&gt;Actualmente, los modelos en la nube de Ollama suelen llevar el sufijo &lt;code&gt;-cloud&lt;/code&gt;, por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpt-oss:120b-cloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;La lista de modelos disponibles puede cambiar; toma la página oficial de Ollama como referencia final.&lt;/p&gt;
&lt;h2 id=&#34;cómo-usarlos&#34;&gt;Cómo usarlos
&lt;/h2&gt;&lt;p&gt;Primero inicia sesión:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama signin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después ejecuta directamente el modelo en la nube:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gpt-oss:120b-cloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si lo llamas desde código, también puedes configurar API Key:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OLLAMA_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ejemplo en Python:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;ollama&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Client&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;host&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://ollama.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Authorization&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Bearer &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;environ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;OLLAMA_API_KEY&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;为什么天空是蓝色的？&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;part&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;chat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;gpt-oss:120b-cloud&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stream&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;part&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;flush&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Los modelos en la nube de Ollama pueden entenderse en una frase:&lt;/p&gt;
&lt;p&gt;el comando casi no cambia; solo que el modelo ya no corre en tu máquina local.&lt;/p&gt;
&lt;p&gt;Si tu ordenador no puede mover modelos grandes pero quieres seguir llamando modelos al estilo Ollama, los modelos en la nube son una opción directa.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Descargar modelos GGUF desde Hugging Face e importarlos en Ollama</title>
        <link>https://www.knightli.com/es/2026/04/09/import-huggingface-gguf-into-ollama/</link>
        <pubDate>Thu, 09 Apr 2026 11:00:07 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/09/import-huggingface-gguf-into-ollama/</guid>
        <description>&lt;p&gt;Si cierto modelo no tiene una versión preparada en la biblioteca oficial de Ollama, o si quieres usar un archivo &lt;code&gt;GGUF&lt;/code&gt; específico de Hugging Face, puedes descargarlo manualmente e importarlo después en Ollama.&lt;/p&gt;
&lt;h2 id=&#34;paso-1-descargar-el-archivo-gguf-desde-hugging-face&#34;&gt;Paso 1: descargar el archivo GGUF desde Hugging Face
&lt;/h2&gt;&lt;p&gt;Primero busca en Hugging Face el archivo &lt;code&gt;GGUF&lt;/code&gt; correspondiente al modelo objetivo. Normalmente verás varias versiones cuantizadas, por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q5_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q8_0&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Qué versión elegir depende de tu VRAM, memoria y del equilibrio que quieras entre velocidad y calidad. Después de descargarlo, coloca el archivo &lt;code&gt;.gguf&lt;/code&gt; en un directorio fijo para referenciarlo directamente en el &lt;code&gt;Modelfile&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;paso-2-escribir-el-modelfile&#34;&gt;Paso 2: escribir el Modelfile
&lt;/h2&gt;&lt;p&gt;Crea un archivo &lt;code&gt;Modelfile&lt;/code&gt; en el mismo directorio que el modelo. La forma mínima es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FROM ./model.gguf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el nombre del archivo es distinto, cámbialo por el nombre real, por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FROM ./gemma-3-12b-it-q4_k_m.gguf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si solo quieres ponerlo en marcha primero, normalmente esta línea &lt;code&gt;FROM&lt;/code&gt; basta.&lt;/p&gt;
&lt;h2 id=&#34;paso-3-importar-a-ollama&#34;&gt;Paso 3: importar a Ollama
&lt;/h2&gt;&lt;p&gt;Después ejecuta:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama create myModelName -f Modelfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;myModelName&lt;/code&gt; es el nombre local del modelo que quieres usar dentro de Ollama&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-f Modelfile&lt;/code&gt; indica que se crea el modelo desde este archivo de configuración&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuando la creación termine correctamente, ese archivo GGUF se convertirá en un modelo local que puede llamarse directamente.&lt;/p&gt;
&lt;h2 id=&#34;paso-4-ejecutar-el-modelo&#34;&gt;Paso 4: ejecutar el modelo
&lt;/h2&gt;&lt;p&gt;Después de crearlo, ejecútalo directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run myModelName
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;A partir de ahí, su uso es básicamente igual al de un modelo descargado con &lt;code&gt;ollama pull&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;cómo-ver-el-modelfile-de-un-modelo-existente&#34;&gt;Cómo ver el Modelfile de un modelo existente
&lt;/h2&gt;&lt;p&gt;Si no estás seguro de cómo escribir el &lt;code&gt;Modelfile&lt;/code&gt;, puedes mirar directamente la configuración de un modelo existente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama show --modelfile llama3.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Este comando imprimirá el contenido del &lt;code&gt;Modelfile&lt;/code&gt; de &lt;code&gt;llama3.2&lt;/code&gt;, útil como referencia:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cómo debería escribirse &lt;code&gt;FROM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Cómo se organizan la plantilla y el system prompt&lt;/li&gt;
&lt;li&gt;Cómo se declaran los parámetros&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cuándo-conviene-esta-ruta&#34;&gt;Cuándo conviene esta ruta
&lt;/h2&gt;&lt;p&gt;Estos escenarios son adecuados para importar manualmente desde Hugging Face:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La biblioteca oficial de Ollama todavía no tiene el modelo que necesitas&lt;/li&gt;
&lt;li&gt;Quieres usar una versión cuantizada concreta&lt;/li&gt;
&lt;li&gt;Ya descargaste manualmente el archivo &lt;code&gt;GGUF&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Quieres controlar con más detalle la forma de empaquetar el modelo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si ya existe una versión oficial lista, usar &lt;code&gt;pull&lt;/code&gt; suele ser más sencillo; pero cuando necesitas una cuantización específica o empaquetado personalizado, &lt;code&gt;GGUF + Modelfile&lt;/code&gt; es más flexible.&lt;/p&gt;
&lt;h2 id=&#34;precauciones-habituales&#34;&gt;Precauciones habituales
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;La ruta después de &lt;code&gt;FROM&lt;/code&gt; debe coincidir con la ubicación real del archivo &lt;code&gt;.gguf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Si el nombre de archivo contiene espacios o caracteres especiales, se recomienda renombrarlo a algo más simple.&lt;/li&gt;
&lt;li&gt;Las distintas cuantizaciones &lt;code&gt;GGUF&lt;/code&gt; influyen mucho en memoria y velocidad; importarlo con éxito no significa que vaya a ejecutarse con fluidez.&lt;/li&gt;
&lt;li&gt;Si el modelo es de chat, normalmente tendrás que ajustar después la plantilla de prompt según su formato para obtener resultados más estables.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;conclusión&#34;&gt;Conclusión
&lt;/h2&gt;&lt;p&gt;Descargar un archivo &lt;code&gt;GGUF&lt;/code&gt; desde Hugging Face e importarlo en Ollama no es complicado. Prepara el archivo del modelo, escribe un &lt;code&gt;Modelfile&lt;/code&gt; mínimo y ejecuta &lt;code&gt;ollama create&lt;/code&gt;; con eso puedes conectar modelos &lt;code&gt;GGUF&lt;/code&gt; de terceros a Ollama.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Diagnóstico y soluciones para descargas muy lentas con ollama pull</title>
        <link>https://www.knightli.com/es/2026/04/09/ollama-download-slow-troubleshooting/</link>
        <pubDate>Thu, 09 Apr 2026 10:42:39 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/09/ollama-download-slow-troubleshooting/</guid>
        <description>&lt;p&gt;&lt;code&gt;ollama pull model_name:tag&lt;/code&gt; puede descargar muy lento en algunas regiones, y el proceso no siempre es estable.&lt;/p&gt;
&lt;p&gt;Si el problema que encuentras es que la descarga de un modelo grande se interrumpe repetidamente a mitad de camino, con errores como &lt;code&gt;TLS handshake timeout&lt;/code&gt; o &lt;code&gt;unexpected EOF&lt;/code&gt;, es muy probable que el problema no esté solo en &lt;code&gt;registry.ollama.ai&lt;/code&gt;, sino en la ruta real de descarga después de la redirección.&lt;/p&gt;
&lt;p&gt;Este artículo registra una idea de diagnóstico simple y directa: primero obtener la dirección real de descarga del archivo del modelo, luego confirmar dónde termina realmente el tráfico y por último optimizar solo los dominios clave.&lt;/p&gt;
&lt;h2 id=&#34;obtener-la-dirección-de-descarga-del-archivo-del-modelo&#34;&gt;Obtener la dirección de descarga del archivo del modelo
&lt;/h2&gt;&lt;p&gt;Puedes usar el siguiente proyecto para extraer directamente el manifest y las direcciones de descarga de blobs correspondientes al modelo de Ollama:&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Gholamrezadar/ollama-direct-downloader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/Gholamrezadar/ollama-direct-downloader&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tomando &lt;code&gt;gemma4:latest&lt;/code&gt; como ejemplo, se pueden extraer enlaces parecidos a los siguientes.&lt;/p&gt;
&lt;h3 id=&#34;dirección-del-manifest&#34;&gt;Dirección del manifest
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/manifests/latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;direcciones-de-blobs&#34;&gt;Direcciones de blobs
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:56380ca2ab89f1f68c283f4d50863c0bcab52ae3f1b9a88e4ab5617b176f71a3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si solo quieres verificar rápido, también puedes descargar directamente el manifest y los blobs con &lt;code&gt;curl&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/manifests/latest&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;sha256-f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;sha256-4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;sha256-7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;dirección-real-después-de-la-redirección&#34;&gt;Dirección real después de la redirección
&lt;/h2&gt;&lt;p&gt;Al intentar descargar uno de los blobs con &lt;code&gt;wget&lt;/code&gt;, verás que la solicitud no se queda siempre en &lt;code&gt;registry.ollama.ai&lt;/code&gt;, sino que redirige a una dirección de almacenamiento de objetos &lt;code&gt;Cloudflare R2&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--2026-04-09 09:22:04--  https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resolving registry.ollama.ai &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;registry.ollama.ai&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;... 104.21.75.227, 172.67.182.229, 2606:4700:3034::ac43:b6e5, ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Connecting to registry.ollama.ai &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;registry.ollama.ai&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;104.21.75.227&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;:443... connected.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;HTTP request sent, awaiting response... &lt;span class=&#34;m&#34;&gt;307&lt;/span&gt; Temporary Redirect
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Location: https://dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com/ollama/docker/registry/v2/blobs/sha256/4c/4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a/data?... &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;following&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--2026-04-09 09:22:05--  https://dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com/ollama/docker/registry/v2/blobs/sha256/4c/4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a/data?...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resolving dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;... 172.64.66.1, 2606:4700:2ff9::1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Connecting to dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;172.64.66.1&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;:443... connected.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;HTTP request sent, awaiting response... &lt;span class=&#34;m&#34;&gt;200&lt;/span&gt; OK
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Length: &lt;span class=&#34;m&#34;&gt;9608338848&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;8.9G&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;application/octet-stream&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En el log se ven varios puntos clave:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;registry.ollama.ai&lt;/code&gt; devuelve &lt;code&gt;307 Temporary Redirect&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;La dirección final cae en &lt;code&gt;*.r2.cloudflarestorage.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;La transferencia real del archivo grande la soporta en realidad el dominio de almacenamiento de objetos posterior&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este paso es importante, porque demuestra que si tu proxy o reglas de routing solo cubren &lt;code&gt;registry.ollama.ai&lt;/code&gt;, pero no tratan &lt;code&gt;*.r2.cloudflarestorage.com&lt;/code&gt;, la descarga seguirá pudiendo ser lenta o interrumpirse repetidamente.&lt;/p&gt;
&lt;h2 id=&#34;ajustar-la-configuración-de-red&#34;&gt;Ajustar la configuración de red
&lt;/h2&gt;&lt;p&gt;Después de confirmar la ruta real de descarga, la dirección de diagnóstico queda mucho más clara.&lt;/p&gt;
&lt;p&gt;Si estás usando proxy, reglas de routing o DNS personalizado, se recomienda revisar primero:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si &lt;code&gt;registry.ollama.ai&lt;/code&gt; y &lt;code&gt;*.r2.cloudflarestorage.com&lt;/code&gt; pasan por la misma ruta estable&lt;/li&gt;
&lt;li&gt;Si las reglas de proxy solo cubren el primero y se olvidan del segundo&lt;/li&gt;
&lt;li&gt;Si la salida actual es adecuada para descargas sostenidas de varios GB o decenas de GB&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La clave de este tipo de problema no es &amp;ldquo;si se puede abrir la web oficial&amp;rdquo;, sino &amp;ldquo;si la ruta de almacenamiento de objetos después de la redirección es estable y puede transferir durante largo tiempo&amp;rdquo;. Muchas veces, lo que de verdad hay que optimizar es la capa &lt;code&gt;Cloudflare R2&lt;/code&gt;, no el dominio registry anterior.&lt;/p&gt;
&lt;h2 id=&#34;comparación-antes-y-después-del-ajuste&#34;&gt;Comparación antes y después del ajuste
&lt;/h2&gt;&lt;p&gt;Abajo hay una descarga real de &lt;code&gt;gemma4:31b-it-q8_0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Antes del ajuste, la velocidad era baja y aparecía error a mitad de camino:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PS C:\Users\knightli&amp;gt; ollama run gemma4:31b-it-q8_0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling manifest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling a0feadb736f5:  38% ▕██████████████████████                                    ▏  12 GB/ 33 GB  1.2 MB/s   4h40m
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Error: max retries exceeded: unexpected EOF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después del ajuste, al descargar de nuevo el mismo modelo, la velocidad y estabilidad mejoraron claramente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PS C:\Users\knightli&amp;gt; ollama run gemma4:31b-it-q8_0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling manifest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling a0feadb736f5:  46% ▕████████████████████████████████████████████████████████████████▏ 15 GB/ 33 GB  8.5 MB/s  35m23s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto no significa que todos los entornos de red obtengan el mismo resultado, pero al menos muestra algo: el cuello de botella probablemente no está en el cliente Ollama, sino en la ruta real de descarga de archivos grandes.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Gemma 4 en Raspberry Pi 5: viable, pero con respuestas lentas</title>
        <link>https://www.knightli.com/es/2026/04/08/gemma4-on-raspberry-pi5-benchmark/</link>
        <pubDate>Wed, 08 Apr 2026 18:42:00 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/08/gemma4-on-raspberry-pi5-benchmark/</guid>
        <description>&lt;p&gt;Un intento un poco extremo: ejecutar Gemma 4 en una &lt;code&gt;Raspberry Pi 5 (8GB RAM)&lt;/code&gt;. El objetivo no fue una versión grande del modelo, sino el modelo más pequeño &lt;code&gt;E2B&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La conclusión primero: puede ejecutarse y es usable, pero encaja mejor en escenarios con poca interacción. No es ideal para una experiencia conversacional con alta exigencia de tiempo real.&lt;/p&gt;
&lt;h2 id=&#34;entorno-de-prueba&#34;&gt;Entorno de prueba
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Dispositivo: Raspberry Pi 5 (CPU de 4 núcleos, 8GB RAM)&lt;/li&gt;
&lt;li&gt;Sistema: Ubuntu Server (sin interfaz gráfica)&lt;/li&gt;
&lt;li&gt;Acceso: SSH&lt;/li&gt;
&lt;li&gt;Forma de ejecución del modelo: LM Studio CLI (solo modo línea de comandos)&lt;/li&gt;
&lt;li&gt;Modelo: Gemma 4 E2B (aprox. 4.5GB)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;paso-1-instalar-e-iniciar-lm-studio-cli&#34;&gt;Paso 1: instalar e iniciar LM Studio CLI
&lt;/h2&gt;&lt;p&gt;Instala la versión CLI de LM Studio, inicia el servicio y consulta los comandos disponibles.&lt;/p&gt;
&lt;p&gt;Como es un entorno puro de línea de comandos, este método de despliegue solo por CLI encaja muy bien con Raspberry Pi.&lt;/p&gt;
&lt;h2 id=&#34;paso-2-mover-el-almacenamiento-de-modelos-a-un-ssd&#34;&gt;Paso 2: mover el almacenamiento de modelos a un SSD
&lt;/h2&gt;&lt;p&gt;Para evitar lecturas y escrituras frecuentes en la tarjeta SD, moví el directorio de descarga de modelos a un SSD externo.&lt;/p&gt;
&lt;p&gt;La experiencia de conectar un SSD a Raspberry Pi 5 es claramente más práctica que en modelos anteriores. Para ejecutar modelos locales durante mucho tiempo, conviene priorizar SSD.&lt;/p&gt;
&lt;h2 id=&#34;paso-3-descargar-y-cargar-gemma-4-e2b&#34;&gt;Paso 3: descargar y cargar Gemma 4 E2B
&lt;/h2&gt;&lt;p&gt;Después de la descarga, el modelo puede cargarse correctamente en memoria.&lt;/p&gt;
&lt;p&gt;Según la información oficial, la serie Gemma 4 cuenta con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Capacidad de tool calling orientada a escenarios Agent (function calling)&lt;/li&gt;
&lt;li&gt;Capacidades multimodales (incluyendo imagen/video; los modelos pequeños también tienen capacidades relacionadas con voz)&lt;/li&gt;
&lt;li&gt;Ventana de contexto &lt;code&gt;128K&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Licencia Apache 2.0 (usable comercialmente)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Viendo las condiciones de hardware de Raspberry Pi, la variante E2B es la más adecuada para empezar a probar.&lt;/p&gt;
&lt;h2 id=&#34;paso-4-iniciar-la-api-y-abrir-acceso-en-la-red-local&#34;&gt;Paso 4: iniciar la API y abrir acceso en la red local
&lt;/h2&gt;&lt;p&gt;Después de cargar el modelo, primero inicié la API en el puerto local (&lt;code&gt;4000&lt;/code&gt;) y confirmé mediante una petición HTTP que la lista de modelos podía devolverse.&lt;/p&gt;
&lt;p&gt;El problema es que, por defecto, solo escucha en la propia máquina, así que otros dispositivos de la LAN no pueden acceder directamente.&lt;/p&gt;
&lt;p&gt;Como los parámetros de inicio no permitían configurar directamente el host, usé &lt;code&gt;socat&lt;/code&gt; para hacer reenvío de puerto: las peticiones al puerto externo de la Raspberry Pi se puentean al puerto interno de LM Studio, permitiendo acceso por LAN.&lt;/p&gt;
&lt;p&gt;El resultado fue viable: desde un MacBook en la misma red local pude hacer la petición y obtener correctamente la lista de modelos.&lt;/p&gt;
&lt;h2 id=&#34;paso-5-integración-con-editor-zed&#34;&gt;Paso 5: integración con editor (Zed)
&lt;/h2&gt;&lt;p&gt;El servicio local de LM Studio es compatible con la forma de la OpenAI API, por lo que la mayoría de herramientas que soportan &lt;code&gt;base_url&lt;/code&gt; personalizado pueden conectarse directamente.&lt;/p&gt;
&lt;p&gt;En Zed añadí un nuevo LLM provider apuntando a la instancia de Gemma 4 en la Raspberry Pi, y después la prueba de chat dentro del editor funcionó.&lt;/p&gt;
&lt;h2 id=&#34;juicio-de-usabilidad-real&#34;&gt;Juicio de usabilidad real
&lt;/h2&gt;&lt;p&gt;Esta solución encaja con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scripts locales de automatización&lt;/li&gt;
&lt;li&gt;Tareas auxiliares de baja concurrencia y baja exigencia de tiempo real&lt;/li&gt;
&lt;li&gt;Aprendizaje personal y experimentos en dispositivos edge&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No encaja tanto con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chat interactivo de alta frecuencia&lt;/li&gt;
&lt;li&gt;Escenarios de colaboración de desarrollo sensibles a la latencia&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;conclusión&#34;&gt;Conclusión
&lt;/h2&gt;&lt;p&gt;Ejecutar Gemma 4 (E2B) en &lt;code&gt;Raspberry Pi 5&lt;/code&gt; es viable, y el resultado real fue mejor de lo esperado.&lt;/p&gt;
&lt;p&gt;Si tu objetivo es &amp;ldquo;poder ejecutarlo offline, conectarlo a herramientas y completar tareas ligeras o medias&amp;rdquo;, esta ruta merece probarse. Si el objetivo es interacción fluida en tiempo real, sigue siendo recomendable usar hardware más potente.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Conectar OpenClaw con Gemma 4 local: guía completa de configuración</title>
        <link>https://www.knightli.com/es/2026/04/08/openclaw-connect-gemma4-local/</link>
        <pubDate>Wed, 08 Apr 2026 18:18:00 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/08/openclaw-connect-gemma4-local/</guid>
        <description>&lt;p&gt;Este artículo muestra cómo conectar &lt;code&gt;OpenClaw&lt;/code&gt; a un modelo &lt;code&gt;Gemma 4&lt;/code&gt; local, exponiendo la interfaz mediante &lt;code&gt;Ollama&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si todavía no completaste el despliegue local, puedes consultar primero:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.knightli.com/es/2026/04/08/run-gemma4-on-laptop/&#34; &gt;Cómo ejecutar Gemma 4 en un portátil: guía de despliegue local en 5 minutos&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;paso-1-iniciar-el-servicio-api-de-ollama&#34;&gt;Paso 1: iniciar el servicio API de Ollama
&lt;/h2&gt;&lt;p&gt;Primero inicia el servicio de Ollama:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Puedes probar rápidamente si la API funciona con el siguiente comando:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://localhost:11434/api/generate -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;gemma4:12b&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;prompt&amp;#34;: &amp;#34;你好&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si devuelve salida del modelo, significa que la API local ya está disponible.&lt;/p&gt;
&lt;h2 id=&#34;paso-2-configurar-openclaw-para-acceder-a-ollama&#34;&gt;Paso 2: configurar OpenClaw para acceder a Ollama
&lt;/h2&gt;&lt;p&gt;La ruta habitual del archivo de configuración de OpenClaw es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.openclaw/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Edita &lt;code&gt;config.yaml&lt;/code&gt; y añade una entrada de modelo local dentro de &lt;code&gt;models&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 你已有的模型配置...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;gemma4-local&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;provider&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;ollama&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;base_url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;http://localhost:11434&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;gemma4:12b&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;timeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;120s&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;paso-3-establecer-el-modelo-predeterminado-opcional&#34;&gt;Paso 3: establecer el modelo predeterminado (opcional)
&lt;/h2&gt;&lt;p&gt;Si quieres que Gemma 4 sea el modelo predeterminado, añade:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;default_model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;gemma4-local&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;paso-4-reiniciar-y-verificar-openclaw&#34;&gt;Paso 4: reiniciar y verificar OpenClaw
&lt;/h2&gt;&lt;p&gt;Reinicia OpenClaw:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaw restart
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Consulta la lista de modelos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaw models list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Inicia una conversación de prueba:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaw chat --model gemma4-local &lt;span class=&#34;s2&#34;&gt;&amp;#34;你好&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si la conversación devuelve respuesta con normalidad, OpenClaw ya se conectó correctamente a Gemma 4 local.&lt;/p&gt;
&lt;h2 id=&#34;diagnóstico-habitual&#34;&gt;Diagnóstico habitual
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;connection refused&lt;/code&gt;: confirma primero si &lt;code&gt;ollama serve&lt;/code&gt; está ejecutándose.&lt;/li&gt;
&lt;li&gt;Modelo no encontrado: comprueba que el nombre del modelo coincida con &lt;code&gt;ollama list&lt;/code&gt; (por ejemplo &lt;code&gt;gemma4:12b&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Timeout de respuesta: puedes aumentar &lt;code&gt;timeout&lt;/code&gt; y probar primero con un modelo más pequeño.&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Cómo ejecutar Gemma 4 en un portátil: guía de despliegue local en 5 minutos</title>
        <link>https://www.knightli.com/es/2026/04/08/run-gemma4-on-laptop/</link>
        <pubDate>Wed, 08 Apr 2026 18:06:00 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/08/run-gemma4-on-laptop/</guid>
        <description>&lt;p&gt;Si quieres ejecutar Gemma 4 localmente en un portátil, &lt;code&gt;Ollama&lt;/code&gt; es una de las opciones más sencillas actualmente. Incluso sin configurar un entorno complicado, normalmente se puede poner en marcha en unos 5 minutos.&lt;/p&gt;
&lt;h2 id=&#34;paso-1-instalar-ollama&#34;&gt;Paso 1: instalar Ollama
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Abre &lt;code&gt;https://ollama.com&lt;/code&gt; y descarga el instalador correspondiente a tu sistema.&lt;/li&gt;
&lt;li&gt;Completa la instalación según el sistema:&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;macOS: arrástralo a &lt;code&gt;Applications&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Windows: ejecuta el instalador &lt;code&gt;.exe&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Linux: usa el script de instalación ofrecido en el sitio oficial.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tras la instalación, Ollama se ejecutará como servicio en segundo plano. Salvo durante la instalación inicial, en el uso diario suelen bastar comandos simples.&lt;/p&gt;
&lt;h2 id=&#34;paso-2-descargar-el-modelo-gemma-4&#34;&gt;Paso 2: descargar el modelo Gemma 4
&lt;/h2&gt;&lt;p&gt;Abre una terminal y ejecuta:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama pull gemma4:4b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si tu equipo tiene más rendimiento, puedes cambiarlo por &lt;code&gt;12b&lt;/code&gt; o &lt;code&gt;27b&lt;/code&gt;. Cuando termine la descarga, el modelo quedará guardado localmente.&lt;/p&gt;
&lt;p&gt;Para ver los modelos descargados:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;paso-3-iniciar-el-modelo&#34;&gt;Paso 3: iniciar el modelo
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4:4b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto abrirá una conversación interactiva en la terminal. Escribe una pregunta y pulsa Enter; para terminar la sesión puedes introducir:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/bye
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si prefieres una interfaz de chat web, puedes usarlo junto con &lt;code&gt;Open WebUI&lt;/code&gt;. Esta herramienta envuelve Ollama en una UI de navegador y normalmente se configura en pocos minutos con Docker.&lt;/p&gt;
&lt;h2 id=&#34;consejos-de-optimización-para-portátiles&#34;&gt;Consejos de optimización para portátiles
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Apple Silicon (M2/M3/M4): por defecto usa Metal y la aceleración suele funcionar muy bien; &lt;code&gt;12B&lt;/code&gt; también puede ofrecer una buena experiencia.&lt;/li&gt;
&lt;li&gt;Tarjeta NVIDIA: cuando detecta una GPU compatible, suele usar CUDA automáticamente. Conviene actualizar los drivers con antelación.&lt;/li&gt;
&lt;li&gt;Inferencia solo con CPU: se puede ejecutar, pero los modelos grandes serán claramente más lentos; en la mayoría de escenarios CPU-only conviene priorizar &lt;code&gt;4B&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Liberar memoria: antes de cargar modelos grandes, cierra en lo posible aplicaciones que consuman mucha memoria. Como referencia práctica, cada mil millones de parámetros suelen necesitar entre &lt;code&gt;0.5GB y 1GB&lt;/code&gt; de memoria.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cómo-elegir-modelo&#34;&gt;Cómo elegir modelo
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 1B&lt;/code&gt;: adecuado para preguntas y respuestas ligeras, resúmenes básicos y consultas rápidas; su capacidad de razonamiento complejo es limitada.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 4B&lt;/code&gt;: adecuado para la mayoría de tareas diarias (ayuda de escritura, ayuda de código, resumen de materiales), con buen equilibrio entre velocidad y calidad.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 12B&lt;/code&gt;: adecuado para contextos más largos y tareas más complejas; es más estable en escenarios de código y razonamiento.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 27B&lt;/code&gt;: adecuado para tareas exigentes; el resultado se acerca más a modelos grandes en la nube, pero requiere mucho más hardware.&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Instalar y ejecutar Gemma 4 en Android: guía completa de inicio</title>
        <link>https://www.knightli.com/es/2026/04/08/android-gemma4-install-run-guide/</link>
        <pubDate>Wed, 08 Apr 2026 17:55:53 +0800</pubDate>
        
        <guid>https://www.knightli.com/es/2026/04/08/android-gemma4-install-run-guide/</guid>
        <description>&lt;p&gt;Si quieres probar Gemma 4 sin conexión en el teléfono, este artículo te lleva paso a paso desde la instalación hasta las funciones prácticas.&lt;/p&gt;
&lt;h2 id=&#34;paso-1-obtener-la-aplicación&#34;&gt;Paso 1: obtener la aplicación
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Google AI Edge Gallery&lt;/code&gt; actualmente no está publicado en Google Play, así que hay que instalarlo mediante sideload de APK.&lt;/p&gt;
&lt;p&gt;En el dispositivo Android, entra en:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Ajustes -&amp;gt; Aplicaciones -&amp;gt; Acceso especial de apps -&amp;gt; Instalar apps desconocidas&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Después:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Busca el navegador que usas (por ejemplo Chrome o Firefox) y activa &amp;ldquo;Permitir desde esta fuente&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Abre en el navegador del teléfono la página GitHub Releases de &lt;code&gt;Google AI Edge Gallery&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Dirección: &lt;a class=&#34;link&#34; href=&#34;https://github.com/google-ai-edge/gallery/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/google-ai-edge/gallery/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Descarga el paquete &lt;code&gt;.apk&lt;/code&gt; más reciente.&lt;/li&gt;
&lt;li&gt;Cuando termine la descarga, abre el instalador desde la barra de notificaciones o el gestor de archivos y completa la instalación siguiendo las indicaciones.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Con una red normal, este paso suele completarse en unos 2 minutos.&lt;/p&gt;
&lt;h2 id=&#34;paso-2-primer-inicio-y-permisos&#34;&gt;Paso 2: primer inicio y permisos
&lt;/h2&gt;&lt;p&gt;Al abrir &lt;code&gt;AI Edge Gallery&lt;/code&gt; por primera vez, la aplicación solicitará permiso de almacenamiento para guardar los archivos de modelos. Se recomienda permitirlo directamente; de lo contrario, la aplicación no podrá descargar ni cargar modelos.&lt;/p&gt;
&lt;p&gt;En la página principal suelen aparecer estas entradas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ask Image&lt;/code&gt;: tareas de comprensión de imágenes (describir imágenes o responder preguntas relacionadas con ellas)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AI Chat&lt;/code&gt;: conversación de texto general&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Summarize&lt;/code&gt;: pegar texto y generar un resumen&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Smart Reply&lt;/code&gt;: generar sugerencias de respuesta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La opción más usada por la mayoría de usuarios es &lt;code&gt;AI Chat&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;paso-3-descargar-el-modelo-gemma-4&#34;&gt;Paso 3: descargar el modelo Gemma 4
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Entra en &lt;code&gt;AI Chat&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Haz clic en &lt;code&gt;Get Models&lt;/code&gt; cuando aparezca la indicación.&lt;/li&gt;
&lt;li&gt;Selecciona una versión de Gemma 4 en la lista de modelos (se mostrará su tamaño).&lt;/li&gt;
&lt;li&gt;Elige el modelo según el rendimiento del dispositivo; si tu teléfono tiene &lt;code&gt;8GB RAM&lt;/code&gt;, puedes empezar por &lt;code&gt;Gemma 4 4B&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Pulsa &lt;code&gt;Download&lt;/code&gt; y la descarga comenzará en segundo plano.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Nota: cuanto más grande sea el modelo, más tardará la descarga. También puedes descargar varios modelos y cambiarlos después cuando lo necesites. Los modelos descargados se guardan localmente y no hace falta volver a descargarlos.&lt;/p&gt;
&lt;h2 id=&#34;paso-4-empezar-a-conversar&#34;&gt;Paso 4: empezar a conversar
&lt;/h2&gt;&lt;p&gt;Cuando termine la descarga del modelo:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pulsa el nombre del modelo para cargarlo (la primera carga suele tardar entre 10 y 30 segundos, según el tamaño del modelo y el rendimiento del dispositivo).&lt;/li&gt;
&lt;li&gt;Escribe una pregunta en el cuadro de chat y envíala.&lt;/li&gt;
&lt;li&gt;El modelo generará la respuesta localmente; los datos no se subirán a la nube.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Normalmente la primera respuesta será algo más lenta. Es un fenómeno normal de calentamiento del modelo; las respuestas siguientes dentro de la misma conversación suelen ser más rápidas.&lt;/p&gt;
&lt;h2 id=&#34;paso-5-probar-capacidades-visuales-gemma-4-multimodal&#34;&gt;Paso 5: probar capacidades visuales (Gemma 4 multimodal)
&lt;/h2&gt;&lt;p&gt;Si descargaste una versión multimodal de Gemma 4:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Vuelve al menú principal y entra en &lt;code&gt;Ask Image&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Selecciona una imagen o toma una foto directamente.&lt;/li&gt;
&lt;li&gt;Escribe la pregunta que quieres hacer, por ejemplo &amp;ldquo;¿Qué hay en esta imagen?&amp;rdquo; o &amp;ldquo;¿Qué texto importante aparece en la imagen?&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Espera a que el modelo analice la imagen localmente y devuelva el resultado.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Esta función puede usarse sin conexión y el contenido de la imagen tampoco se enviará a servidores externos.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
