<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI on kenji.blog</title><link>http://kenji.blog/id/tags/ai/</link><description>Recent content in AI on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>id</language><copyright>kenjinote</copyright><lastBuildDate>Sun, 20 Jul 2025 21:52:42 +0900</lastBuildDate><atom:link href="http://kenji.blog/id/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Tembok Pengembangan AI</title><link>http://kenji.blog/id/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/id/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 Tembok Pengembangan AI" />&lt;h1 id="tembok-pengembangan-ai">Tembok Pengembangan AI
&lt;/h1>&lt;p>&lt;strong>〜 Sampai di pos 8, tapi setelah itu seperti neraka 〜&lt;/strong>&lt;/p>
&lt;p>Halo, saya kenji.&lt;/p>
&lt;p>Belakangan ini, saya sering sekali mendengar, &amp;ldquo;Saya minta AI, dan aplikasi pun jadi!&amp;rdquo;
Kita telah melewati era no-code dan low-code, dan memasuki fase &amp;ldquo;vibe-coding&amp;rdquo; (menulis kode berdasarkan suasana hati).&lt;/p>
&lt;p>Misalnya, jika Anda berkata, &amp;ldquo;Buatkan aplikasi yang bisa mengedit gambar dan mempostingnya ke media sosial,&amp;rdquo; AI akan mengeluarkan kode dan bahkan antarmuka pengguna (UI).
Anda mungkin berpikir, &lt;strong>&amp;ldquo;Wow, kita tidak butuh manusia lagi, kan?&amp;rdquo;&lt;/strong>&lt;/p>
&lt;p>Tapi tahukah Anda, itu &lt;strong>seperti turun di pos 8 Gunung Fuji dengan memakai sandal&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="sampai-pos-8-terlihat-sangat-mudah">Sampai pos 8 terlihat &amp;ldquo;sangat mudah&amp;rdquo;
&lt;/h2>&lt;p>Pengembangan dengan AI pada awalnya memang sangat mudah.
File I/O? Untuk saat ini berfungsi.
Jaringan? Yah, terhubung.
Database? JSON saja cukup.
UI? ChatGPT sudah memberikan kode React.
Pembayaran? API Stripe cukup copy-paste.&lt;/p>
&lt;p>Di sini, Anda mulai berkhayal, &amp;ldquo;Apakah saya sudah menjadi seorang engineer?&amp;rdquo;
Namun, neraka yang sesungguhnya baru saja dimulai.&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="mengapa-kita-terjebak">Mengapa kita terjebak?
&lt;/h2>&lt;p>Alasannya sederhana, &amp;ldquo;AI membuat sesuatu yang tampak jadi, tetapi penyesuaian akhir sepenuhnya diserahkan kepada manusia.&amp;rdquo;&lt;/p>
&lt;ul>
&lt;li>Data hilang saat file I/O&lt;/li>
&lt;li>Normalisasi DB yang buruk membuat pencarian menjadi lambat&lt;/li>
&lt;li>UI tidak intuitif&lt;/li>
&lt;li>Tidak ada pengujian beban, sehingga crash saat ada lonjakan akses&lt;/li>
&lt;li>Ditolak saat review oleh Apple/Google&lt;/li>
&lt;li>Menimbulkan masalah hukum (dan hampir viral)&lt;/li>
&lt;/ul>
&lt;p>Dengan kata lain, &lt;strong>AI ahli dalam membuat &amp;ldquo;prototipe yang terlihat seperti sudah selesai&amp;rdquo;&lt;/strong>, tetapi
&lt;strong>mengubahnya menjadi &amp;ldquo;produk yang siap dirilis ke dunia nyata&amp;rdquo; masih merupakan pekerjaan manusia&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="tapi-ada-sebuah-paradoks">Tapi, ada sebuah paradoks
&lt;/h2>&lt;p>Di sini kita menyadari sebuah &lt;strong>paradoks&lt;/strong>.&lt;/p>
&lt;blockquote>
&lt;p>Bagaimana jika di masa depan AI benar-benar bisa melakukan segalanya?
Artinya, bagaimana jika &amp;ldquo;keamanan, penagihan, dan desain semuanya ditangani dengan sempurna oleh AI&amp;rdquo;?&lt;/p>
&lt;/blockquote>
&lt;p>Pada saat itu, &lt;strong>kebutuhan manusia untuk membuat aplikasi mungkin akan hilang sepenuhnya&lt;/strong>.&lt;/p>
&lt;p>Sebab, jika pengguna langsung memberi tahu AI, &amp;ldquo;Saya ingin melakukan ini,&amp;rdquo;
tugas tersebut akan langsung dieksekusi tanpa memerlukan aplikasi.&lt;/p>
&lt;hr>
&lt;h3 id="-sebagai-contoh">🌀 Sebagai contoh
&lt;/h3>&lt;p>Dulu kita &amp;ldquo;membuka aplikasi kalkulator untuk berhitung&amp;rdquo;,
sekarang kita hanya perlu berkata, &amp;ldquo;Hey Siri, berapa 12×32?&amp;rdquo;, dan selesai.&lt;/p>
&lt;p>Sama halnya,
jika kita berkata, &amp;ldquo;AI, edit foto ini dan bagikan,&amp;rdquo; proses tersebut mungkin selesai tanpa melalui UI atau API aplikasi.&lt;/p>
&lt;p>Dengan kata lain,
ketika tujuan &lt;strong>&amp;ldquo;membuat aplikasi dengan AI&amp;rdquo;&lt;/strong> terwujud, mungkin akan datang dunia di mana aplikasi itu sendiri tidak lagi dibutuhkan.&lt;/p>
&lt;hr>
&lt;h2 id="pada-akhirnya-apa-yang-bisa-kita-lakukan-sekarang">Pada akhirnya, apa yang bisa kita lakukan sekarang
&lt;/h2>&lt;p>Lalu, apa yang harus kita lakukan?&lt;/p>
&lt;ul>
&lt;li>Saat ini &amp;ldquo;di atas pos 8&amp;rdquo; masih menjadi ranah manusia, jadi mari kita asah kemampuan di sana&lt;/li>
&lt;li>Fokus pada pemahaman mendalam tentang pengguna dan desain layanan&lt;/li>
&lt;li>Memikirkan &amp;ldquo;apa yang bernilai&amp;rdquo; daripada &amp;ldquo;apa yang bisa dibuat&amp;rdquo;&lt;/li>
&lt;li>Sebaliknya, mencari cara untuk memberikan nilai yang &amp;ldquo;tidak terbatas pada format aplikasi&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>AI adalah alat, lift, dan kadang-kadang pesaing.
Namun, pertanyaan &lt;strong>&amp;ldquo;apa yang akan dibuat&amp;rdquo;&lt;/strong> dan &lt;strong>&amp;ldquo;mengapa membuatnya&amp;rdquo;&lt;/strong> masih merupakan pertanyaan untuk kita, manusia.&lt;/p>
&lt;hr>
&lt;h2 id="kesimpulan">Kesimpulan:
&lt;/h2>&lt;p>&lt;strong>Tembok pengembangan AI bukanlah teknologi, melainkan paradoks struktural&lt;/strong>&lt;/p>
&lt;p>Kita berada di era di mana siapa pun bisa mencapai pos 8 Gunung Fuji.
Tapi dari situlah ujian sebenarnya dimulai.&lt;/p>
&lt;p>Dan mungkin, saat kita mencapai puncak, akan ada masa depan yang menunggu di mana kita bertanya,
&amp;ldquo;Apakah kita benar-benar perlu mendaki gunung ini?&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>Langkah-langkah Memanggil TinyLLaMA dari C++ (menggunakan llama.cpp)</title><link>http://kenji.blog/id/p/langkah-langkah-memanggil-tinyllama-dari-cpp-menggunakan-llama-cpp/</link><pubDate>Sat, 19 Jul 2025 09:40:53 +0900</pubDate><guid>http://kenji.blog/id/p/langkah-langkah-memanggil-tinyllama-dari-cpp-menggunakan-llama-cpp/</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 Langkah-langkah Memanggil TinyLLaMA dari C++ (menggunakan llama.cpp)" />&lt;h1 id="-langkah-persiapan-tinyllama--c-menggunakan-llamacpp">✅ Langkah Persiapan TinyLLaMA × C++ (menggunakan &lt;code>llama.cpp&lt;/code>)
&lt;/h1>&lt;hr>
&lt;h2 id="-langkah-1-siapkan-llamacpp">🔧 Langkah 1: Siapkan llama.cpp
&lt;/h2>&lt;h3 id="1-1-lingkungan-yang-dibutuhkan-minimum">1-1. Lingkungan yang Dibutuhkan (Minimum)
&lt;/h3>&lt;ul>
&lt;li>OS: Windows / Linux / macOS&lt;/li>
&lt;li>Lingkungan Pengembangan: g++ / clang / MSVC&lt;/li>
&lt;li>Git / CMake&lt;/li>
&lt;/ul>
&lt;h3 id="1-2-dapatkan-dan-build-llamacpp">1-2. Dapatkan dan build 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>Jika menggunakan Windows, menggunakan &lt;code>Visual Studio Developer Command Prompt&lt;/code> dengan &lt;code>cmake --build . --config Release&lt;/code> akan lebih mudah.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-langkah-2-unduh-dan-konversi-model-tinyllama">📦 Langkah 2: Unduh dan konversi model TinyLLaMA
&lt;/h2>&lt;h3 id="2-1-dapatkan-model-asli-dari-huggingface">2-1. Dapatkan model asli dari HuggingFace
&lt;/h3>&lt;p>Contoh: &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"># Unduh menggunakan transformers jika perlu&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>Ini adalah langkah konversi ke format Hugging Face.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h3 id="2-2-konversi-ke-format-gguf-untuk-llamacpp">2-2. Konversi ke format GGUF (untuk &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-kuantisasi-model-mengurangi-ukuran">2-3. Kuantisasi model (mengurangi ukuran)
&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> adalah kuantisasi 4bit. Ukuran model akan berkurang menjadi sekitar ** 350MB **.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-langkah-3-panggil-model-dari-c-contoh-kode">🧪 Langkah 3: Panggil model dari C++ (Contoh Kode)
&lt;/h2>&lt;h3 id="3-1-kode-c-sederhana-inferensi">3-1. Kode C++ Sederhana (Inferensi)
&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;Pengguna mengatakan mereka ingin memuat data Excel, memfilternya, dan menyimpannya. Apa konfigurasi nodenya?&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">// Tokenisasi
&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">// Dapatkan hasil inferensi
&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="-langkah-4-metode-kompilasi-contoh">🧱 Langkah 4: Metode Kompilasi (Contoh)
&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> dibuat di direktori &lt;code>build/&lt;/code> setelah proses build selesai.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h2 id="-contoh-struktur-hasil-terorganisir">✅ Contoh Struktur Hasil (Terorganisir)
&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 # Model terkuantisasi (~350MB)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── main.cpp # Kode C++ di atas
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">├── llama.cpp/ # Inti 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 # Pustaka terkompilasi
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;hr>
&lt;h2 id="-catatan-untuk-penerapan-pada-use-case">🧠 Catatan untuk penerapan pada use case
&lt;/h2>&lt;ul>
&lt;li>Miliki kode di C++ untuk &lt;code>mencocokkan dan memilih templat node&lt;/code> berdasarkan output&lt;/li>
&lt;li>Contoh: Jika mengandung &amp;ldquo;Excel&amp;rdquo;, &amp;ldquo;filter&amp;rdquo;, &amp;ldquo;simpan&amp;rdquo; -&amp;gt; Buat grup node yang sesuai&lt;/li>
&lt;li>Bagian ini cukup dengan konfigurasi sederhana seperti &lt;code>pernyataan if + pemuatan templat JSON&lt;/code>&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="-ringkasan">📌 Ringkasan
&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Item&lt;/th>
&lt;th>Konten&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Model Rekomendasi&lt;/td>
&lt;td>TinyLLaMA-1.1B-Chat v1.0 (GGUF + Kuantisasi)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ukuran&lt;/td>
&lt;td>~350-450MB (kuantisasi 4bit)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Integrasi C++&lt;/td>
&lt;td>Memungkinkan menggunakan &lt;code>llama.cpp&lt;/code>, hampir tanpa dependensi eksternal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Kekuatan Pemrosesan&lt;/td>
&lt;td>Cukup untuk pemahaman niat sederhana &amp;amp; pembuatan teks (Teks alami -&amp;gt; Konfigurasi)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Ekstensibilitas&lt;/td>
&lt;td>Dapat diubah menjadi AI pembuat node dengan menggabungkan pengisian slot dan pemanggilan templat&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Cara Menghasilkan Gambar Ilustrasi Menggunakan AI (StableDiffusion)</title><link>http://kenji.blog/id/p/cara-menghasilkan-gambar-ilustrasi-menggunakan-ai-stablediffusion/</link><pubDate>Thu, 06 Apr 2023 00:43:19 +0900</pubDate><guid>http://kenji.blog/id/p/cara-menghasilkan-gambar-ilustrasi-menggunakan-ai-stablediffusion/</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 Cara Menghasilkan Gambar Ilustrasi Menggunakan AI (StableDiffusion)" />&lt;h1 id="apa-itu-stable-diffusion">Apa itu Stable diffusion
&lt;/h1>&lt;p>Stable diffusion adalah AI yang menghasilkan gambar dari informasi teks yang dimasukkan, dikembangkan oleh tim peneliti di Universitas Munich di Jerman.
Dengan melatihnya pada berbagai gambar, ia dapat menghasilkan berbagai gambar mulai dari foto realistis hingga ilustrasi.&lt;/p>
&lt;p>Kali ini, saya akan memperkenalkan cara menghasilkan gambar ilustrasi menggunakan data pra-terlatih dari Stable diffusion.&lt;/p>
&lt;h1 id="yang-perlu-disiapkan">Yang perlu disiapkan
&lt;/h1>&lt;ul>
&lt;li>Akun Google&lt;/li>
&lt;/ul>
&lt;p>Hanya itu&lt;/p>
&lt;h1 id="langkah-langkah-pembuatan">Langkah-langkah pembuatan
&lt;/h1>&lt;ol>
&lt;li>Buka &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>Dari menu &lt;code>File&lt;/code> di kiri atas, pilih &lt;code>Buku catatan baru&lt;/code>&lt;/li>
&lt;li>Dari menu &lt;code>Edit&lt;/code>, pilih &lt;code>Setelan buku catatan&lt;/code>&lt;/li>
&lt;li>Ubah &lt;code>Akselerator hardware&lt;/code> menjadi &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>Tempelkan kode berikut dan jalankan&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>Tempelkan kode berikut dan jalankan&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>Tempelkan kode berikut dan jalankan&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>Tempelkan kode berikut dan jalankan&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>&lt;code>Prompt&lt;/code> yang digunakan di sini didasarkan pada &lt;code>Prompt&lt;/code> dari &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="hasil-pembuatan-beberapa">Hasil pembuatan (beberapa)
&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="referensi">Referensi
&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"
>Saya mencoba membuat program penghasil gambar menggunakan Kecerdasan Buatan (AI) dalam 15 menit 【Pemrograman Langsung】&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>