Geçiş API'si: Yaygın LLM Entegrasyon Hatalarını Halletme
LLM entegrasyonlarınızı taşıma genellikle karmaşık mantık hatalarından ziyade ince yapılandırma hataları nedeniyle başarısız olur. Bu kılavuz, yeni bir uncensored AI API'sine geçişte en sık karşılaşılan tuzakları ele alır ve kodunuzun ilk günden itibaren güvenilir çalışmasını sağlar.
Son güncelleme
Özet
- Temel URL yapılandırma hatası, hemen gerçekleşen bağlantı hatalarının en yaygın nedenidir.
- 100.000 token'lık bağlam penceresinin göz ardı edilmesi uzun konuşmaların sessizce kesilmesine yol açar.
- Akış, standart eşzamanlı çağrıların ihtiyaç duymadığı özel başlık ve olay işleme gerektirir.
- Dakikada 300 istek hız sınırları, 429 hatalarından kaçınmak için sağlam yeniden deneme mantığı gerektirir.
Yapılandırma Temel URL'si
Başarısızlığın ilk noktası neredeyse her zaman temel URL'dir. Sağlayıcıları değiştirdiğinizde, SDK'nızın iletişim kurduğu uç nokta (endpoint) adresini güncellemeniz gerekir. Yanlış bir URL, yükünüz makinenizden bile çıkmadan bir 404 veya 403 hatası ile sonuçlanır.
İstemcinizin doğru etki alanını işaret ettiğinden emin olun. Hizmetimiz için temel URL https://api.apimigration.com/v1. Bu URL, standart OpenAI SDK'ları ile base_url parametre.
- Protokolü (HTTPS vs HTTP) doğrulayın.
- İstemci yapılandırmanızda sondaki eğik çizgileri kontrol edin.
- Sürüm yolunun (
/v1) API spesifikasyonunuzla eşleşir.
curl https://api.apimigration.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
}'
Bağlam Penceresi Sınırlarını Yok Say
Modelinizin birleşik istem ve tamamlama için 100,000 tokenlık bir katı sınırı vardır. Bunu aşarsanız API isteği reddeder veya uygulamaya bağlı olarak geçmişinizi sessizce kısaltır. Bu duvara takılmamak için token kullanımınızı her zaman takip edin.
Ayrıca, her istek için maksimum çıktı 16,000 token'dır. Eğer ayarlamazsanız max_tokens, varsayılan değer 2.048 token'dır. Bu fark, uzun formatlı üretim görevleri için önemlidir.
- İstek başına toplam token sayısını izleyin.
- Ayarla
max_tokensuzun çıktılar için açıkça. - Çok uzun konuşmalar için kayan pencere mantığı uygulayın.
from openai import OpenAI
client = OpenAI(base_url="https://api.apimigration.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Yanlış Akış Uygulaması
Akış yanıtları Sunucu Tarafı Olaylarının (SSE) spesifik olarak işlenmesini gerektirir. Akışı tek bir JSON nesnesi gibi ele alırsanız kodunuz takılır veya çöker. Her parça kısmi veri içerir ve son parça belirteç kullanım istatistiklerini içerir.
Akışı artımlı olarak okuyun. Her olayı geldiği gibi işleyin. Bu, son kullanıcılar için algılanan gecikmeyi azaltır. İşleme için tüm yanıtın bitmesini beklemeyin.
- Bağlantıyı açın ve satır satır okuyun.
- Parse
data:satırlar JSON olarak. - Handle the
[DONE]signal correctly.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Hız Sınırlarını Göz Ardı Etme
API'miz, anahtar başına dakikada 300 isteğe olanak tanır. Uygulamanızda ani artışlar olursa, 429 Too Many Requests hataları alırsınız. Bu hataları zarifçe yönetmek için üstel geri çekilme (exponential backoff) uygulamanız gerekir.
Eşzamanlı istekler de anahtar başına aynı anda 8 ile sınırlıdır. Bu sınırı aşmak, bağlantı havuzu tükenmesine neden olabilir. Eşzamanlı bağlantılarınızı yakından izleyin.
- 429 hataları için üstel geri çekilme uygulayın.
- Eşzamanlı bağlantıları 8'e kadar sınırlayın.
- Yüksek yük altında devre kesici desenini kullanın.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apimigration.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Standart JSON Formatlarını Varsaymak
OpenAI-uyumlu formatları takip etsek de, varsayımlar entegrasyonunuzu bozabilir. İstediğiniz json_object için response_format katı JSON gerekiyorsa. Bu olmadan model, markdown veya düz metin döndürebilir.
Yanıtı dikkatlice ayrıştırın. Kullanmadan önce JSON yapısını doğrulayın. Bu, aşağı akış hizmetlerdeki çalışma zamanı hatalarını önler.
- Ayarla
response_formatiçin{"type": "json_object"}. - JSON'ı ayrıştırmadan önce doğrula.
- Bozuk yanıtları zarifçe yönetin.
curl https://api.apimigration.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
}'
Hata Yönetimini Göz Ardı Etme
API'ler hata verir. Ağ zaman aşımı hataları, sunucu hataları ve geçersiz yükler oluşur. Kodunuzun bu hataları çökmeden işlemesi gerekir. Hata ayıklama için hata ayrıntılarını günlüğe kaydedin.
Hata kodunu ve mesajını kontrol edin. Geçici hatalarda yeniden deneyin. Kalıcı hatalarda hızlıca başarısız olun. Bu ayrım zaman ve kaynak tasarrufu sağlar.
- Hata kodlarını ve mesajlarını günlüğe kaydedin.
- 5xx hatalarında geri çekilme ile yeniden deneyin.
- 4xx hatalarında hızlı başarısız olun.
from openai import OpenAI
client = OpenAI(base_url="https://api.apimigration.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Ödeme ve Anahtar Değiştirme Sorunları
API'miz, kripto ile ön ödemeli kredi kullanır. Kredi süresi dolmaz. Kredisiniz biterse istekler başarısız olur. Bakiyenizi izleyin ve sıfıra ulaşmadan önce yeniden yükleyin.
Her hesapta bir aktif anahtar bulunur. Yeni bir anahtar oluşturmak eskisini hemen geçersiz kılar. Dağıtımınızın anahtarı atomik olarak güncellemesini sağlayın, böylece kesinti yaşanmaz.
- Kredi bakiyesini düzenli olarak izleyin.
- Anahtarları atomik olarak döndürün.
- Tüm örnekleri aynı anda güncelleyin.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apimigration.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
En İyi Uygulamalar Özeti
Geçiş başarısı dikkat ve detaylara bağlıdır. Temel URL'nizi doğrulayın. Bağlam sınırlarına saygı gösterin. Akış (streaming) işlemini doğru yönetin. Hız sınırlarını yönetin. JSON'u doğrulayın. Hataları işleyin. Ödemeleri ve anahtarları yönetin. Bu adımları izlemek sorunsuz bir geçişi garanti eder.
Canlıya almadan önce entegrasyonunuzu kapsamlı bir şekilde test edin. Kurulumunuzu doğrulamak için deneme kredisini kullanın. Bu, üretim ortamında maliyetli kesintileri önler.
- Temel URL'yi doğrulayın.
- Bağlam sınırlarına saygı gösterin.
- Akışı doğru şekilde yönetin.
- Hız sınırlarını yönetin.
- JSON'u doğrula.
- Hataları yönetin.
- Ödemeleri ve anahtarları yönetin.
curl https://api.apimigration.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Run the latest migration script for the user table"}]
}'Sık sorulan sorular
Bağlam penceresi boyutu nedir?
Bağlam penceresi, istem ve tamamlama birlikte 100.000 token'dır. Her istek için maksimum çıktı 16.000 token'dır. max_tokens ayarlamazsanız, varsayılan değer 2.048 token'dır.
Yanıtları nasıl akış (stream) olarak alırım?
Sunucu Tarafı Olayları (SSE) kullanın. Her satırı okuyun ve JSON verisini ayrıştırın. Son chunk token kullanımını içerir. Tüm yanıtı beklemeyin.
Hız limitleri nelerdir?
Anahtar başına dakikada 300 istek yapabilirsiniz. Anahtar başına 8 eşzamanlı isteğiniz olabilir. Bu limitleri aşmanız 429 hatasına neden olur.
API için nasıl ödeme yaparım?
Ödemeler yalnızca kripto para ile yapılır. USDT (TRC20) veya USDC (Base) kullanabilirsiniz. Bakiye yüklemeleri $20 ile $500 arasındadır. Kredi süresi dolmaz.
API Anahtarınızı Alın
Kaydolun, anahtarı kopyalayın, temel URL'yi güncelleyin. Kurulum tamamlandı.