DEV Community

Cover image for ERNIE 5.1 API Nasıl Kullanılır?
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

ERNIE 5.1 API Nasıl Kullanılır?

ERNIE 5.1 9 Mayıs 2026'da yayınlandı ve bir hafta içinde Qianfan API'si kullanıma açıldı. Modeli kendi kodunuzdan çağırmak, araç çağrılarını ERNIE üzerinden yönlendirmek veya Apidog ile bir ajan döngüsüne bağlamak istiyorsanız, bu rehber hesap açmadan hata yönetimine kadar uygulanabilir adımları gösterir.

Apidog'u bugün deneyin

Sonunda çalışan curl, Python ve Node.js örneklerine, ayrıca Apidog’da yeniden kullanabileceğiniz bir istek yapısına sahip olacaksınız.

ERNIE 5.1 lansman analizini henüz okumadıysanız, önce ona göz atın. Yazı, DeepSeek V4 ve Kimi K2.6 ile karşılaştırmalı performansları ve ödünleşimleri ele alır.

ERNIE 5.1

Adım 1: Qianfan API anahtarı alın

ERNIE 5.1, Baidu Akıllı Bulut’un Qianfan platformu üzerinden sunulur. Ayrı bir “ERNIE API” yoktur; çağrılar Qianfan üzerinden yapılır.

  1. cloud.baidu.com adresine gidin ve Baidu Akıllı Bulut hesabı oluşturun veya oturum açın.
  2. Qianfan konsolunu açın: console.bce.baidu.com/qianfan
  3. API Anahtar Yönetimi altında API Anahtarı Oluştur seçeneğine tıklayın.
  4. Çalışma alanını seçin ve sohbet tamamlama hizmetine erişim izni verin.
  5. Anahtarı kopyalayın. Formatı şuna benzer:
bce-v3/ALTAK-xxxx/xxxx
Enter fullscreen mode Exit fullscreen mode

Anahtarı kaynak koduna yazmayın. Ortam değişkeni olarak saklayın:

export QIANFAN_API_KEY="bce-v3/ALTAK-xxxx/xxxx"
Enter fullscreen mode Exit fullscreen mode

Dikkat etmeniz gereken iki nokta var:

  • Yeni v2 uç noktası tek bir Bearer token kullanır. Eski v1 OAuth access_token akışı kullanımdan kaldırılıyor; yeni entegrasyonları buna göre tasarlamayın.
  • ERNIE 5.1 ilk günden itibaren ücretli bir modeldir. İlk testten önce küçük bir bakiye yükleyin. ¥10 temel denemeler için yeterlidir.

Adım 2: OpenAI uyumlu uç noktaya curl ile istek gönderin

Qianfan, OpenAI uyumlu bir sohbet tamamlama uç noktası sunar. Bu nedenle OpenAI formatını destekleyen mevcut kodlarınız çoğunlukla yalnızca base_url ve model değişikliğiyle çalışır.

Temel URL:

https://qianfan.baidubce.com/v2
Enter fullscreen mode Exit fullscreen mode

Model kimliği:

ernie-5.1
Enter fullscreen mode Exit fullscreen mode

Erken erişim özellikleri için:

ernie-5.1-preview
Enter fullscreen mode Exit fullscreen mode

Minimum çalışan istek:

curl https://qianfan.baidubce.com/v2/chat/completions \
  -H "Authorization: Bearer $QIANFAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ernie-5.1",
    "messages": [
      {"role": "system", "content": "You are a senior API designer."},
      {"role": "user", "content": "Sketch a REST schema for a GitHub-style PR review API. Be concise."}
    ],
    "temperature": 0.3
  }'
Enter fullscreen mode Exit fullscreen mode

Yanıt OpenAI formatındadır:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1746780000,
  "model": "ernie-5.1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 42,
    "completion_tokens": 318,
    "total_tokens": 360
  }
}
Enter fullscreen mode Exit fullscreen mode

Hızlı hata kontrolü:

  • 401 Unauthorized: Anahtar yanlış veya süresi dolmuş.
  • 403: Anahtar geçerli, ancak model bu çalışma alanında etkin değil. Konsoldan ERNIE 5.1 erişimini etkinleştirin.

Adım 3: ERNIE 5.1’i Python’dan çağırın

Uç nokta OpenAI uyumlu olduğu için resmi openai Python SDK’sını kullanabilirsiniz. Tek yapmanız gereken istemciyi Qianfan’a yönlendirmek.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["QIANFAN_API_KEY"],
    base_url="https://qianfan.baidubce.com/v2",
)

response = client.chat.completions.create(
    model="ernie-5.1",
    messages=[
        {"role": "system", "content": "You explain APIs in plain English."},
        {"role": "user", "content": "Why would I use server-sent events over WebSockets for a chat UI?"},
    ],
    temperature=0.4,
)

print(response.choices[0].message.content)
print(f"\nTokens used: {response.usage.total_tokens}")
Enter fullscreen mode Exit fullscreen mode

Kod tabanınızda OpenAI SDK’sı etrafında bir wrapper varsa, ERNIE 5.1’i A/B testine almak genellikle tek satırlık bir değişikliktir. Aynı yaklaşım DeepSeek API’si ve çoğu Çinli model sağlayıcısı için de geçerlidir.

Adım 4: Sohbet arayüzleri için streaming kullanın

Kullanıcıya dönük sohbet arayüzlerinde tam yanıtı beklemek yerine token akışı kullanın. Bunun için stream: true ayarlayın ve server-sent events çıktısını tüketin.

stream = client.chat.completions.create(
    model="ernie-5.1",
    messages=[
        {"role": "user", "content": "Write a haiku about API versioning."}
    ],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
Enter fullscreen mode Exit fullscreen mode

Aynı isteği curl ile test etmek için:

curl https://qianfan.baidubce.com/v2/chat/completions \
  -H "Authorization: Bearer $QIANFAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ernie-5.1",
    "stream": true,
    "messages": [
      {"role": "user", "content": "Stream a 3-sentence joke."}
    ]
  }' \
  --no-buffer
Enter fullscreen mode Exit fullscreen mode

Akış formatı OpenAI ile aynıdır:

data: {...}
data: {...}
data: [DONE]
Enter fullscreen mode Exit fullscreen mode

Adım 5: ERNIE 5.1’i araç çağrılarıyla kullanın

ERNIE 5.1’in öne çıktığı alanlardan biri araç kullanımıdır. Model, τ³-bench ve SpreadsheetBench-Verified’da DeepSeek-V4-Pro’nun üzerinde puan aldı. Bu, araç çağırmanın yalnızca demo senaryolarında değil, üretim akışlarında da kullanılabilir olduğunu gösterir.

Şema OpenAI function calling ile aynıdır:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get current weather for a city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {
                        "type": "string",
                        "description": "City name, e.g. Singapore"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"]
                    },
                },
                "required": ["city"],
            },
        },
    }
]

response = client.chat.completions.create(
    model="ernie-5.1",
    messages=[
        {"role": "user", "content": "What's the weather in Tokyo right now?"}
    ],
    tools=tools,
    tool_choice="auto",
)

tool_calls = response.choices[0].message.tool_calls

if tool_calls:
    call = tool_calls[0]
    print(f"Model wants to call: {call.function.name}({call.function.arguments})")
Enter fullscreen mode Exit fullscreen mode

Tipik araç döngüsü şöyledir:

  1. Kullanıcı mesajını modele gönderin.
  2. Model tool_calls döndürürse ilgili aracı çalıştırın.
  3. Araç sonucunu tool rolünde yeni bir mesaj olarak konuşmaya ekleyin.
  4. Modeli tekrar çağırın.
  5. finish_reason == "stop" olduğunda ve tool_calls boş olduğunda döngüyü bitirin.

Uygulamada dikkat edilmesi gereken bir nokta var: ERNIE 5.1 bazen araç argümanlarını temiz JSON dizesi yerine kod bloğu içinde stringify edilmiş JSON olarak döndürebilir. Bu yüzden json.loads() işlemini try/except içine alın. Başarısız olursa <code>`json</code> bloklarını temizleyip yeniden ayrıştırın.

Adım 6: ERNIE 5.1’i Node.js’ten çağırın

openai v5+ kullanan Node.js projelerinde entegrasyon doğrudandır:

`javascript
import OpenAI from "openai";

const client = new OpenAI({
apiKey: process.env.QIANFAN_API_KEY,
baseURL: "https://qianfan.baidubce.com/v2",
});

const completion = await client.chat.completions.create({
model: "ernie-5.1",
messages: [
{
role: "user",
content: "Return a JSON object with 3 API design tips.",
},
],
response_format: { type: "json_object" },
});

console.log(completion.choices[0].message.content);
`

response_format: { type: "json_object" } çalışır ve güvenilirdir. Kesin JSON şemaları için json_schema desteği Qianfan üzerinde hâlâ kullanıma sunulmaktadır. Üretimde yalnızca modele güvenmeyin; yanıt şeklini kendi kodunuzda doğrulayın.

Adım 7: Apidog ile sağlayıcıları test edin ve karşılaştırın

ERNIE 5.1, DeepSeek V4 ve Kimi K2.6 arasında karar veriyorsanız, bunu yalnızca terminalden yapmayın. Her sağlayıcı için ayrı klasör, aynı istek gövdeleri ve kaydedilmiş ortam değişkenleri içeren tek bir çalışma alanı oluşturmak için Apidog kullanın.

60 saniyelik kurulum:

  1. Apidog’u açın.
  2. LLM bake-off adında yeni bir proje oluşturun.

Apidog LLM projesi

Ardından şu değişkenleri içeren bir ortam ekleyin:

`text
QIANFAN_API_KEY
DEEPSEEK_API_KEY
MOONSHOT_API_KEY
`

Apidog ortam değişkenleri

Sonra üç istek oluşturun:

Sağlayıcı Base URL Model
Qianfan https://qianfan.baidubce.com/v2 ernie-5.1
DeepSeek Sağlayıcının temel URL’si deepseek-chat
Moonshot/Kimi Sağlayıcının temel URL’si kimi-k2-6

Her üç istekte aynı messages dizisini kullanın. Apidog’un Çalıştır özelliğiyle istekleri paralel çalıştırın ve çıktıları karşılaştırın.

Ücretsiz katman bu kullanım için yeterlidir. Apidog, her ortam için istek geçmişini saklar. Böylece ileride yeni bir model sürümü çıktığında aynı değerlendirmeyi tekrar çalıştırabilirsiniz.

Çoklu sağlayıcı testi hakkında daha fazla bilgi için Yerel LLM’leri API olarak test edin ve GLM 5.1 API rehberimize bakabilirsiniz.

Fiyatlandırma, oran sınırlamaları ve kotalar

ERNIE 5.1 için genel Qianfan fiyatlandırması yayın gönderisinde belirtilmemişti. Üretime almadan önce canlı konsol fiyat kartını kontrol edin.

Pratikte üç noktayı takip edin:

  • Oran sınırlamaları çalışma alanı kapsamındadır. Yeni hesaplar düşük QPS limitiyle başlar. Testlerden sonra konsoldan yükseltme yapın.
  • Token kullanımı yanıtta görünür. usage alanı her çağrı için prompt_tokens, completion_tokens ve total_tokens değerlerini verir. Bunları loglayın.
  • Önbellekleme otomatik değildir. Qianfan şu anda ERNIE 5.1 için istem önbellekleme ilkelini sunmamaktadır. 2.000 tokenlik sistem isteminiz varsa, her çağrıda bunun için ödeme yaparsınız.

Hata yönetimi

Pratikte en sık göreceğiniz hatalar:

Durum Anlamı Çözüm
401 Bearer token yanlış veya süresi dolmuş Konsoldan yeniden oluşturun
403 Model bu çalışma alanında etkin değil ERNIE 5.1’i konsoldan ekleyin
429 Oran limiti aşıldı Backoff + jitter ile tekrar deneyin
400 / invalid messages Yanlış mesaj-rol sıralaması Kullanıcı/asistan sırasını kontrol edin
500 / 502 Qianfan tarafında geçici sorun Bir kez tekrar deneyin; sürerse durum sayfasını kontrol edin

Her çağrıyı sınırlı tekrar deneme döngüsüne alın. Üretimde yanıt başlıklarından request_id değerini loglayın; Baidu desteği hata ayıklama için buna ihtiyaç duyabilir.

Minimum üretim odaklı Python wrapper

ERNIE 5.1’i gerçek bir uygulamaya eklemek için başlangıç noktası olarak şu wrapper yeterlidir:

`python
import os
import time
import random
from openai import OpenAI, RateLimitError, APIError

client = OpenAI(
api_key=os.environ["QIANFAN_API_KEY"],
base_url="https://qianfan.baidubce.com/v2",
)

def chat(messages, , model="ernie-5.1", temperature=0.3, max_retries=3):
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model=model,
messages=messages,
temperature=temperature,
)
except RateLimitError:
time.sleep((2 *
attempt) + random.random())
except APIError as e:
if e.status_code and e.status_code >= 500 and attempt < max_retries - 1:
time.sleep(1 + attempt)
continue
raise

raise RuntimeError("ERNIE 5.1 retries exhausted")
Enter fullscreen mode Exit fullscreen mode

`

Bu wrapper temel senaryoların çoğunu kapsar. Streaming ve araç döngülerini bunun üzerine inşa edebilirsiniz.

Sıkça sorulan sorular

ERNIE 5.1 API’si ücretsiz mi?

Hayır. Qianfan kullandıkça öde modeliyle çalışır. Kalıcı bir ücretsiz katman yoktur. Yeni hesaplar bazen deneme kredileri alabilir. Ücretsiz denemeler için ernie.baidu.com sohbet arayüzünü kullanabilir veya ücretsiz LLM seçeneklerine bakabilirsiniz.

ERNIE 5.1’i yerel olarak çalıştırabilir miyim?

Hayır. Açık ağırlıklar mevcut değildir. Şirket içi çalıştırma zorunluysa DeepSeek V4’ü yerel olarak çalıştırma rehberine veya 2026’nın en iyi yerel LLM’leri listesine bakın.

OpenAI SDK’sı değişiklik yapmadan çalışır mı?

Evet. base_url değerini https://qianfan.baidubce.com/v2, api_key değerini de Qianfan anahtarınız yapmanız yeterlidir. model alanında OpenAI model adları yerine Qianfan model kimlikleri kullanılır. Function calling, streaming ve response_format: json_object desteklenir. Kesin json_schema doğrulaması hâlâ kullanıma sunulmaktadır.

ERNIE 5.1 Çince ve İngilizce istemleri nasıl ele alır?

Her ikisi de güçlü şekilde desteklenir. 1.223’lük Arena Arama puanı karma dilli bir seçmen havuzundan gelmiştir. Teknik İngilizce görevlerinde, özellikle kod ve API tasarımı gibi alanlarda kapalı modellerle rekabetçidir. Çince yaratıcı yazımda Çin modelleri arasında üst seviyededir.

Maksimum çıktı uzunluğu nedir?

Resmi olarak yayınlanmadı. Pratikte tek dönüşlü yanıtlar model tamamlanmadan önce yaklaşık 8 bin token civarında sınırlanır. Uzun içerik üretimi için işi parçalara ayırın ve devam çağrıları kullanın.

ERNIE 5.1 üzerinde bir ajan geliştiriyorsanız Apidog’u indirin ve OpenAI uyumlu istek koleksiyonunu kullanarak Qianfan uç noktasını diğer servislerinizle birlikte test edin, mock’layın ve belgeleyin.

Top comments (0)