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.
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.
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.
- cloud.baidu.com adresine gidin ve Baidu Akıllı Bulut hesabı oluşturun veya oturum açın.
- Qianfan konsolunu açın: console.bce.baidu.com/qianfan
- API Anahtar Yönetimi altında API Anahtarı Oluştur seçeneğine tıklayın.
- Çalışma alanını seçin ve sohbet tamamlama hizmetine erişim izni verin.
- Anahtarı kopyalayın. Formatı şuna benzer:
bce-v3/ALTAK-xxxx/xxxx
Anahtarı kaynak koduna yazmayın. Ortam değişkeni olarak saklayın:
export QIANFAN_API_KEY="bce-v3/ALTAK-xxxx/xxxx"
Dikkat etmeniz gereken iki nokta var:
- Yeni v2 uç noktası tek bir Bearer token kullanır. Eski v1 OAuth
access_tokenakışı 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
Model kimliği:
ernie-5.1
Erken erişim özellikleri için:
ernie-5.1-preview
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
}'
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
}
}
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}")
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)
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
Akış formatı OpenAI ile aynıdır:
data: {...}
data: {...}
data: [DONE]
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})")
Tipik araç döngüsü şöyledir:
- Kullanıcı mesajını modele gönderin.
- Model
tool_callsdöndürürse ilgili aracı çalıştırın. - Araç sonucunu
toolrolünde yeni bir mesaj olarak konuşmaya ekleyin. - Modeli tekrar çağırın.
-
finish_reason == "stop"olduğunda vetool_callsboş 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:
- Apidog’u açın.
-
LLM bake-offadında yeni bir proje oluşturun.
Ardından şu değişkenleri içeren bir ortam ekleyin:
`text
QIANFAN_API_KEY
DEEPSEEK_API_KEY
MOONSHOT_API_KEY
`
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.
usagealanı her çağrı içinprompt_tokens,completion_tokensvetotal_tokensdeğ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")
`
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)