<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IA on kenji.blog</title><link>http://kenji.blog/es/tags/ia/</link><description>Recent content in IA on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>es</language><copyright>kenjinote</copyright><lastBuildDate>Sun, 20 Jul 2025 21:52:42 +0900</lastBuildDate><atom:link href="http://kenji.blog/es/tags/ia/index.xml" rel="self" type="application/rss+xml"/><item><title>La barrera del desarrollo de IA</title><link>http://kenji.blog/es/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/</link><pubDate>Sun, 20 Jul 2025 21:52:42 +0900</pubDate><guid>http://kenji.blog/es/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/</guid><description>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1.png" alt="Featured image of post La barrera del desarrollo de IA" />&lt;h1 id="la-barrera-del-desarrollo-de-ia">La barrera del desarrollo de IA
&lt;/h1>&lt;p>&lt;strong>〜Llegué a la octava estación, pero a partir de ahí fue un infierno〜&lt;/strong>&lt;/p>
&lt;p>Hola, soy kenji.&lt;/p>
&lt;p>Últimamente, escucho mucho decir: &amp;ldquo;¡Le pedí a la IA que hiciera una aplicación y la hizo!&amp;rdquo;.
Hemos superado la era de &lt;em>no-code&lt;/em> y &lt;em>low-code&lt;/em>, y estamos entrando en una fase como de &amp;ldquo;programación por vibras&amp;rdquo; (escribir código por intuición).&lt;/p>
&lt;p>Por ejemplo, si le dices: &amp;ldquo;Hazme una aplicación que pueda editar fotos y publicarlas en redes sociales&amp;rdquo;, la IA escupe el código e incluso la interfaz de usuario (UI).
&lt;strong>Increíble, ya no necesitamos a los humanos, ¿verdad? Eso es lo que uno piensa.&lt;/strong>&lt;/p>
&lt;p>Pero, ¿saben? Eso es &lt;strong>como aterrizar en la octava estación del Monte Fuji en sandalias&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="hasta-la-octava-estación-parece-un-paseo">Hasta la octava estación parece un &amp;ldquo;paseo&amp;rdquo;
&lt;/h2>&lt;p>Desarrollar con IA es realmente fácil al principio.
¿Entrada/Salida de archivos (File IO)? Funciona por ahora.
¿Red? Bueno, se conecta.
¿Base de datos? Con JSON es suficiente.
¿UI? ChatGPT me dio el código en React.
¿Pagos? Con copiar y pegar la API de Stripe basta.&lt;/p>
&lt;p>Aquí es donde te haces la ilusión de: &amp;ldquo;¿Acaso ya soy ingeniero?&amp;rdquo;.
Pero el verdadero infierno comienza a partir de aquí.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img.png"
width="1024"
height="1024"
srcset="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_huf56c5201f3b1d8f8800773fd39442f1f_2016892_480x0_resize_box_3.png 480w, http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_huf56c5201f3b1d8f8800773fd39442f1f_2016892_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;hr>
&lt;h2 id="por-qué-nos-atascamos">¿Por qué nos atascamos?
&lt;/h2>&lt;p>La razón es simple: &amp;ldquo;La IA hace que parezca terminado, pero los ajustes finales recaen en los humanos&amp;rdquo;.&lt;/p>
&lt;ul>
&lt;li>Los datos se pierden en la entrada/salida de archivos (File IO).&lt;/li>
&lt;li>La normalización de la base de datos es deficiente y las búsquedas son lentas.&lt;/li>
&lt;li>La interfaz de usuario no es intuitiva.&lt;/li>
&lt;li>No se hicieron pruebas de carga, por lo que colapsa con el tráfico concentrado.&lt;/li>
&lt;li>Es rechazada en la revisión de Apple/Google.&lt;/li>
&lt;li>Viola requisitos legales y causa polémica (o casi).&lt;/li>
&lt;/ul>
&lt;p>En resumen, &lt;strong>la IA es buena para crear prototipos que &amp;ldquo;parecen productos terminados&amp;rdquo;&lt;/strong>,
pero &lt;strong>convertirlos en un producto real que funcione en el mundo sigue siendo, hoy por hoy, un trabajo para humanos&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="pero-hay-una-paradoja">Pero hay una paradoja
&lt;/h2>&lt;p>Aquí notamos una &lt;strong>paradoja&lt;/strong>.&lt;/p>
&lt;blockquote>
&lt;p>¿Qué pasaría si en el futuro la IA realmente pudiera hacerlo todo?
Es decir, ¿qué pasaría si &amp;ldquo;la seguridad, la facturación y el diseño fueran procesados perfectamente por la IA&amp;rdquo;?&lt;/p>
&lt;/blockquote>
&lt;p>En ese momento, &lt;strong>la necesidad misma de que la humanidad cree aplicaciones podría desaparecer&lt;/strong>.&lt;/p>
&lt;p>Porque si los usuarios pueden decirle directamente a la IA &amp;ldquo;quiero hacer esto&amp;rdquo;,
la tarea se ejecutará al instante sin necesidad de una aplicación.&lt;/p>
&lt;hr>
&lt;h3 id="-por-ejemplo">🌀 Por ejemplo
&lt;/h3>&lt;p>Antes, abríamos la aplicación de la calculadora para hacer un cálculo,
ahora, solo decimos: &amp;ldquo;Oye Siri, ¿cuánto es 12 por 32?&amp;rdquo; y listo.&lt;/p>
&lt;p>De la misma manera,
si decimos &amp;ldquo;IA, edita esta foto y compártela&amp;rdquo;, el proceso podría completarse sin siquiera pasar por la UI o la API de una aplicación.&lt;/p>
&lt;p>En otras palabras,
&lt;strong>cuando se alcance el objetivo de &amp;ldquo;crear aplicaciones con IA&amp;rdquo;, podría llegar un mundo donde las aplicaciones en sí mismas ya no sean necesarias&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="al-final-lo-que-podemos-hacer-ahora">Al final, lo que podemos hacer ahora
&lt;/h2>&lt;p>Entonces, ¿qué debemos hacer?&lt;/p>
&lt;ul>
&lt;li>Como la &amp;ldquo;zona por encima de la octava estación&amp;rdquo; sigue siendo dominio humano, debemos perfeccionarnos ahí.&lt;/li>
&lt;li>Concentrarnos en la comprensión esencial del usuario y el diseño de servicios.&lt;/li>
&lt;li>Pensar más en &amp;ldquo;lo que es valioso&amp;rdquo; que en &amp;ldquo;lo que se puede crear&amp;rdquo;.&lt;/li>
&lt;li>Más bien, buscar formas de proporcionar valor que &amp;ldquo;no se limiten al formato de una aplicación&amp;rdquo;.&lt;/li>
&lt;/ul>
&lt;p>La IA es una herramienta, un ascensor y, a veces, un competidor.
Pero, &lt;strong>&amp;ldquo;qué crear&amp;rdquo; y &amp;ldquo;por qué crearlo&amp;rdquo; siguen siendo preguntas para nosotros, los humanos&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="conclusión">Conclusión:
&lt;/h2>&lt;p>&lt;strong>La barrera del desarrollo de IA no es la tecnología, sino una paradoja estructural.&lt;/strong>&lt;/p>
&lt;p>Es una era en la que cualquiera puede llegar a la octava estación del Monte Fuji.
Pero a partir de ahí empieza lo de verdad.&lt;/p>
&lt;p>Y, para cuando lleguemos a la cima,
tal vez nos espere un futuro en el que nos preguntemos: &amp;ldquo;¿De verdad era necesario escalar la montaña?&amp;rdquo;.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1.png"
width="1024"
height="1024"
srcset="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1_hu929f602c53dcc1c0d00e8a53b025b29e_1978511_480x0_resize_box_3.png 480w, http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1_hu929f602c53dcc1c0d00e8a53b025b29e_1978511_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p></description></item><item><title>Pasos para llamar a TinyLLaMA desde C++ (usando llama.cpp)</title><link>http://kenji.blog/es/p/tinyllama-%E3%82%92-c-%E3%81%8B%E3%82%89%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%9B%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86llama.cpp%E4%BD%BF%E7%94%A8/</link><pubDate>Sat, 19 Jul 2025 09:40:53 +0900</pubDate><guid>http://kenji.blog/es/p/tinyllama-%E3%82%92-c-%E3%81%8B%E3%82%89%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%9B%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86llama.cpp%E4%BD%BF%E7%94%A8/</guid><description>&lt;img src="http://kenji.blog/p/tinyllama-%E3%82%92-c-%E3%81%8B%E3%82%89%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%9B%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86llama.cpp%E4%BD%BF%E7%94%A8/img.png" alt="Featured image of post Pasos para llamar a TinyLLaMA desde C++ (usando llama.cpp)" />&lt;h1 id="-configuración-de-tinyllama--c-usando-llamacpp">✅ Configuración de TinyLLaMA × C++ (usando &lt;code>llama.cpp&lt;/code>)
&lt;/h1>&lt;hr>
&lt;h2 id="-paso-1-preparar-llamacpp">🔧 Paso 1: Preparar llama.cpp
&lt;/h2>&lt;h3 id="1-1-entorno-necesario-mínimo">1-1. Entorno necesario (mínimo)
&lt;/h3>&lt;ul>
&lt;li>SO: Windows / Linux / macOS&lt;/li>
&lt;li>Entorno de desarrollo: g++ / clang / MSVC&lt;/li>
&lt;li>Git / CMake&lt;/li>
&lt;/ul>
&lt;h3 id="1-2-obtener-y-compilar-llamacpp">1-2. Obtener y compilar llama.cpp
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">git clone https://github.com/ggerganov/llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">mkdir build
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> build
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cmake ..
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">cmake --build . --config Release
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>En Windows, es más fácil usar &lt;code>Visual Studio Developer Command Prompt&lt;/code> y ejecutar &lt;code>cmake --build . --config Release&lt;/code>.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-paso-2-descargar-y-convertir-el-modelo-tinyllama">📦 Paso 2: Descargar y convertir el modelo TinyLLaMA
&lt;/h2>&lt;h3 id="2-1-obtener-el-modelo-original-de-huggingface">2-1. Obtener el modelo original de HuggingFace
&lt;/h3>&lt;p>Ejemplo: &lt;a class="link" href="https://huggingface.co/openaccess-ai-collective/TinyLlama-1.1B-Chat-v1.0" target="_blank" rel="noopener"
>TinyLLaMA-1.1B&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Instalar transformers para descargar si es necesario&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pip install transformers huggingface_hub
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python3 -m transformers.models.llama.convert_llama_weights_to_hf &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --input_dir ./TinyLlama-1.1B-Chat &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --model_size 1B &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --output_dir ./hf_model
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>Este paso es para convertir al formato de Hugging Face.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="2-2-convertir-al-formato-gguf-para-llamacpp">2-2. Convertir al formato GGUF (para &lt;code>llama.cpp&lt;/code>)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">python3 convert.py ./hf_model --outfile tinyllama.gguf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="2-3-cuantización-del-modelo-reducción-de-tamaño">2-3. Cuantización del modelo (reducción de tamaño)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">./quantize ./tinyllama.gguf ./tinyllama-q4.gguf q4_0
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;code>q4_0&lt;/code> es cuantización de 4 bits. El tamaño del modelo se reducirá a aproximadamente &lt;strong>350 MB&lt;/strong>.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-paso-3-llamar-al-modelo-desde-c-ejemplo-de-código">🧪 Paso 3: Llamar al modelo desde C++ (Ejemplo de código)
&lt;/h2>&lt;h3 id="3-1-código-c-simple-inferencia">3-1. Código C++ simple (Inferencia)
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-cpp" data-lang="cpp">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;#34;llama.h&amp;#34;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;iostream&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_model_params&lt;/span> &lt;span class="n">model_params&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_model_default_params&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_context_params&lt;/span> &lt;span class="n">ctx_params&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_context_default_params&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_model&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">model&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_load_model_from_file&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;tinyllama-q4.gguf&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">model_params&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_context&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">ctx&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_new_context_with_model&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">ctx_params&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">string&lt;/span> &lt;span class="n">prompt&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s">&amp;#34;El usuario dice que quiere leer datos de Excel, filtrarlos y guardarlos. ¿Cuál es la configuración de los nodos?&amp;#34;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_batch&lt;/span> &lt;span class="n">batch&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_batch_init&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">512&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_token&lt;/span> &lt;span class="n">BOS&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_token_bos&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">BOS&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Tokenización
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">vector&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="n">llama_token&lt;/span>&lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">prompt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">8&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_tokenize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">prompt&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">c_str&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">data&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">(),&lt;/span> &lt;span class="nb">true&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">resize&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">size_t&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">();&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">n_tokens&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">tokens&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_decode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">batch&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Obtener resultados de inferencia
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">50&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="o">++&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_token&lt;/span> &lt;span class="n">next&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_sample_token&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="k">nullptr&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">std&lt;/span>&lt;span class="o">::&lt;/span>&lt;span class="n">cout&lt;/span> &lt;span class="o">&amp;lt;&amp;lt;&lt;/span> &lt;span class="n">llama_token_to_str&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">next&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_batch&lt;/span> &lt;span class="n">next_batch&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">llama_batch_init&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">next_batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">token&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">next&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">next_batch&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">n_tokens&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_decode&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">next_batch&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_free&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">ctx&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">llama_free_model&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">model&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-paso-4-método-de-compilación-ejemplo">🧱 Paso 4: Método de compilación (Ejemplo)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">g++ -I./llama.cpp main.cpp ./llama.cpp/build/libllama.a -o tiny_infer -pthread -std&lt;span class="o">=&lt;/span>c++11
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;blockquote>
&lt;p>&lt;code>libllama.a&lt;/code> se crea en el directorio &lt;code>build/&lt;/code> después de compilar.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-ejemplo-de-estructura-del-producto-final-organizado">✅ Ejemplo de estructura del producto final (Organizado)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">my_app/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── tinyllama-q4.gguf # Modelo cuantizado (~350MB)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── main.cpp # Código C++ anterior
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── llama.cpp/ # Código fuente de llama.cpp
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└── build/
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └── libllama.a # Biblioteca compilada
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-notas-adicionales-para-aplicar-a-tu-caso-de-uso">🧠 Notas adicionales para aplicar a tu caso de uso
&lt;/h2>&lt;ul>
&lt;li>Tener código en C++ que reciba la salida y &lt;code>compare y seleccione plantillas de nodos&lt;/code>.&lt;/li>
&lt;li>Ejemplo: Si contiene &amp;ldquo;Excel&amp;rdquo;, &amp;ldquo;filtro&amp;rdquo; y &amp;ldquo;guardar&amp;rdquo; → Generar los nodos correspondientes.&lt;/li>
&lt;li>Esta parte puede ser tan simple como &lt;code>sentencias if + lectura de plantilla JSON&lt;/code>.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-resumen">📌 Resumen
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Elemento&lt;/th>
&lt;th>Descripción&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Modelo recomendado&lt;/td>
&lt;td>TinyLLaMA-1.1B-Chat v1.0 (GGUF + Cuantización)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tamaño&lt;/td>
&lt;td>~350-450MB (Cuantización 4bit)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Integración C++&lt;/td>
&lt;td>Posible usando &lt;code>llama.cpp&lt;/code>, casi sin dependencias externas&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Capacidad de procesamiento&lt;/td>
&lt;td>Suficiente para comprensión de intención simple y generación de salida (texto natural → configuración)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Extensibilidad&lt;/td>
&lt;td>Se puede combinar con el llenado de ranuras (slots) y llamadas a plantillas para crear una IA de generación de nodos&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Cómo generar imágenes de ilustraciones usando IA (Stable Diffusion)</title><link>http://kenji.blog/es/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</link><pubDate>Thu, 06 Apr 2023 00:43:19 +0900</pubDate><guid>http://kenji.blog/es/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/</guid><description>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post Cómo generar imágenes de ilustraciones usando IA (Stable Diffusion)" />&lt;h1 id="qué-es-stable-diffusion">¿Qué es Stable Diffusion?
&lt;/h1>&lt;p>Stable Diffusion es una IA que genera imágenes a partir de información de texto (texto a imagen), desarrollada por un equipo de investigación de la Universidad de Múnich, Alemania.
Al entrenar con diversas imágenes, puede generar una amplia variedad de imágenes, desde fotografías realistas hasta ilustraciones.&lt;/p>
&lt;p>En esta ocasión, presentaré cómo generar imágenes de ilustraciones utilizando datos preentrenados de Stable Diffusion.&lt;/p>
&lt;h1 id="lo-que-necesitas">Lo que necesitas
&lt;/h1>&lt;ul>
&lt;li>Una cuenta de Google&lt;/li>
&lt;/ul>
&lt;p>Solo eso.&lt;/p>
&lt;h1 id="procedimiento-de-generación">Procedimiento de generación
&lt;/h1>&lt;ol>
&lt;li>Abre &lt;a class="link" href="https://colab.research.google.com" target="_blank" rel="noopener"
>https://colab.research.google.com&lt;/a>&lt;/li>
&lt;li>En la esquina superior izquierda, selecciona &lt;code>Archivo&lt;/code> y luego &lt;code>Nuevo cuaderno&lt;/code>&lt;/li>
&lt;li>Selecciona &lt;code>Editar&lt;/code> y luego &lt;code>Configuración del cuaderno&lt;/code>&lt;/li>
&lt;li>Cambia el &lt;code>Acelerador de hardware&lt;/code> a &lt;code>GPU&lt;/code>
&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="627"
height="324"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hud7bbdf6a24e33b2b36528d9e25b016c8_23961_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hud7bbdf6a24e33b2b36528d9e25b016c8_23961_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="193"
data-flex-basis="464px"
>&lt;/li>
&lt;li>Pega y ejecuta el siguiente código&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">!pip install diffusers==0.8.0 transformers
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="6">
&lt;li>Pega y ejecuta el siguiente código&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">from diffusers import StableDiffusionPipeline
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="7">
&lt;li>Pega y ejecuta el siguiente código&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">pipe = StableDiffusionPipeline.from_pretrained(&amp;#34;gsdf/Counterfeit-V2.5&amp;#34;)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">pipe.to(&amp;#34;cuda&amp;#34;)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="8">
&lt;li>Pega y ejecuta el siguiente código&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">prompt = &amp;#34;((masterpiece,best quality)),1girl, solo, animal ears, rabbit, barefoot, knees up, dress, sitting, rabbit ears, short sleeves, looking at viewer, grass, short hair, smile, white hair, puffy sleeves, outdoors, puffy short sleeves, bangs, on ground, full body, animal, white dress, sunlight, brown eyes, dappled sunlight, day, depth of field&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">n_prompt = &amp;#34;EasyNegative, extra fingers,fewer fingers&amp;#34;
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">image = pipe(prompt, negative_prompt = n_prompt).images[0]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">image
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>El &lt;code>Prompt&lt;/code> utilizado aquí está basado en el &lt;code>Prompt&lt;/code> de &lt;a class="link" href="https://huggingface.co/gsdf/Counterfeit-V2.5" target="_blank" rel="noopener"
>https://huggingface.co/gsdf/Counterfeit-V2.5&lt;/a>.&lt;/p>
&lt;h2 id="resultados-generados-algunos">Resultados generados (algunos)
&lt;/h2>&lt;p>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="512"
height="512"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu1ec19e515fd7538067cc14f2c3c8bddf_594392_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu1ec19e515fd7538067cc14f2c3c8bddf_594392_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png"
width="512"
height="512"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu67e673668e1b02812ead4fb15912ac36_533749_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_3_hu67e673668e1b02812ead4fb15912ac36_533749_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_3.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4.png"
width="512"
height="512"
srcset="http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hu2b826ec3ad4d7685d995efaa40aac0c5_597506_480x0_resize_box_3.png 480w, http://kenji.blog/p/aistablediffusion%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%A4%E3%83%A9%E3%82%B9%E3%83%88%E7%94%BB%E5%83%8F%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/img_4_hu2b826ec3ad4d7685d995efaa40aac0c5_597506_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_4.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;h2 id="referencias">Referencias
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://huggingface.co/gsdf/Counterfeit-V2.5" target="_blank" rel="noopener"
>https://huggingface.co/gsdf/Counterfeit-V2.5&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://www.youtube.com/watch?v=l8-fVSM2PVQ" target="_blank" rel="noopener"
>Hice un programa de generación de imágenes con Inteligencia Artificial (IA) en 15 minutos 【Programación en vivo】&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>