Lewati ke konten utama

Llama Stack: Panduan dengan Contoh Praktis

Llama Stack adalah sekumpulan alat dan API terstandardisasi yang dikembangkan oleh Meta untuk menyederhanakan proses membangun dan menerapkan aplikasi model bahasa besar.
Diperbarui 28 Sep 2026  · 8 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Meskipun aplikasi AI generatif telah mendapatkan traksi yang besar, tantangan dalam membangun aplikasi yang efisien dan konsisten serta menerapkannya masih perlu diselesaikan.

Llama Stack, proyek open-source dari Meta, mengatasi kompleksitas ini.

Llama Stack memperkenalkan kerangka kerja terstandardisasi dan API modular yang menawarkan pengalaman pengembangan yang lebih cepat dan mulus. Ini mendefinisikan dan menstandardisasi blok bangunan yang diperlukan untuk membawa aplikasi AI generatif ke pasar.

Dalam artikel ini, saya akan memandu Anda memulai dengan Llama Stack menggunakan instruksi langkah demi langkah. Jika Anda adalah pengembang yang bersiap menerapkan aplikasi AI ke produksi, pastikan untuk merujuk ke repositori Llama Stack, karena proyek ini terus berkembang.

Apa Itu Llama Stack?

Llama Stack adalah kerangka kerja yang dibangun untuk merampingkan pengembangan dan penerapan aplikasi AI generatif yang dibangun di atas model Llama milik Meta. Hal ini dicapai dengan menyediakan kumpulan API dan komponen terstandar untuk tugas seperti inferensi, keamanan, manajemen memori, dan kapabilitas agen.

Berikut tujuan dan manfaatnya:

  • Standardisasi: Kumpulan API ini menawarkan antarmuka dan lingkungan kerja yang konsisten bagi pengembang untuk digunakan, serta cepat menyesuaikan aplikasi mereka saat model baru tersedia.
  • Sinergi: Dengan mengabstraksikan fungsionalitas kompleks ke dalam API, ini memungkinkan kolaborasi antara berbagai alat dan komponen, demi modularitas dan fleksibilitas.
  • Pengembangan yang mulus: Llama Stack menawarkan alat untuk menyederhanakan siklus hidup pengembangan dengan mendefinisikan fungsi inti dan mempercepat penerapan.

Distribusi Llama Stack

Sumber: Meta AI

Komponen dan API Llama Stack

Llama Stack hadir dengan beberapa API, masing-masing menargetkan serangkaian tugas tertentu dalam membangun aplikasi AI generatif.

Inference API

Inference API menangani generasi teks atau pemanggilan variasi Llama multimodal. Fitur utamanya adalah:

  • Mendukung berbagai strategi decoding seperti top-k sampling.
  • Mengelola permintaan batch dan respons streaming, berguna untuk aplikasi berskala tinggi.

API ini mendefinisikan berbagai konfigurasi yang memungkinkan pengembang mengontrol perilaku model (misalnya, kuantisasi FP8 atau BF16) berdasarkan kebutuhan aplikasi mereka.

Safety API

Safety API dibuat untuk penerapan model AI yang bertanggung jawab melalui moderasi konten dan pemfilteran keluaran yang berbahaya atau berpotensi bias. API ini dapat dikonfigurasi untuk mendefinisikan tingkat pelanggaran (misalnya, INFO, WARN, ERROR) dan mengembalikan pesan yang dapat ditindaklanjuti kepada pengguna.

Memory API

Memory API memberikan kemampuan untuk mempertahankan dan merujuk interaksi sebelumnya serta menciptakan percakapan yang lebih koheren dan sadar konteks. Beragam konfigurasi memori memberi opsi bagi pengembang untuk memilih jenis penyimpanan berdasarkan kebutuhan aplikasi. Fitur utamanya adalah:

  • Memungkinkan penyimpanan memori yang fleksibel dengan menyediakan beberapa konfigurasi seperti vektor, key-value, keyword, dan graf, yang pada dasarnya adalah metode penyimpanan memori percakapan.
  • Memungkinkan penyisipan, kueri, pembaruan, dan penghapusan dokumen dalam bank memori. Hasil kueri dikembalikan sebagai potongan (chunk) dengan skor relevansi.

Agentic API

Agentic API memungkinkan LLM menggunakan alat dan fungsi eksternal, sehingga dapat melakukan tugas seperti penelusuran web, eksekusi kode, atau pengambilan memori. API ini memungkinkan pengembang mengonfigurasi agen dengan alat dan tujuan tertentu. Ini mendukung interaksi multi-giliran di mana setiap giliran terdiri dari beberapa langkah. Fitur utamanya adalah:

  • Dilengkapi alat terintegrasi seperti brave_search, wolfram_alpha, photogen, dan code_interpreter. Kita dapat menggunakan alat ini untuk menangani permintaan atau mengeksekusi kode dalam konteks model.
  • Bekerja dengan Memory API untuk mengambil informasi relevan guna meningkatkan konteks jangka panjang.
  • Model dapat mengeksekusi tugas melalui beberapa langkah seperti inferensi, eksekusi alat, pengambilan memori, dan pemeriksaan keamanan.

API Lainnya

Berikut API lain yang ditawarkan Llama Stack: 

Cara Menginstal dan Menyiapkan Llama Stack

Kita akan mengimplementasikan proyek contoh di Llama Stack untuk membiasakan diri dengan gagasan umum dan kapabilitas kerangka kerja ini.

Sebelum mulai, harap perhatikan bahwa:

  1. Llama Stack berkembang pesat dan kemungkinan akan ditemui bug saat mengimplementasikan klien Anda, jadi penting untuk merujuk dokumentasi repositori dan melaporkan masalah apa pun. Pada tanggal penulisan artikel ini, misalnya, saya tidak dapat menjalankan kontainer Llama Stack di Windows karena beberapa masalah spesifik OS, yang sedang ditangani oleh tim pengembang.
  2. Anda tidak dapat menggunakan Llama Stack di Google Colab, karena versi gratis platform tersebut tidak mendukung pembuatan kontainer docker.

Mari mulai dengan menyiapkan antarmuka baris perintah (CLI) Llama.

1. Llama CLI

Llama Stack menyediakan Command-Line Interface (CLI) untuk mengelola distribusi, menginstal model, dan mengonfigurasi lingkungan. Berikut langkah instalasi yang perlu kita lakukan:

a. Buat dan aktifkan lingkungan virtual:

conda create -n llama_stack python=3.10
conda activate llama_stack

b. Kloning repositori Llama Stack:

git clone <https://github.com/meta-llama/llama-stack.git>
cd llama-stack

c. Instal dependensi yang diperlukan:

pip install llama-stack
pip install -r requirements.txt

2. Menggunakan kontainer Docker

Kontainer Docker menyederhanakan penerapan server Llama Stack dan penyedia API agen. Image Docker siap pakai tersedia untuk penyiapan yang mudah:

docker pull llamastack/llamastack-local-gpu
llama stack build
llama stack configure llamastack-local-gpu

Perintah ini menarik image Docker, membangunnya, dan mengonfigurasi stack.

Cara Membangun Aplikasi dengan API Llama Stack

Mari kita bangun chatbot dasar menggunakan API Llama Stack. Berikut langkah-langkah yang perlu kita lakukan:

1. Jalankan server Llama Stack

Kita akan menjalankan server pada port 5000. Pastikan server berjalan sebelum bekerja dengan API:

llama stack run local-gpu --port 5000

2. Gunakan Inference API

Setelah menginstal Llama Stack, Anda dapat menggunakan kode klien untuk berinteraksi dengan API-nya. Gunakan Inference API untuk menghasilkan respons berdasarkan masukan pengguna:

from llama_stack_client import LlamaStackClient
client = LlamaStackClient(base_url="<http://localhost:5000>")
user_input = "Hello! How are you?"
response = client.inference.chat_completion(
    model="Llama3.1-8B-Instruct",
    messages=[{"role": "user", "content": user_input}],
    stream=False
)
print("Bot:", response.text)

Catatan: Ganti "Llama3.1-8B-Instruct" dengan nama model aktual yang tersedia di penyiapan Anda.

3. Integrasikan Safety API

Terapkan Safety API untuk memoderasi respons dan memastikan respons tersebut sesuai:

safety_response = client.safety.run_shield(
    messages=[{"role": "assistant", "content": response.text}],
    shield_type="llama_guard",
    params={}
)
if safety_response.violation:
    print("Unsafe content detected.")
else:
    print("Bot:", response.text)

4. Tambahkan memori dengan Memory API

Buat kesadaran konteks chatbot dengan menyimpan dan mengambil riwayat percakapan:

### building a memory bank that can be used to store and retrieve context.
bank = client.memory.create_memory_bank(
    name="chat_memory",
    config=VectorMemoryBankConfig(
        type="vector",
        embedding_model="all-MiniLM-L6-v2",
        chunk_size_in_tokens=512,
        overlap_size_in_tokens=64,
    )
)

5. Rangkai komponen bersama

Kita dapat mengombinasikan API lebih lanjut untuk membangun chatbot yang tangguh:

  • Inference API: Menghasilkan respons.
  • Safety API: Memfilter konten yang tidak pantas.
  • Memory API: Menjaga konteks percakapan.

Contoh lengkap

Berikut kode lengkap setelah mencakup semua langkah:

import uuid
client = LlamaStackClient(base_url="<http://localhost:5000>")
### create a memory bank at the start
bank = client.memory.create_memory_bank(
    name="chat_memory",
    config=VectorMemoryBankConfig(
        type="vector",
        embedding_model="all-MiniLM-L6-v2",
        chunk_size_in_tokens=512,
        overlap_size_in_tokens=64,
    )
)
def get_bot_response(user_input):
    ### retrieving conversation history
    query_response = client.memory.query_documents(
        bank_id=bank.bank_id,
        query=[user_input],
        params={"max_chunks": 10}
    )
    history = [chunk.content for chunk in query_response.chunks]
    ### preparing messages with history
    messages = [{"role": "user", "content": user_input}]
    if history:
        messages.insert(0, {"role": "system", "content": "\\n".join(history)})
       
    ### generate response
    response = client.inference.chat_completion(
        model="llama-2-7b-chat",
        messages=messages,
        stream=False
    )
    bot_response = response.text
    ### safety check
    safety_response = client.safety.run_shield(
        messages=[{"role": "assistant", "content": bot_response}],
        shield_type="llama_guard",
        params={}
    )
    if safety_response.violation:
        return "I'm sorry, but I can't assist with that request."
    ### memory storing
    documents = [
        MemoryBankDocument(
            document_id=str(uuid.uuid4()),
            content=user_input,
            mime_type="text/plain"
        ),
        MemoryBankDocument(
            document_id=str(uuid.uuid4()),
            content=bot_response,
            mime_type="text/plain"
        )
    ]
    client.memory.insert_documents(
        bank_id=bank.bank_id,
        documents=documents
    )
    return bot_response
### putting all together
while True:
    user_input = input("You: ")
    if user_input.lower() == "bye":
        break
    bot_response = get_bot_response(user_input)
    print("Bot:", bot_response)

Contoh dan Kontribusi Llama Stack

Untuk melihat beberapa contoh dan memulai implementasi aplikasi menggunakan Llama Stack, Meta telah menyediakan repositori llama-stack-apps tempat Anda dapat melihat beberapa aplikasi contoh. Pastikan untuk meninjau dan membiasakan diri dengan kerangka kerjanya.

Sebagai proyek open-source, Llama Stack bergantung pada kontribusi komunitas. API berkembang pesat, dan proyek ini terbuka terhadap umpan balik serta partisipasi dari para pengembang, membantu membentuk masa depan platform. Jika Anda menguji Llama Stack, akan membantu pengembang lain jika Anda juga membagikan proyek Anda sebagai contoh, atau berkontribusi pada dokumentasi.

Kesimpulan

Sepanjang artikel ini, kita menelusuri cara memulai dengan Llama Stack melalui instruksi langkah demi langkah.

Saat Anda melangkah maju dalam menerapkan aplikasi AI, ingat untuk terus memantau repositori Llama Stack untuk pembaruan dan peningkatan terbaru.

Untuk mempelajari lebih lanjut tentang ekosistem Llama, lihat sumber daya berikut:


Hesam Sheikh Hassani's photo
Author
Hesam Sheikh Hassani
LinkedIn
Twitter

Mahasiswa magister Kecerdasan Buatan dan penulis teknis AI. Saya berbagi wawasan tentang teknologi AI terbaru, membuat riset ML lebih mudah diakses, dan menyederhanakan topik AI yang kompleks agar Anda tetap terdepan.

Topik
Kecerdasan Buatan
Large Language Models

Pelajari AI dengan kursus-kursus ini!

{count, plural, one {Kursus} other {Kursus}}

Bekerja dengan Llama 3

{hours} jam
15.6K
Jelajahi teknik terbaru untuk menjalankan Llama LLM secara lokal dan mengintegrasikannya ke dalam stack Anda.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya