Ana içeriğe atla

Llama Stack: Pratik Örneklerle Bir Rehber

Llama Stack, Meta tarafından geliştirilen ve büyük dil modeli uygulamalarını oluşturma ve dağıtma sürecini basitleştiren standartlaştırılmış araçlar ve API’lerden oluşan bir settir.
Güncel 3 Eki 2026  · 8 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Her ne kadar üretken yapay zekâ uygulamaları büyük ilgi görmüş olsa da, verimli ve tutarlı uygulamalar geliştirme ve bunları dağıtma zorluğu hâlâ çözülmesi gereken bir konudur.

Llama Stack, Meta tarafından geliştirilen açık kaynaklı bir proje olarak bu karmaşıklığı ele alır.

Llama Stack, standartlaştırılmış bir çerçeve ve modüler API’ler sunarak daha hızlı ve sorunsuz bir geliştirme deneyimi sağlar. Üretken yapay zekâ uygulamalarını pazara sunmak için gereken yapı taşlarını tanımlar ve standartlaştırır.

Bu yazıda, adım adım yönergelerle Llama Stack’e nasıl başlayacağınızı göstereceğim. Üretime AI uygulaması dağıtmaya hazırlanan bir geliştiriciyseniz, sürekli geliştiği için Llama Stack deposuna mutlaka başvurun.

Yapay Zeka Uygulamaları Geliştirin

OpenAI API'sını kullanarak AI uygulamaları oluşturmayı öğrenin.
Ücretsiz Olarak Beceri Geliştirmeye Başlayın

Llama Stack Nedir?

Llama Stack, Meta’nın Llama modelleri üzerine inşa edilen üretken yapay zekâ uygulamalarının geliştirilmesini ve dağıtımını kolaylaştırmak için oluşturulmuş bir çerçevedir. Bunu, çıkarım, güvenlik, bellek yönetimi ve ajan yetenekleri gibi görevler için standartlaştırılmış API’ler ve bileşenler sunarak başarır.

İşte hedefleri ve faydaları:

  • Standartlaştırma: API seti, geliştiricilerin kullanabileceği tutarlı bir arayüz ve çalışma ortamı sunar ve yeni modeller kullanıma sunulduğunda uygulamalarını hızla uyarlamalarına olanak tanır.
  • Sinerji: Karmaşık işlevleri API’lere soyutlayarak çeşitli araçlar ve bileşenler arasında işbirliğini, modülerlik ve esneklik lehine, mümkün kılar.
  • Sorunsuz geliştirme: Llama Stack, temel işlevleri önceden tanımlayarak ve dağıtımı hızlandırarak yalın bir geliştirme yaşam döngüsü için araçlar sunar.

Llama Stack Dağıtımı

Kaynak: Meta AI

Llama Stack Bileşenleri ve API’leri

Llama Stack, üretken yapay zekâ uygulaması geliştirirken belirli görev kümelerini hedefleyen çeşitli API’lerle birlikte gelir.

Çıkarım API’si

Çıkarım API’si, metin üretimi ya da çok modlu Llama varyantlarını yönlendirir. Temel özellikleri şunlardır:

  • Top-k örnekleme gibi çeşitli kod çözme stratejilerini destekler.
  • Yüksek ölçekli uygulamalar için yararlı olan toplu istekleri yönetir ve yanıtları akış olarak iletir.

API, geliştiricilerin uygulama gereksinimlerine göre model davranışını kontrol etmesini sağlayan çeşitli yapılandırmalar tanımlar (ör. FP8 veya BF16 kuantizasyonu gibi).

Güvenlik API’si

Güvenlik API’si, içerikleri denetleyerek ve zararlı ya da potansiyel önyargılı çıktıları filtreleyerek yapay zekâ modellerinin sorumlu biçimde dağıtımı için geliştirilmiştir. İhlal düzeylerini (ör. INFO, WARN, ERROR) tanımlayacak şekilde yapılandırılabilir ve kullanıcılara uygulanabilir iletiler döndürebilir.

Bellek API’si

Bellek API’si geçmiş etkileşimleri koruma ve onlara atıfta bulunma olanağı sunarak bağlamsal farkındalığı olan, daha tutarlı konuşmalar oluşturmayı sağlar. Çeşitli bellek yapılandırmaları, geliştiricilere uygulama ihtiyaçlarına göre depolama türlerini seçme imkânı verir. Temel özellikleri şunlardır:

  • Vektör, anahtar-değer, anahtar sözcük ve grafik gibi çoklu yapılandırmalar sağlayarak esnek bellek depolama imkânı tanır; bunlar esasen konuşma anılarını saklama yöntemleridir.
  • Bellek bankaları içinde belgelerin eklenmesine, sorgulanmasına, güncellenmesine ve silinmesine izin verir. Sorgu sonuçları, alaka düzeyi puanlarına sahip parçalar olarak döndürülür.

Ajan API’si

Ajan API’si, LLM’lerin harici araçlar ve işlevler kullanmasını sağlayarak web araması, kod yürütme veya bellek getirme gibi görevleri yerine getirmelerine olanak tanır. API, geliştiricilerin belirli araçlar ve hedeflerle ajanlar yapılandırmasına izin verir. Her turu birden çok adımdan oluşan çok turlu etkileşimleri destekler. Temel özellikleri şunlardır:

  • Şu entegre araçlarla birlikte gelir: brave_search, wolfram_alpha, photogen ve code_interpreter. Bu araçları, istekleri karşılamak veya model bağlamında kod yürütmek için kullanabiliriz.
  • Uzun vadeli bağlamı güçlendirmek için ilgili bilgileri getirmek üzere Bellek API’siyle birlikte çalışır.
  • Modeller, çıkarım, araç yürütme, bellek getirme ve güvenlik kontrolleri gibi birden çok adım üzerinden görevleri yerine getirebilir.

Diğer API’ler

Llama Stack’in sunduğu diğer API’ler şunlardır: 

Llama Stack Nasıl Kurulur ve Yapılandırılır

Bu çerçevenin genel fikrine ve yeteneklerine aşina olmak için Llama Stack üzerinde örnek bir proje uygulayacağız.

Başlamadan önce lütfen şunlara dikkat edin:

  1. Llama Stack hızla gelişmektedir ve istemcinizi uygularken hatalarla karşılaşmanız beklenir; bu yüzden depodaki belgeleri referans almak ve olası sorunları bildirmek önemlidir. Örneğin bu makalenin yazıldığı tarihte, bazı işletim sistemi kaynaklı sorunlar nedeniyle Windows üzerinde Llama Stack konteynerini çalıştıramadım; geliştirici ekip bu konuda çalışacaktır.
  2. Platformun ücretsiz sürümü docker konteyneri oluşturmayı desteklemediği için Google Colab üzerinde Llama Stack kullanamazsınız.

Llama komut satırı arayüzünü (CLI) kurarak başlayalım.

1. Llama CLI

Llama Stack, dağıtımları yönetmek, modelleri kurmak ve ortamları yapılandırmak için bir Komut Satırı Arayüzü (CLI) sağlar. Atmamız gereken kurulum adımları şunlardır:

a. Sanal bir ortam oluşturun ve etkinleştirin:

conda create -n llama_stack python=3.10
conda activate llama_stack

b. Llama Stack deposunu klonlayın:

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

c. Gerekli bağımlılıkları kurun:

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

2. Docker konteynerlerini kullanma

Docker konteynerleri, Llama Stack sunucusunun ve ajan API sağlayıcılarının dağıtımını basitleştirir. Kolay kurulum için önceden oluşturulmuş Docker imajları mevcuttur:

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

Bu komutlar Docker imajını çeker, derler ve yığını yapılandırır.

Llama Stack API’leriyle Nasıl Uygulama Geliştirilir

Llama Stack API’lerini kullanarak temel bir sohbet botu oluşturalım. İzlememiz gereken adımlar şunlardır:

1. Llama Stack sunucusunu başlatın

Sunucuyu 5000 numaralı portta çalıştıracağız. API’lerle çalışmadan önce sunucunun çalıştığından emin olun:

llama stack run local-gpu --port 5000

2. Çıkarım API’sini kullanın

Llama Stack’i kurduktan sonra, API’leriyle etkileşime geçmek için istemci kodunu kullanabilirsiniz. Kullanıcı girdisine dayalı yanıtlar üretmek için Çıkarım API’sini kullanın:

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)

Not: Kurulumunuzda mevcut olan gerçek model adıyla "Llama3.1-8B-Instruct" ifadesini değiştirin.

3. Güvenlik API’sini entegre edin

Yanıtları denetlemek ve uygun olmalarını sağlamak için Güvenlik API’sini uygulayın:

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. Bellek API’si ile bellek ekleyin

Sohbet botunun bağlam farkındalığını, konuşma geçmişini depolayıp geri çağırarak oluşturun:

### 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. Bileşenleri zincirleyin

API’leri daha da birleştirerek sağlam bir sohbet botu oluşturabiliriz:

  • Çıkarım API’si: Yanıt üretir.
  • Güvenlik API’si: Uygunsuz içeriği filtreler.
  • Bellek API’si: Konuşma bağlamını korur.

Tam örnek

Tüm adımları tamamladıktan sonra tam kod aşağıdadır:

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)

Llama Stack Örnekleri ve Katkılar

Llama Stack kullanarak uygulama geliştirmenize örnekler görmek ve hızlı bir başlangıç yapmak için Meta, örnek uygulamalara göz atabileceğiniz llama-stack-apps deposunu sağlamıştır. Çerçeveyi mutlaka inceleyin ve kendinizi aşina kılın.

Bir açık kaynak projesi olarak Llama Stack, topluluk katkılarıyla yaşar. API’ler hızla evrilmektedir ve proje, geliştiricilerden gelen geri bildirim ve katılımlara açıktır; bu da platformun geleceğinin şekillenmesine yardımcı olur. Llama Stack’i denerseniz, projenizi bir örnek olarak paylaşmanız veya belgelere katkıda bulunmanız diğer geliştiricilere yardımcı olabilir.

Sonuç

Bu makale boyunca, Llama Stack’e adım adım yönergelerle nasıl başlanacağını inceledik.

AI uygulamalarınızı dağıtmaya ilerlerken, en son güncellemeler ve iyileştirmeler için Llama Stack deposunu takip etmeyi unutmayın.

Llama ekosistemi hakkında daha fazla bilgi için aşağıdaki kaynaklara göz atın:


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

Yapay Zeka alanında yüksek lisans öğrencisi ve yapay zeka teknik yazarı. En yeni yapay zeka teknolojilerine dair içgörüler paylaşıyorum, ML araştırmalarını erişilebilir kılıyor ve sizi ön planda tutmak için karmaşık YZ konularını sadeleştiriyorum.

Konular
Yapay Zeka
Büyük Dil Modelleri

Bu kurslarla yapay zekâyı öğrenin!

{count, plural, one {Kurs} other {Kurs}}

Llama 3 ile Çalışmak

{hours} sa
15.6K
Llama LLM'yi yerel olarak çalıştırmak ve yığınınıza entegre etmek için en son teknikleri keşfedin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

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

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

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

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör