Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Membuat Aplikasi AI dengan Mudah Menggunakan AI Lab Recipes: Panduan Lengkap

Posted on May 28, 2024

Bayangkan ada sebuah repositori GitHub yang membuat proses membangun, menjalankan, dan mengembangkan aplikasi bertenaga AI dari laptop Anda semudah membuat roti panggang. Tanpa perlu platform AI berbasis cloud, tanpa memerlukan akselerator perangkat keras khusus, dan dengan model open source terbaru. Jika Anda tertarik dengan ide ini, mari kita jelajahi AI Lab Recipes.

Apa Itu AI Lab Recipes?

Repositori ai-lab-recipes adalah hasil kolaborasi antara ilmuwan data dan pengembang aplikasi yang menggabungkan praktik terbaik dari kedua dunia ini. Hasilnya adalah serangkaian aplikasi dan alat bertenaga AI yang dikemas dalam container, menyenangkan untuk dibangun, mudah dijalankan, dan nyaman untuk dimodifikasi sesuai keinginan Anda.

AI Lab Recipes dimulai sebagai rumah bagi aplikasi contoh, atau resep, dari ekstensi Podman Desktop AI Lab. Ada sebuah artikel yang menggambarkan ekstensi AI Lab dengan sangat baik. Dalam artikel ini, kita akan mengeksplorasi AI Lab Recipes lebih lanjut. Kita akan menggunakan aplikasi pembuatan kode sebagai contoh sepanjang artikel ini. Untuk mengikuti langkah-langkahnya, klon repositori ai-lab-recipes secara lokal. Jika Anda belum menginstal Podman, kunjungi podman.io.

Resep-Resep AI Lab

Ada beberapa resep yang membantu pengembang dengan cepat membuat prototipe aplikasi baru berbasis AI dan model bahasa besar (LLM). Setiap resep mencakup bahan utama yang sama: model, server model, dan antarmuka AI. Semua ini dikombinasikan dengan berbagai cara, dikemas sebagai gambar container, dan dapat dijalankan sebagai pod dengan Podman. Resep-resep ini dikelompokkan ke dalam kategori yang berbeda berdasarkan fungsi AI. Kelompok resep saat ini meliputi audio, visi komputer, multimodal, dan pemrosesan bahasa alami.

Mari kita lihat lebih dekat aplikasi pembuatan kode dalam kategori pemrosesan bahasa alami. Perhatikan bahwa setiap aplikasi contoh mengikuti pola yang sama. Pohon di bawah ini menunjukkan struktur file yang memberikan nama dan rasa pada setiap resep.

plaintextCopy code$ tree recipes/natural_language_processing/codegen/
recipes/natural_language_processing/codegen/
├── Makefile
├── README.md
├── ai-lab.yaml
├── app
│   ├── Containerfile
│   ├── codegen-app.py
│   └── requirements.txt
├── bootc
│   ├── Containerfile
│   ├── Containerfile.nocache
│   └── README.md
├── build -> bootc/build
└── quadlet
    ├── README.md
    ├── codegen.image -> ../../../common/quadlet/app.image
    ├── codegen.kube
    └── codegen.yaml

Makefile menyediakan target untuk mengotomatisasi pembangunan dan menjalankan aplikasi. Lihat dokumen Makefile untuk penjelasan lengkap. Misalnya, make build menggunakan podman build untuk membangun gambar antarmuka AI dari Containerfile codegen. Tag gambar kustom dapat diberikan dengan:

bashCopy code$ cd recipes/natural_language_processing/codegen
$ make APP_IMAGE=quay.io/your-repo/codegen:tag build

Setiap resep mencakup file definisi, ai-lab.yaml, yang digunakan oleh ekstensi Podman Desktop AI Lab untuk membangun dan menjalankan aplikasi. Folder app berisi kode dan file yang diperlukan untuk membangun antarmuka AI. Folder bootc/ berisi file-file yang diperlukan untuk menyematkan aplikasi codegen sebagai layanan dalam gambar container yang dapat di-boot. Subjek gambar container yang dapat di-boot dan folder bootc pantas mendapatkan artikel tersendiri. Pelajari lebih lanjut dari Dan Walsh: Image Mode for Red Hat Enterprise Linux Quick Start: AI Inference.

Terakhir, folder quadlet/ dalam setiap resep menyediakan template untuk menghasilkan layanan systemd untuk mengelola pod Podman yang menjalankan aplikasi AI. Layanan ini berguna ketika dipasangkan dengan gambar container yang dapat di-boot. Namun, seperti yang akan Anda lihat di bawah ini, YAML pod yang dihasilkan dapat digunakan untuk menjalankan aplikasi sebagai pod secara lokal. Sekarang setelah format dasar resep dijelaskan, saatnya mengumpulkan bahan utama: model, server model, dan antarmuka AI.

Model AI

Bahan pertama yang dibutuhkan untuk setiap aplikasi bertenaga AI adalah model AI. Model yang direkomendasikan dalam ai-lab-recipes di-host di HuggingFace dan dikemas dengan Lisensi Apache 2.0 atau MIT. Folder models/ menyediakan otomatisasi untuk mengunduh model serta Containerfile untuk membangun gambar yang berisi kebutuhan minimum untuk menyajikan model.

Untuk contoh pembuatan kode, kami merekomendasikan mistral-7b-code-16k-qlora. Semua model yang direkomendasikan dalam ai-lab-recipes adalah file GGUF yang telah dikuantisasi, dengan kuantisasi Q4_K_M, dan berukuran antara 3-5 GB (mistral-7b-code berukuran 4.37GB) dan membutuhkan RAM 6-8 GB. Semua ini menunjukkan bahwa para ilmuwan data telah memilih model yang sesuai untuk setiap kasus penggunaan, dan model tersebut juga harus berjalan dengan baik di laptop Anda. Namun, ai-lab-recipes disiapkan sedemikian rupa sehingga mengganti model sangat mudah, dan mendorong pengembang untuk bereksperimen dengan model yang berbeda untuk menemukan mana yang paling cocok untuk mereka.

Server Model

Model tidak terlalu berguna dalam sebuah aplikasi kecuali jika disajikan. Server model adalah program yang menyajikan model pembelajaran mesin, seperti LLM, dan membuat fungsinya tersedia melalui API. Ini memudahkan pengembang untuk memasukkan AI ke dalam aplikasi mereka. Folder model_servers dalam ai-lab-recipes menyediakan deskripsi dan kode untuk membangun beberapa server model ini.

Banyak dari ai-lab-recipes menggunakan server model llamacpp_python. Server ini dapat digunakan untuk berbagai aplikasi AI generatif dan dengan banyak model yang berbeda. Namun, pengguna harus tahu bahwa setiap aplikasi contoh dapat dipasangkan dengan berbagai server model. Selain itu, server model dapat dibangun sesuai dengan akselerator perangkat keras dan toolkit GPU yang berbeda, seperti Cuda, ROCm, Vulkan, dll. Gambar server model llamacpp_python didasarkan pada proyek llama-cpp-python yang menyediakan binding Python untuk llama.cpp. Ini menyediakan server model berbasis Python dan kompatibel dengan API OpenAI yang dapat menjalankan LLM dari berbagai ukuran secara lokal di Linux, Windows, atau Mac.

Server model llamacpp_python memerlukan model untuk dikonversi dari format aslinya, biasanya berupa set file *.bin atau *.safetensor menjadi satu file berformat GGUF. Banyak model sudah tersedia dalam format GGUF di HuggingFace. Namun, jika Anda tidak dapat menemukan versi GGUF yang ada dari model yang ingin Anda gunakan, Anda dapat menggunakan utilitas konverter model yang tersedia dalam repositori ini untuk mengonversi model sendiri.

Antarmuka AI

Bahan terakhir—hiasan pada kue, begitu kata mereka—adalah antarmuka AI, UI yang menarik bersama dengan kode klien yang diperlukan untuk berinteraksi dengan model melalui endpoint API yang disediakan oleh server model. Anda akan menemukan Containerfile dan kode yang diperlukan dalam setiap resep di bawah folder app/, seperti di sini untuk contoh pembuatan kode. Sebagian besar resep menggunakan Streamlit untuk UI mereka. Streamlit adalah kerangka kerja open source yang sangat mudah digunakan dan sangat menyenangkan untuk berinteraksi. Kami yakin Anda akan setuju. Namun, seperti halnya semua yang lain, mudah untuk mengganti container berbasis Streamlit dalam resep apa pun dengan alat front-end pilihan Anda. Kami menggunakan kue kotak di sini, tetapi tidak ada yang menghentikan Anda dari membuat sesuatu dari awal!

Quadlets

Sekarang setelah kita memiliki bahan-bahan kita, mari kita masak aplikasi AI pertama kita. Selain ekstensi Podman Desktop AI Lab, cara tercepat untuk memulai aplikasi dari ai-lab-recipes adalah dengan menghasilkan definisi pod YAML. Untuk ini, pergilah ke folder quadlet mana saja dalam ai-lab-recipes. Apa itu quadlet? Dari postingan ini kita tahu “Quadlet adalah alat untuk menjalankan container Podman di bawah systemd dengan cara yang optimal dengan memungkinkan container berjalan secara deklaratif.” Dalam contoh ini, kita tidak akan benar-benar menjalankan aplikasi kita di bawah systemd, tetapi kita akan menggunakan target quadlet yang disertakan setiap aplikasi contoh untuk menghasilkan definisi pod. Kemudian kita akan menggunakan podman kube play untuk meluncurkan pod. Jika Anda belum pernah mencoba podman kube play sebelumnya, Anda akan merasakan kenyamanan menjalankan beberapa container bersama-sama sebagai pod.

Apakah Anda siap? Yang diperlukan untuk meluncurkan asisten pembuatan kode bertenaga AI lokal adalah sebagai berikut:

bashCopy code$ cd recipes/natural_language_processing/codegen
$ make quadlet
$ podman kube play build/codegen.yaml

Proses ini akan memakan waktu beberapa menit untuk mengunduh gambar. Sambil menunggu, mari kita jelaskan apa yang baru saja terjadi. Perintah make quadlet menghasilkan file-file berikut:

bashCopy code$ ls -al build
lrwxr-xr-x  1 somalley  staff    11B Apr 22 17:21 build -> bootc/build
$ ls -al bootc/build/
total 24
drwxr-xr-x  5 somalley  staff   160B Apr 22 17:21 .
drwxr-xr-x  6 somalley  staff   192B Apr 22 17:21 ..
-rw-r--r--  1 somalley  staff   209B Apr 22 17:21 codegen.image
-rw-r--r--  1 somalley  staff   330B Apr 22 17:21 codegen.kube
-rw-r--r--  1 somalley  staff   970B Apr 22 17:21 codegen.yaml

Dengan fitur quadlet Podman, file apa pun yang ditempatkan di /usr/share/containers/systemd/system akan membuat layanan systemd. Dengan file-file di atas, layanan bernama codegen akan dibuat. Ini di luar cakupan artikel ini, tetapi untuk lebih banyak info tentang itu, lihat Image mode for Red Hat Enterprise Linux quick start: AI inference.

Untuk saat ini, codegen.yaml adalah satu-satunya file yang diperlukan. Ini adalah definisi pod yang menentukan container model, container server model, dan container antarmuka AI. File model dibagikan dengan server model menggunakan volume mount. Mari kita lihat!

plaintextCopy code$ cat bootc/build/codegen.yaml 
apiVersion: v1
kind: Pod
metadata:
  labels:
    app: codegen
  name: codegen
spec:
  initContainers:
  - name: model-file
    image: quay.io/ai-lab/mistral-7b-code-16k-qlora:latest
    command: ['/usr/bin/install', "/model/model.file", "/shared/"]
    volumeMounts:
    - name: model-file
      mountPath: /shared
  containers:
  - env:
    - name: MODEL_ENDPOINT
      value: http://0.0.0.0:8001
    image: quay.io/ai-lab/codegen:latest
    name: codegen-inference
    ports:
    - containerPort: 8501
      hostPort: 8501
    securityContext:
      runAsNonRoot: true
  - env:
    - name: HOST
      value: 0.0.0.0
    - name: PORT
      value: 8001
    - name: MODEL_PATH
      value: /model/model.file
    image: quay.io/ai-lab/llamacpp_python:latest
    name: codegen-model-service
    ports:
    - containerPort: 8001
      hostPort: 8001
    securityContext:
      runAsNonRoot: true
    volumeMounts:
    - name: model-file
      mountPath: /model
  volumes:
  - name: model-file
    emptyDir: {}

Referensi ke gambar di quay.io/ai-lab dalam definisi pod di atas adalah publik, jadi Anda dapat menjalankan aplikasi ini seperti adanya. Gambar untuk semua model, server model, dan antarmuka AI dibangun untuk arsitektur x86_64 (amd64) dan arm64.

Untuk mengelola pod codegen, gunakan perintah berikut:

bashCopy codepodman pod list
podman pod start codegen
podman pod stop codegen
podman pod rm codegen

Untuk memeriksa container yang membentuk pod codegen:

bashCopy codepodman ps
podman logs <container-id>

Untuk berinteraksi dengan aplikasi codegen (akhirnya!), kunjungi http://localhost:8501. Anda harus melihat sesuatu seperti Gambar 1, di mana Anda dapat meminta asisten kode baru Anda untuk membantu sepanjang hari, mungkin bahkan untuk membuat aplikasi baru bertenaga AI. Jika Anda melakukannya, pastikan untuk menyumbangkannya kembali ke ai-lab-recipes. Kecuali, tentu saja, Anda lebih suka menjaga ramuan Anda sebagai saus rahasia.

Terbaru

  • Kenapa Amerika Melarang Produk Robot Vacuum Cleaner & Produk Robot Lain?
  • Rayap sebagai Tanda Ada Masalah Kelembapan di Bangunan
  • Beli HP Bekas Flagship Oppo? Ini 3 Rekomendasi Terbaik yang Masih Gahar di 2026
  • Cuma 1 Jutaan! Ini 4 Rekomendasi HP POCO yang Performa Tetap Gila di 2026
  • Inilah Rekomendasi Laptop 5-6 Jutaan Paling Worth It di Pertengahan 2026, Spek Mewah Harga Ramah!
  • Inilah Deretan Smartphone Snapdragon 8s Gen 4 yang Bikin Kompetisi HP Menengah Atas Makin Panas!
  • Mengenal Otak di Balik AI: Apa Itu LLM dan Manfaatnya dalam Keseharian Kita Menurut Sebastian Raschka
  • Inilah Rahasia Spasi FF Salin Biar Nickname Kalian Makin Keren dan Unik Tanpa Aplikasi Tambahan
  • Rekomendasi HP Kamera Bagus 2-6 Jutaan Bulan Juli 2026
  • Cuma 2 Jutaan! Ini 6 Rekomendasi HP Paling Worth It Buat Multitasking dan Gaming Ringan
  • Rumor Galaxy Z Flip8 Jadi Seri Terakhir: Mengapa Samsung Mungkin Berhenti Bikin HP Lipat Clamshell?
  • Inilah Cara Registrasi Kartu SIM Pakai Verifikasi Biometrik Mulai 1 Juli 2026, Gak Bisa Lagi Pake Nomor Bodong!
  • Jangan Asal Lap! Inilah Cara Membersihkan Layar TV LED yang Benar Agar Tidak Rusak
  • Realme Narzo 100x 5G Segera Rilis: Baterai 8.000mAh, Layar 144Hz, dan Sertifikasi Militer
  • Waspada Penipuan Akun Mobile Legends: Kenali Pentingnya Marketplace Resmi dan Status PSE
  • Review DJI Osmo Pocket 4P: Kamera Saku Lensa Ganda yang Bikin Kamera Pro Kelihatan Ribet!
  • Samsung Bisa “AirDrop” ke iPhone? Cek Cara Pakai Fitur Quick Share Terbaru Ini!
  • Vivo X Fold 6 Bakal Masuk Indonesia? Speknya Gila, Baterai 7.000 mAh & Kamera 200 MP!
  • Bocoran iPhone Air 2: Akhirnya Apple Nggak Cuma Jual Tipis, Tapi Juga Baterai Awet dan Kamera Oke!
  • Google Search Console rilis fitur Social Media Property, bisa pantau TikTok & Instagram
  • Hati-hati! 22 Platform Digital Terancam Diblokir Pemerintah, Cek Daftar Hotel dan Maskapainya di Sini
  • Baterai 7.000mAh & Standar Militer, Inilah Moto G77 Power
  • Inilah Cara Shopee dan Meta Bikin Kalian Makin Gampang Dapat Cuan Afiliasi Instagram Tanpa Ribet
  • Gila Sih! Vivo Rilis HP Baterai 8.000 mAh di 2026, Nggak Perlu Ribet Bawa Powerbank Lagi?
  • Infinix Hot 70 vs Tecno Spark 50: Pilih Baterai Jumbo 7000 mAh atau Fast Charging 45W di Harga 2 Jutaan?
  • Gak Perlu HP Mahal buat Pake AI: Intip Fitur Canggih di Samsung Galaxy A37 dan A57 yang Bikin Hidup Lebih Gampang
  • Bocoran Galaxy Unpacked Juli 2026: Z Fold 8 & Z Flip 8 Bakal Fokus ke On-Device AI, Makin Canggih atau Cuma Gimmick?
  • Duel Tablet 2 Jutaan: ADVAN Tab Sketsa 3 vs itel VistaTab 30GT, Mana yang Lebih Worth It buat Kerja?
  • Review Asus ExpertBook PM5 G2: Laptop Bisnis Rasa AI, Ringan tapi Gak Kaleng-kaleng
  • Review Redmi Pad 2 9.7 4G: Tablet Murah yang Bisa Pakai Kartu SIM, Worth It Nggak?
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • How to Hardening Journald on Linux Server (Fedora/AlmaLinux)
  • Block Bad USB on Linux Server with USBGuard
  • How to Secure NetworkManager on Fedora/AlmaLinux
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
  • Lagi Rame Pesan Error Backend Returned Non-JSON Response di Web LPDP, Ini Cara Ngatasinnya Biar Gak Gagal Daftar
  • Info Link Download Logo dan Desain Spanduk HUT RI ke-81 Tahun 2026, Biar Gak Salah Pakai Aset Resmi
  • Lagi rame Privacy Extension WhatsApp Web error, kok malah gak bisa buram? Ini cara benerinnya biar chat gak diintip orang
  • Hati-hati pemain Free Fire, lagi rame link FF Mod Kipas Beta Testing V3 yang katanya bisa damage, aslinya aman mboten?
  • Sering muncul di ujian atau pelatihan digital, ini bedanya jenis-jenis AI biar nggak salah jawab

©2026 emka.web.id | Design: Newspaperly WordPress Theme