Tüm Ürünler
Search
Belge Merkezi

Platform For AI:Deploy large language models on PAI-EAS

Son Güncelleme:Oct 04, 2026

PAI-EAS, DeepSeek ve Qwen gibi popüler büyük dil modellerini (LLM) tek tıklamayla dağıtmak için uçtan uca bir çözüm sunar. Bu sayede ortam yapılandırması, performans ayarlaması ve maliyet yönetimi gibi karmaşık görevler basitleştirilir.

Hızlı başlangıç: Açık kaynaklı bir modeli dağıtın

Bu örnekte Qwen3-8B açık kaynaklı modelinin nasıl dağıtılacağı gösterilmektedir. Aynı süreç diğer desteklenen modeller için de geçerlidir.

Adım 1: Hizmet oluşturun

  1. PAI console oturumunu açın. Sayfanın üst kısmından bir bölge seçin. Ardından istediğiniz çalışma alanını seçin ve Enter Elastic Algorithm Service (EAS) öğesine tıklayın.

  2. Deploy Service öğesine tıklayın. Scenario-based Model Deployment alanında LLM Deployment seçeneğine tıklayın.

  3. Aşağıdaki temel parametreleri yapılandırın:


    Parametre


    Değer


    Model Settings


    Public Model seçeneğini belirleyin, ardından Qwen3-8B modelini aratıp seçin.


    Inference Engine


    vLLM (Önerilen, OpenAI API uyumlu) seçeneğini belirleyin.


    Deployment Template


    Single-Node seçeneğini belirleyin. Sistem, şablona göre örnek türü ve görüntü gibi önerilen parametreleri otomatik olarak doldurur.

  4. Deploy öğesine tıklayın. Hizmet dağıtımı yaklaşık 5 dakika sürer. Hizmet durumu Running olarak değiştiğinde dağıtım başarılı olur.

    Not

    Hizmet dağıtımı başarısız olursa sorun giderme adımları için Hizmet dağıtımı ve durum sorunları konusuna bakın.

Adım 2: Hizmeti doğrulayın

Dağıtım tamamlandıktan sonra çevrimiçi hata ayıklama özelliğini kullanarak hizmetin doğru çalıştığını doğrulayabilirsiniz.

  1. Hizmet adına tıklayarak ayrıntılar sayfasını açın ve Online Debugging sekmesine geçin.

  2. Aşağıdaki istek parametrelerini yapılandırın:

    Parametre

    Değer

    İstek yöntemi

    POST

    URL yolu

    Tam URL yolunu /api/predict/{service_name}/v1/chat/completions biçiminde girin; burada {service_name}, dağıttığınız hizmetin adıdır. Örnek: /api/predict/llm_qwen3_8b_test/v1/chat/completions.

    Gövde (Body)

    {
      "model": "Qwen3-8B",
      "messages": [
        {"role": "user", "content": "Hello!"}
      ],
      "max_tokens": 1024
    }

    Başlıklar (Headers)

    İsteğin Content-Type: application/json içerdiğinden emin olun.

  3. Send Request öğesine tıklayın. Modelin yanıtını içeren bir cevap almalısınız.

İstek 200 durum kodu ve chat.completion türünde bir JSON yanıtı döndürüyorsa hizmet başarıyla dağıtılmış ve çalışıyor demektir. Yanıt gövdesi, modelin yanıtını content alanında içerir.

API'yi çağırın

Hizmeti çağırmadan önce hizmet ayrıntıları sayfasındaki View Endpoint Information sekmesine giderek uç nokta ve belirteç bilgilerini alın.

Aşağıdaki örneklerde hizmet API'sinin nasıl çağrılacağı gösterilmektedir:

cURL

curl -X POST <EAS_ENDPOINT>/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: <EAS_TOKEN>" \
    -d '{
        "model": "<model_name>",
        "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "hello"
        }
        ],
        "max_tokens":1024,
        "temperature": 0.7,
        "top_p": 0.8,
        "stream":true
    }'

Yukarıdaki kodda aşağıdaki parametreleri değiştirin:

  • <EAS_ENDPOINT> ve <EAS_TOKEN> değerlerini, dağıttığınız hizmetin uç noktası ve belirteci ile değiştirin.

  • <model_name> değerini model adı ile değiştirin. vLLM veya SGLang için model adını <EAS_ENDPOINT>/v1/models uç noktasındaki model listesi API'sinden alabilirsiniz.

    curl -X GET <EAS_ENDPOINT>/v1/models -H "Authorization: <EAS_TOKEN>"

OpenAI SDK

Hizmetle etkileşim kurmak için resmi Python SDK'sını kullanmanızı öneririz. OpenAI SDK'yı yüklediğinizden emin olun: pip install openai.

from openai import OpenAI

# 1. Configure the client.
# Replace <EAS_TOKEN> with the token of your deployed service.
openai_api_key = "<EAS_TOKEN>"
# Replace <EAS_ENDPOINT> with the endpoint of your deployed service.
openai_api_base = "<EAS_ENDPOINT>/v1"

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

# 2. Get the model name.
# For BladeLLM, set model = "". BladeLLM does not require a model parameter
# and does not support getting the model name by using client.models.list().
# Set it to an empty string to meet the mandatory parameter requirement of the OpenAI SDK.
models = client.models.list()
model = models.data[0].id
print(model)

# 3. Send a chat request.
# Both streaming (stream=True) and non-streaming (stream=False) outputs are supported.
stream = True
chat_completion = client.chat.completions.create(
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "hello"},          
    ],
    model=model,
    top_p=0.8,
    temperature=0.7,
    max_tokens=1024,
    stream=stream,
)

if stream:
    for chunk in chat_completion:
        print(chunk.choices[0].delta.content, end="")
else:
    result = chat_completion.choices[0].message.content
    print(result)

Python requests

OpenAI SDK bağımlılığı eklemek istemiyorsanız requests kitaplığını kullanabilirsiniz.

import json
import requests

# Replace <EAS_ENDPOINT> with the endpoint of your deployed service.
EAS_ENDPOINT = "<EAS_ENDPOINT>"
# Replace <EAS_TOKEN> with the token of your deployed service.
EAS_TOKEN = "<EAS_TOKEN>"
# Replace <model_name> with the model name. You can get it from the <EAS_ENDPOINT>/v1/models API.
# For BladeLLM, this API is not supported. You can omit the "model" field or set it to "".
model = "<model_name>"

url = f"{EAS_ENDPOINT}/v1/chat/completions"
headers = {
    "Content-Type": "application/json",
    "Authorization": EAS_TOKEN,
}

stream = True
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "hello"},
]

req = {
    "messages": messages,
    "stream": stream,
    "temperature": 0.7,
    "top_p": 0.8,
    "max_tokens": 1024,
    "model": model,
}
response = requests.post(
    url,
    json=req,
    headers=headers,
    stream=stream,
)

if stream:
    for chunk in response.iter_lines(chunk_size=8192, decode_unicode=False):
        msg = chunk.decode("utf-8")
        # The following code processes Server-Sent Events (SSE) formatted streaming responses.
        if msg.startswith("data:"):
            info = msg[6:]
            if info == "[DONE]":
                break
            else:
                resp = json.loads(info)
                if resp["choices"][0]["delta"].get("content") is not None:
                    print(resp["choices"][0]["delta"]["content"], end="", flush=True)
else:
    resp = json.loads(response.text)
    print(resp["choices"][0]["message"]["content"])

Yerel bir web kullanıcı arayüzü oluşturun

Gradio, modeller için etkileşimli arayüzler hızlı bir şekilde oluşturmanıza yardımcı olan bir Python UI kitaplığıdır. Yerel olarak bir Gradio web kullanıcı arayüzü çalıştırmak için şu adımları izleyin.

  1. Kodu indirin

    GitHub bağlantısı | OSS bağlantısı

  2. Ortamı hazırlayın

    Python 3.10 veya üzeri bir sürüm gerekir ve pip install openai gradio komutunu çalıştırarak bağımlılıkları yüklemeniz gerekir.

  3. Web uygulamasını başlatın

    Terminalde aşağıdaki komutu yürütün. <EAS_ENDPOINT> ve <EAS_TOKEN> değerlerini dağıtılan hizmetin uç noktası ve belirteci ile değiştirin.

    python webui_client.py --eas_endpoint "<EAS_ENDPOINT>" --eas_token "<EAS_TOKEN>"
  4. Başlatma başarılı olduktan sonra yerel bir URL çıktılanır (genellikle http://127.0.0.1:7860). Erişmek için bu URL'yi bir tarayıcıda açın.

Üçüncü taraf uygulamalarla entegre edin

Bir PAI-EAS hizmetini, OpenAI API'yi destekleyen çeşitli istemciler ve geliştirme araçlarıyla entegre edebilirsiniz. Temel yapılandırma ayarları hizmet uç noktası, belirteç ve model adıdır.

Dify

  1. OpenAI API uyumlu model sağlayıcısını yükleyin

    Sağ üst köşedeki avatarınıza tıklayın ve Settings seçeneğini belirleyin. Sol bölmede Model Providers seçeneğine tıklayın. Model List içinde OpenAI-API-compatible yoksa aşağıdaki listede bulun ve Install öğesine tıklayın.

  2. Model ekleyin

    OpenAI-API-compatible kartının sağ alt köşesindeki Add Model öğesine tıklayın ve aşağıdaki parametreleri yapılandırın:

    • Model type: LLM seçeneğini belirleyin.

    • Model name: vLLM dağıtımı için ad almak üzere /v1/models uç noktasına bir GET isteği gönderin. Bu örnek için Qwen3-8B girin.

    • API key: PAI-EAS hizmet belirtecinizi girin.

    • API endpoint URL: PAI-EAS hizmetinizin genel uç noktasını girin ve sonuna /v1 ekleyin.

  3. Entegrasyonu test edin

    1. Dify ana sayfasında Create Blank App öğesine tıklayın, Chatflow türünü seçin, bir uygulama adı ve diğer bilgileri girin, ardından Create öğesine tıklayın.

    2. LLM düğümüne tıklayın, eklediğiniz modeli seçin ve bağlam ile istemleri ayarlayın. OpenAI-API-compatible kategorisinden Qwen3-8B CHAT seçeneğini belirleyin. SYSTEM istemine bir rol açıklaması girin ve sys.query bağlam değişkenine referans verin. USER alanında sys.query ve sys.files değişkenlerini ekleyin. Max Tokens (varsayılan 512), Presence Penalty ve Thinking Mode gibi model parametrelerini gerektiği gibi ayarlayabilirsiniz.

    3. Sağ üst köşedeki Preview öğesine tıklayın ve bir soru girin.

      Bot, soruyu workflow üzerinden işler ve bir yanıt döndürür. Konuşma alanının üst kısmında Deep thinking durumu ve geçen süre görüntülenir.

Chatbox

  1. Chatbox adresine giderek cihazınız için istemciyi indirip yükleyin veya web sürümü için Launch Web App öğesine tıklayın. Bu örnekte macOS M3 kullanılmaktadır.

  2. Model sağlayıcı ekleyin. Settings öğesine tıklayın, bir model sağlayıcı ekleyin, pai gibi bir ad girin ve API modu olarak OpenAI API Compatible seçeneğini belirleyin.

  3. pai sağlayıcısını seçin ve aşağıdaki parametreleri yapılandırın:

    • API key: PAI-EAS hizmet belirtecinizi girin.

    • API host: PAI-EAS hizmetinizin genel uç noktasını girin ve sonuna /v1 ekleyin.

    • API path: Bu alanı boş bırakın.

    • Model: Modeli eklemek için Get öğesine tıklayın. BladeLLM çıkarım motoru, API tabanlı model alma işlemini desteklemez. BladeLLM kullanıyorsanız New öğesine tıklayarak modeli manuel olarak ekleyin.

  4. Sohbeti test edin. New Chat öğesine tıklayın ve metin giriş kutusunun sağ alt köşesindeki model hizmetini seçin.

    Sohbet arayüzünün üst kısmında You are a helpful assistant. gibi bir sistem istemi görüntülenir. Metin kutusuna "Who are you?" gibi bir soru girin ve gönderin. Asistanın yanıt alanında, düşünme süresini gösteren daraltılmış bir Deep thinking bölümü ve ardından modelin yanıtı yer alır.

Cherry Studio

LangChain

LangChain, LLM uygulamaları oluşturmak için yaygın olarak kullanılan bir Python çerçevesidir. Bir PAI-EAS hizmeti OpenAI API ile uyumlu olduğundan hizmeti doğrudan langchain_openai.ChatOpenAI ile çağırabilirsiniz; örneğin, bir istem şablonunu zincire dönüştürmek için.

  1. Bağımlılıkları yükleyin

    pip install langchain langchain-openai
  2. Modeli yapılandırın. Aşağıdaki parametrelerle ChatOpenAI yapılandırmasını yapın:

    • base_url: PAI-EAS hizmetinizin genel uç noktasını girin ve sonuna /v1 ekleyin.

    • api_key: PAI-EAS hizmet belirtecinizi girin.

    • model: Model adını girin. vLLM dağıtımı için ad almak üzere /v1/models uç noktasına bir GET isteği gönderin. Bu örnek için Qwen3-8B girin.

    from langchain_openai import ChatOpenAI
    
    llm = ChatOpenAI(
        base_url="<EAS_ENDPOINT>/v1",
        api_key="<EAS_TOKEN>",
        model="<model_name>"
    )
    Önemli

    base_url değerine /v1 eklemelisiniz. PAI-EAS hizmetinizin genel uç noktasını /v1 olmadan girerseniz çağrı 404 hatası döndürür.

  3. Zincir çağrısı. | operatörünü kullanarak modeli ChatPromptTemplate ile birleştirebilirsiniz:

    from langchain_core.prompts import ChatPromptTemplate
    
    prompt = ChatPromptTemplate.from_messages([
        ("system", "You are a helpful assistant."),
        ("user", "{input}")
    ])
    
    chain = prompt | llm
    response = chain.invoke({"input": "Who are you?"})
    print(response.content)

Faturalama

Maliyetler aşağıdakileri içerir ancak bunlarla sınırlı değildir. Daha fazla bilgi için PAI-EAS faturalandırması konusuna bakın.

  • İşlem ücretleri: Bu, birincil maliyettir. Bir PAI-EAS hizmeti oluştururken ihtiyaçlarınıza göre kullandıkça öde veya abonelik kaynaklarını seçin.

  • Depolama ücretleri: Özel bir model kullanıyorsanız model dosyaları Object Storage Service (OSS) üzerinde depolanır ve bu durum depolama ücretlerine neden olur.

Üretim kullanımı

Doğru modeli seçin

  1. Uygulama senaryonuzu tanımlayın:

    • Genel konuşma: Modelin talimatlarınızı anlamasını ve takip etmesini sağlamak için her zaman temel model yerine talimatla ince ayarlanmış bir model seçin.

    • Kod Oluşturma: Kodla ilgili görevlerde genellikle genel amaçlı modellere kıyasla çok daha iyi performans gösterdikleri için Qwen3-Coder serisi gibi özel kod modellerini seçin.

    • Alana özgü görevler: Göreviniz finans veya hukuk gibi oldukça uzmanlaşmış bir alansa o alan için ince ayar yapılmış bir model bulmayı veya genel amaçlı bir modeli kendiniz ince ayar yapmayı düşünün.

  2. Performans ve maliyeti dengeleyin: Daha büyük modeller genellikle daha yeteneklidir ancak daha fazla hesaplama kaynağı gerektirir ve çıkarım maliyetleri daha yüksektir. Doğrulama için 7B modeli gibi daha küçük bir modelle başlayın. Performansı ihtiyaçlarınızı karşılamazsa daha büyük bir model deneyin.

  3. Yetkili karşılaştırmalara başvurun: OpenCompass ve LMSys Chatbot Arena gibi liderlik tablolarına danışabilirsiniz. Bu tablolar modelleri akıl yürütme, kodlama ve matematik gibi birçok boyutta değerlendirir ve model seçimi için değerli rehberlik sağlar.

Doğru çıkarım motorunu seçin

  • vLLM/SGLang: Açık kaynak topluluğunda yaygın tercihler olarak geniş model desteği ve kapsamlı topluluk belgeleri ve örnekleri sunarlar; bu da entegrasyonu ve sorun gidermeyi kolaylaştırır.

  • BladeLLM: Alibaba Cloud PAI ekibi tarafından geliştirilen bir çıkarım motorudur. Özellikle Qwen serisi olmak üzere belirli modeller için derinlemesine optimize edilmiştir ve daha yüksek performans ile daha düşük GPU bellek kullanımı sağlayabilir.

Çıkarım optimizasyonu

  • Akıllı yönlendirme ile bir LLM dağıtın: İstekleri token aktarım hızı ve GPU bellek kullanımı gibi gerçek zamanlı ölçümlere göre dinamik olarak dağıtır. Bu yaklaşım, çıkarım örnekleri arasında hesaplama gücü ve bellek tahsisini dengeler ve birden fazla çıkarım örneği ile eşit olmayan şekilde dağıtılmış istek yükleri olan dağıtımlar için uygundur. Küme kaynak kullanımını ve sistem kararlılığını artırır.

  • Uzman paralelliği ve PD ayrımı kullanarak Karışık Uzmanlar (MoE) modellerini dağıtın: Karışık Uzmanlar (MoE) modelleri için bu yaklaşım, çıkarım verimliliğini artırmak ve dağıtım maliyetlerini düşürmek amacıyla uzman paralelliği (EP) ve Ön İşleme-Kod Çözme (PD) ayrımı gibi teknikler kullanır.

SSS

S: Hizmet Beklemede durumunda takılı kalıyor

Sorunu gidermek için şu adımları izleyin:

  1. Örnek durumunu kontrol edin: Hizmet listesi sayfasında hizmet adına tıklayarak ayrıntılar sayfasına gidin. Service Instance bölümünde örnek durumunu kontrol edin. insufficient resources gösteriyorsa mevcut genel kaynak grubunda yeterli kapasite yoktur.

  2. Çözümler (öncelik sırasına göre):

    1. Seçenek 1: Örnek türünü değiştirin. Dağıtım sayfasına dönün ve farklı bir GPU modeli seçin.

    2. Çözüm 2: Ayrılmış kaynakları kullanın. Resource Type için ayrılmış kaynakları kullanmak üzere bir EAS kaynak grubu seçin (kaynak grubunun önceden oluşturulmuş olması gerekir).

  3. Önleyici tedbirler:

    1. Genel kaynakların sınırlamalarını önlemek için ayrılmış bir kaynak grubu oluşturun.

    2. Yoğun saatlerde birden fazla bölgede test yapın.

S: Çağrı hataları

  1. API çağrısı aşağıdaki hatayı döndürüyor: Unsupported Media Type: Only 'application/json' is allowed

    İstek başlıklarının Content-Type: application/json içerdiğinden emin olun.

  2. API çağrısı aşağıdaki hatayı döndürüyor: The model '<model_name>' does not exist.

    vLLM çıkarım motoru, model alanının doğru şekilde belirtilmesini gerektirir. Model adını /v1/models uç noktasına bir GET isteği göndererek alabilirsiniz.

Diğer sorular için EAS SSS konusuna bakın.