Software AI Lokal Terbaik · Bab 3.3

Docker & LocalAI: Solusi Kelas Enterprise

9 menit baca Server Environment Menengah

Saat kamu merintis sistem internal *Enterprise/Korporat*, sekadar aplikasi desktop cantik atau script iseng di latar belakang tidaklah cukup. Tim operasional perangkat lunak (*DevOps*) menuntut segala sesuatu direplikasi dengan sangat konsisten (isolasi versi), tidak konflik dengan port perangkat lunak lain, dan selalu kebal akan rontoknya sistem *(Fault Tolerant)*. Jawabannya selalu bermuara pada satu teknologi krusial: Konsep Containerisasi (Docker).

Banyak perusahaan rintisan terhenti langkahnya karena para programmmer mereka menolak beralih dari ekosistem awan (Cloud). Perintah umum keluh kesah mereka berbunyi: *"Aplikasi kita yang sudah jalan ribuan baris kodenya ini, secara absolut di-coding untuk memanggil API milik OpenAI. Saya tidak mau bongkar kodingan dari nol buang-buang waktu!"*

Lalu datanglah LocalAI. Ia merupakan sebuah jembatan pahlawan (*Drop-in Replacement*) pelengkap Docker yang menjamin tim divisimu tutup mulut, dan AI berjalan independen selamanya dengan satu tipuan jitu.

Sihir Penyamaran LocalAI (Drop-in Endpoint)

*LocalAI* pada hakikatnya bertindak sebagai impostor/penipu positif dalam sistem komputermu. Ketika ia dijalankan, secara otomatis sistem *endpoint REST API*-nya disusun persis meniru tata bahasa, urutan JSON, serta _header formatting_ rahasia yang persis sama digunakan platform komersial milik OpenAI.

Bagaimana Cara Kerjanya?
Misal _Backend developer_ perusahaaanmu menggunakan library _Node.js_ `openai`. Biasanya mereka akan melempar kode baris perintah menuju portal resmi internet milik penyedia cloud tersebut. Bersama paket *LocalAI*, sang pemrogram hanya perlu mengubah satu baris variabel `baseURL` (Url Dasar)! Ia tinggal mengubah rute awan `https://api.openai.com/v1/` menjadi alamat kabel *Localhost*-mu (misal `http://localhost:8080/v1`).

"LocalAI bukan sekadar jembatan penerjemah. Ini adalah deklarasi bahwa kamu tidak akan pernah terkunci (*vendor locked-in*) oleh dominasi arsitektur penyedia komersial manapun. Programmu, rumahmu, kodemu." - Server Architecure Lead

Ajaibnya, selurus pustaka kode yang dulu susah payah dirakit rekan kantormu, akan langsung percaya bulat-bulat bahwa server lokalku di bawah meja ini adalah layanan cloud ratusan juta, dan akan mengurai percakapannya seakan tak ada hal asing yang terjadi. Dan ya! Tagihan token nol Rupiah pun dimulai esok harinya.

Mengemas Semua Lewat Kekuatan Docker Compose

Mungkin pertanyaannya bergeser: *"Bukankah menginstall mesin cerdas, driver kartu grafis, LocalAI, server database, semua itu rumit kalau server PC-nya gantung dan harus *install* ulang Windows?"*

Docker Compose membinasakan problem abadi itu. Sebagaimana resep kue yang tinggal dimasak oleh *Microwave* pintar, ia merangkum susunan pondasi server AI dalam dokumen teks `docker-compose.yml`. Cukup tulis perintah bahwa kamu mau menarik "image LocalAI v2.0", mengokupasi port `8080`, me-_mounting_ folder tempat file AI ditaruh, dan menginstruksikan pendeteksian komponen GPU NVIDIA. Kamu bisa mentransfer ratusan komputer perusahaan dengan cara cuma sekedar mengirim file yaml ini!


# Sejumput keajaiban yaml untuk DevOps
version: "3.9"
services:
  api:
    image: localai/localai:latest-aio-gpu-nvidia-cuda-12
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/readyz"]
      interval: 1m
      timeout: 20m
    ports:
      - 8080:8080
    environment:
      - MODELS_PATH=/models
      - THREADS=12
      - DEBUG=true
    volumes:
      - ./models:/models:cached
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
        

Begitu kamu merilis komando magis `docker-compose up -d`, seluruh rantai kompleks tumpukan pustaka (Library) yang berlendir rumit itu dirajut otomatis di dalam kurungan isolasi *(Container).* Jika model macet? Tinggal buang _container_ sampahnya dan nyalakan yang baru dalam tempo dua klik, tanpa mengotori ruang registri (Registry) hardisk di Operating System pusatmu! Keindahan mutlak bagi kestabilan.

Ringkasan Bab

  • Instalasi polos (*Baremetal*) riskan terhadap hantaman tabrakan versi *library*. Menggunakan sistem petikemas isolasi (seperti **Docker**) adalah prosedur operasi paten *Data center* skala *Enterprise*.
  • **LocalAI** merepresentasikan revolusi _API Endpoints_. Ia "berbohong" secara legal menjadi REST API *OpenAI-Compatible*, mengecoh *source code* perusahaan lamamu untuk berpikir bahwa mereka tengah terhibung di portal cloud.
  • Menggunakan file sakti konfigurasi `docker-compose.yml`, membangun atau merombak ulang sekumpulan ekosistem raksasa buatan kecerdasan ini hanya butuh seminggu klik dan bisa dipindah-gandakan di 100 laptop kantor bersamaan.

Kuis Sub-bab

6 huruf, ikon paus biru

› Teknologi containerisasi yang lazim dipakai untuk skala perusahaan?