Ana içeriğe atla

BentoML ile LLM’leri Nasıl Dağıtırsınız: Adım Adım Kılavuz

Bu kılavuz, soru-cevaplayan bir yapay zeka uygulamasını nasıl oluşturacağınızı, yerelde nasıl sunacağınızı ve yalnızca birkaç satır Python ile BentoCloud’a nasıl dağıtacağınızı gösterir.
Güncel 3 Eki 2026  · 7 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Birçok veri bilimci ve makine öğrenimi mühendisi, Docker, Kubernetes ve Terraform gibi araçlarla ve yapay zeka modelleri için güvenli altyapı kurmakla ilgili zorluklarla karşılaşıyor.

BentoML bu süreci basitleştirir; yalnızca birkaç satır Python koduyla yapay zeka uygulamaları oluşturmanıza, sunmanıza ve dağıtmanıza olanak tanır.

Bu eğitim, kendi yapay zeka uygulamasını dağıtmak ve basit bir CURL komutuyla her yerden erişilebilir kılmak isteyenler için adım adım bir rehberdir. BentoML çerçevesini, yerelde bir soru-cevaplayan yapay zeka uygulaması oluşturmayı ve Phi 3 mini modelini BentoCloud üzerinde dağıtmayı öğreneceksiniz.

BentoML nedir?

BentoML, yapay zeka modellerini dağıtmayı ve ölçeklendirmeyi kolaylaştıran bir makine öğrenimi sunum ve dağıtım çerçevesidir. Docker imajı oluşturma, örnek kurulumları, altyapı ve güvenlik yönetimi ile üretime hazır bir sunucu için gerekli özellikler gibi görevleri otomatikleştirir.

BentoML ile basit Python koduyla özel yapay zeka modellerini, önceden eğitilmiş modelleri veya ince ayarlı çözümleri dakikalar içinde geliştirebilir ve dağıtabilirsiniz. Bulut ortamınızda verimli bir şekilde ölçeklenme esnekliği sunarken güvenlik ve uyumluluk üzerinde tam kontrolü elinizde tutmanızı sağlar.

BentoML, MLOps araç setinin bir parçasıdır. Eğitim, izleme, dağıtım, orkestrasyon, test, gözlemleme ve altyapı yönetimi için diğer üst düzey MLOps araçlarını keşfetmek için 2024’te Yapay Zeka Uygulamaları Geliştirmek için En İyi 15 LLMOps Aracı blog yazısını okuyun.

Diyagram: BentoML nasıl çalışır

BentoML nasıl çalışır | Görsel kaynağı: BentoML

Bento ekosisteminin parlayan yıldızı bulutudur: BentoCloud, BentoML çerçevesinin bir uzantısıdır ve yapay zeka modellerini dağıtmayı, izlemeyi ve ölçeklendirmeyi daha da kolaylaştıran ek araçlar ve hizmetler sunar. 

Kayıt olarak, kullanıcılar başlangıç için ücretsiz kredilere erişebilir; bu da onu geliştiriciler ve işletmeler için cazip bir seçenek haline getirir.

Eğer bir LLM uygulaması geliştirmek için no-code veya low-code bir çözüm arayan teknik olmayan bir bireyseniz, Docker, n8n, Qdrant ve Ollama ile Yerel AI rehberini takip etmenizi öneririm.

BentoML ile Başlarken

Bu bölümde, kullanıcıdan soru ve bağlam alarak yanıt üreten basit bir yapay zeka uygulamasını sunacağız.

Önce pip kullanarak BentoML, PyTorch ve Transformers kütüphanesini kuracağız. Aşağıdaki komutları terminalinizde çalıştırın:  

$ pip install bentoml
$ pip install torch
$ pip install transformers

Sonraki adımda, yapay zeka sunucusunu tanımlamak için bir service.py dosyası oluşturacağız. 

BentoML komutlarını kullanarak, modeli yüklememize ve yalnızca 2 satır kodla çıkarım yapmamıza olanak tanıyan Transformers pipeline’ını içe aktaracağız.

Örnek metin girdileri ve bağlam ayarlayacak, CPU sayısı ve trafik zaman aşımı gibi parametrelerle BentoML servisinin yapılandırmasını yapacak ve Transformers pipeline’ını kullanarak Question_Answering sınıfını başlatacağız.

Son olarak, girdileri ve çıktıları alan ve üretilen yanıtı döndüren generate() adlı bir API oluşturacağız.

from __future__ import annotations

import bentoml

with bentoml.importing():
    from transformers import pipeline


EXAMPLE_INPUT = "How can I generate a secure password?"
EXAMPLE_CONTEXT = """
To generate a secure password, you can use tools like the LastPass Password Generator.
These tools create strong, random passwords that help prevent security threats by ensuring your accounts are protected against hacking attempts.
A secure password typically includes a mix of uppercase and lowercase letters, numbers, and special characters. Avoid using easily guessable information like names or birthdays.
Using a password manager like LastPass can also help you store and manage these secure passwords effectively.
"""



@bentoml.service(
    resources={"cpu": "4"},
    traffic={"timeout": 10},
)
class Question_Answering:
    def __init__(self) -> None:
        # Load model into pipeline
        self.pipe = pipeline(
            "question-answering",
            model="deepset/roberta-base-squad2",
        )

    @bentoml.api
    def generate(
        self,
        text: str =EXAMPLE_INPUT,
        doc: str = EXAMPLE_CONTEXT,
    ) -> str:
        result = self.pipe(question=text, context=doc)
        return result["answer"]

Yapay zeka servisinizı yerelde sunmak için terminale şu komutu yazın: 

$ bentoml serve service:Question_Answering 

Görüldüğü gibi, yukarıdaki komutta AI model çıkarımı için dosya adını (service) ve Python sınıfı (Question_Answering ) adını belirttik.

Birkaç saniye içinde, BentoML sunucusuna erişmek için tarayıcıya kopyalayıp yapıştırabileceğiniz bir URL oluşturacaktır:

[cli] Starting production HTTP BentoServer from "app:Question_Answering" listening on http://localhost:3000 (Press CTRL+C to quit)

BentoML sunucusu, FastAPI swagger UI’a oldukça benzer.

Bento sunucusu: Swager UI.

“Try it out” seçeneğini kullanarak sunucumuzu test edelim. 

Yapay zeka servisimiz düzgün çalışıyor ve isabetli bir yanıt üretti:

SwagerUI kullanarak API’yi test etme.

AI sunucusuna CURL komutunu kullanarak da erişebiliriz. Farklı bir soru soralım ve bağlam verelim:

curl -X 'POST' \
  'http://localhost:3000/generate' \
  -H 'accept: text/plain' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "How can I buy a cheap car?",
  "doc": "Start by setting a budget and exploring sources like online marketplaces (Craigslist, Facebook Marketplace, Cars.com), local dealerships, or government auctions. Inspect the car thoroughly for issues like rust or mechanical problems, and consider bringing a trusted mechanic to avoid future repair costs. Research the reliability of specific brands and models using tools like Kelley Blue Book or Consumer Reports. Finally, negotiate the price to secure the best deal. Following these steps can help you find a dependable car within your budget."
}'

AI servisimiz sorunsuz çalışıyor ve yanıtı CPU’da bile 1 saniyede üretti:

negotiate the price

Phi 3 Mini 4k Instruct’u BentoCloud’da Dağıtma

Artık gerçek bir büyük dil modeli (LLM) uygulaması oluşturup onu minimum çaba ve kaynakla BentoML üzerinde dağıtma zamanı. 

vLLM çerçevesini kullanarak yüksek verimli bir LLM çıkarımı oluşturacak ve bunu BentoCloud’da bir GPU örneğine dağıtacağız. Kulağa karmaşık gelse de BentoCloud, altyapı kurulumu da dahil olmak üzere işin büyük kısmını halleder; böylece siz hizmetinizi oluşturmaya ve dağıtmaya odaklanabilirsiniz.

1. BentoML vLLM projesini klonlama

BentoML, çeşitli LLM projeleri için bolca örnek kod ve kaynak sunar. Başlamak için BentoVLLM deposunu klonlayacağız. 

Phi 3 Mini 4k projesine gidin ve gerekli tüm Python kütüphanelerini kurun:

$ git clone https://github.com/bentoml/BentoVLLM.git
$ cd BentoVLLM/phi-3-mini-4k-instruct
$ pip install -r requirements.txt

Proje dizini tüm dosyalarla birlikte bu şekilde görünüyor:

Gerekli tüm dosyaları içeren proje dizini.

2. bentofile.yaml dosyasını değiştirme

bentofile.yaml dosyasında sahip ve aşama adlarını değiştireceğiz. 

bentofile.yaml, bir Dockerfile’dan daha basittir ve altyapı, ortam ve sunucu yapılandırmalarını kurmak için farklı komutlar kullanır; tüm komutları Bento build seçeneklerinden öğrenebilirsiniz.

service: 'service:VLLM'
labels:
  owner: Abid
  stage: Guide
include:
  - '*.py'
  - 'bentovllm_openai/*.py'
python:
  requirements_txt: './requirements.txt'
  lock_packages: false
docker:
  python_version: "3.11"

3. service.py dosyasını anlama

service.py dosyasını değiştirmeyeceğiz; bunun yerine onu öğreneceğiz. 

  1. Kod, kullanıcıdan bir soru veya komut alabilen ve önceden eğitilmiş bir yapay zeka modeli (Phi-3-mini-4k-instruct) kullanarak yanıt üreten bir sunucu oluşturur. 
  2. @bentoml.service, GPU’ların ayarlanması ve trafiğin yönetilmesi gibi dağıtım ve kaynak yönetimini üstlenir.
  3. generate API’si, @bentoml.api dekoratörüyle tanımlanır. Kullanıcı komutu, isteğe bağlı bir sistem komutu ve maksimum token sınırını girdi olarak alır; bunlar, yanıtı üretmek için vLLM çıkarım motoruna iletilir.  
  4. generate yöntemi, model çıktısını parça parça akışla iletir ve token’ları hazır olur olmaz üretir.
import uuid
from typing import AsyncGenerator, Optional

import bentoml
from annotated_types import Ge, Le
from typing_extensions import Annotated

from bentovllm_openai.utils import openai_endpoints


MAX_TOKENS = 1024

PROMPT_TEMPLATE = """<|system|>
{system_prompt}<|end|>
<|user|>
{user_prompt}<|end|>
<|assistant|>
"""

SYSTEM_PROMPT = """You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.

If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information."""

MODEL_ID = "microsoft/Phi-3-mini-4k-instruct"

@openai_endpoints(model_id=MODEL_ID)
@bentoml.service(
    name="bentovllm-phi-3-mini-4k-instruct-service",
    traffic={
        "timeout": 300,
        "concurrency": 256, # Matches the default max_num_seqs in the VLLM engine
    },
    resources={
        "gpu": 1,
        "gpu_type": "nvidia-tesla-t4",
    },
)
class VLLM:

    def __init__(self) -> None:
        from transformers import AutoTokenizer
        from vllm import AsyncEngineArgs, AsyncLLMEngine

        ENGINE_ARGS = AsyncEngineArgs(
            model=MODEL_ID,
            max_model_len=MAX_TOKENS,
            dtype="half",
            enable_prefix_caching=True,
            disable_sliding_window=True,
        )

        self.engine = AsyncLLMEngine.from_engine_args(ENGINE_ARGS)

        self.tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)

    @bentoml.api
    async def generate(
        self,
        prompt: str = "Explain superconductors in plain English",
        system_prompt: Optional[str] = SYSTEM_PROMPT,
        max_tokens: Annotated[int, Ge(128), Le(MAX_TOKENS)] = MAX_TOKENS,
    ) -> AsyncGenerator[str, None]:
        from vllm import SamplingParams

        SAMPLING_PARAM = SamplingParams(max_tokens=max_tokens)

        if system_prompt is None:
            system_prompt = SYSTEM_PROMPT
   
        prompt = PROMPT_TEMPLATE.format(user_prompt=prompt, system_prompt=system_prompt)
        stream = await self.engine.add_request(uuid.uuid4().hex, prompt, SAMPLING_PARAM)

        cursor = 0
        async for request_output in stream:
            text = request_output.outputs[0].text
            yield text[cursor:]
            cursor = len(text)

OpenAI API, Hugging Face ve LangChain dahil en yeni AI geliştirici araçlarıyla yapay zeka destekli uygulamalar oluşturmayı öğrenmek için Yapay Zeka Uygulamaları Geliştirme beceri patikasını takip etmenizi öneririm.

4. BentoCloud için hazırlık

bentofile.yaml dosyasına gidin ve son satıra Hugging Face token’ı için ortam değişkenini ekleyin. Bu, modeli Hugging Face sunucusundan sorunsuz ve güvenli bir şekilde yüklememize yardımcı olacaktır:

envs:
  - name: HF_TOKEN

CLI kullanarak BentoCloud’a giriş yapın:

$ bentoml cloud login

Hesap oluşturmanızı ve ardından bir API token’ı oluşturmanızı isteyecektir. 

BentoCloud API anahtarı oluşturma.

API token’ını başarıyla oluşturduktan sonra terminalinizde başarı mesajını göreceksiniz:

Terminalde BentoCloud’a başarılı giriş.

5. BentoCloud’a dağıtım

AI servisini BentoCloud’a dağıtmadan önce, “Secrets” sekmesine gidip anahtar adını ve Hugging Face API anahtarını sağlayarak BentoCloud’da bir ortam değişkeni oluşturmamız gerekir.

BentoCloud’da Secrets yapılandırma.

Bundan sonra, AI servisini dağıtmak için aşağıdaki komutu kullanın:

$ bentoml deploy . --secret huggingface

Modeli indirmek ve sunucuyu çalıştıracak ortamı kurmak birkaç dakika sürecektir.

vLLM servisinin BentoCloud’da dağıtılması.

AI servisinizin durumunu “Deployments” sekmesine giderek kontrol edebilirsiniz.

BentoCloud için konteynerin oluşturulması.

Tüm günlükleri de kontrol edebilir ve arka planda neler olduğunu gözlemleyebilirsiniz.

BentoCloud için derleme günlüklerinin kontrolü.

6. Dağıtılan AI servisine erişim

AI servisi başarıyla dağıtıldıktan sonra, Phi 3 Mini vLLM servisini test etmeye başlayacağız.

Başlamak için “Deployments” seçeneğinin altındaki “Playground” sekmesine tıklayıp istemi girerek ve “submit” düğmesine basarak yanıt oluşturabiliriz. Yanıt gerçek zamanlı olarak akacaktır.

BentoCloud’un oyun alanında LLM uygulamasını test etme.Ayrıca dağıtılan modele erişmek ve yanıt üretmek için BentoML Python istemcisini de kullanabiliriz. Bu, AI servisini uygulamanıza entegre etmenize yardımcı olur:

import bentoml

with bentoml.SyncHTTPClient(
    "https://bentovllm-phi-3-mini-4-k-instruct-service-ka76-39800880.mt-guc1.bentoml.ai"
) as client:
    response = client.generate(
        prompt="What is the largest lake in the world?"
    )
    for chunk in response:
        print(chunk, end="", flush=True)

Terminalde üretilmiş bir LLM yanıtını gösteren görsel.

Herhangi bir işletim sisteminden AI servisine erişmenin en popüler ve en kolay yolu terminalde CURL komutunu kullanmaktır:

$ curl -s -X POST \
    'https://bentovllm-phi-3-mini-4-k-instruct-service-ka76-39800880.mt-guc1.bentoml.ai/generate' \
    -H 'Content-Type: application/json' \
    -d '{
        "prompt": "What is the largest lake in the world?"
    }' 

Bir terminalde CURL komutuyla bir AI servisinin test edildiği görsel.

7. Gözlemlenebilirlik

“Monitoring” sekmesine gidip LLM’ler, kullanıcı istekleri, donanım ve diğer izleme analizlerine ilişkin tüm istatistikleri gözden geçirerek AI sunucusunun performansını değerlendirebilirsiniz. 

Ayrıca “Logs” sekmesini kontrol edebilir veya gerçek zamanlı günlükler üretmek için BentoML CLI’yi kullanabilirsiniz.

BentoML gözlemlenebilirlik panosu.

Sunma ve dağıtma, MLOps hattının bir parçasıdır. Tam Otomatik MLOps kursunu tamamlayarak zaman içinde değer üretebilen ML sistemlerini dağıtmak için MLOps mimarisi, CI/CD/CM/CT teknikleri ve otomasyon kalıplarını öğrenebilirsiniz. 

Sonuç

BentoML ekosistemi hakkında daha fazlasını öğrenmek istiyorsanız, en iyi yaklaşım kendi AI servisinizi oluşturmaya ve dağıtmaya başlamaktır. Ücretsiz krediler alırsınız; bu da farklı hizmetleri keşfetmek için GPU’ları ve CPU’ları kullanmanıza olanak tanır. Buna Birleştirmeli Alma (RAG) uygulaması, işlev çağırma, aracılı LLM’ler veya görselleri ve metni işleyerek yanıt üreten çok modlu bir uygulama dahil olabilir.

Bu uygulamalı eğitimde, BentoML’i ve yalnızca birkaç satır kodla herhangi bir AI uygulamasını yerelde nasıl sunacağımızı öğrendik. Ardından vLLM çıkarım motorunu kullanarak bir BentoML servisi oluşturduk ve birkaç basit adımla bunu BentoCloud’a dağıttık.

Düşünün: API’ler ve açık kaynak kütüphaneler kullanarak yapay zekayı yazılım uygulamalarına nasıl entegre edeceğinizi öğrenmek için Geliştiriciler için Associate AI Engineer kariyer patikasını takip edin.

Yapay Zeka Uygulamaları Geliştirin

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

Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

Konular
Üretken Yapay Zeka
Cloud

Bu kurslarla yapay zeka hakkında daha fazlasını öğrenin!

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

LangChain ile LLM Uygulamaları Geliştirme

{hours} sa
51.4K
LangChain'de LLM'leri, istemleri, zincirleri ve aracıları kullanarak yapay zeka destekli uygulamaları nasıl oluşturacağınızı 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}}

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

{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.

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