Token başına ödeme modelini anlama
Token başına faturalandırma, sunucuya boşta erişim için değil, yalnızca tükettiğiniz şey için ödeme yapmanızı sağlar. Geleneksel aylık aboneliklerin aksine, bu model maliyetleri doğrudan kullanım hacmiyle eşleştirir. Uç nokta tarafından işlenen gerçek girdi ve çıktı tokenlarına göre ücretlendirilirsiniz.
Çoğu sağlayıcı girdi ve çıktı belirteçleri için farklı oranlar uygular. Örneğin, bazı uncensored LLM hizmetleri girdiyi milyon belirteç başına $0.15 ve çıktıyı milyon belirteç başına $0.50 fiyatlandırır. Bu fark, metin üretiminin onu okumaktan önemli ölçüde daha fazla hesaplama gerektirmesinden kaynaklanır.
Token sayılarınızı yakından izlemelisiniz. Tek bir uzun yanıt, çıktı uzunluğunu tahmin etmezseniz girdi maliyetinizi aşabilir. Harcamalarınızı doğru şekilde takip etmek için her zaman yanıt başlıklarında veya gövdesinde döndürülen kullanım meta verilerini kontrol edin.
Neden akış yanıtınız erken kesiliyor
Akış yanıtları, istemciler genellikle ilk birkaç parçadan sonra dinlemeyi durdurduğu için erken kesilir. Sunucu verileri gerçek zamanlı gönderir, ancak uygulamanız akışı doğru işlemiyorsa erken bağlantıyı kopartabilir.
Her bir parça kısmi metin içerir. Tam yanıtı oluşturmak için bu parçaları birleştirmeniz gerekir. Ara parçaları atarsanız veri kaybedersiniz. Son parça genellikle tam kullanım istatistiklerini içerir.
Zaman aşımı ayarlarınızı kontrol edin. Bazı ağlar, birkaç saniyelik hareketsizlikten sonra bağlantıları koparır. İstemcinizin akıştaki ara duraklamaları işlediğinden emin olun. Bu, uzun metinler üreten büyük dil modellerinde yaygındır.
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)
100k bağlam penceresini doğru şekilde işleme
Bağlam penceresi limiti, hem isteminizi hem de oluşturulan tamamlamayı kapsar. İstemde 100k token gönderip yanıtta başka 100k bekleyemezsiniz. Toplam birleşik uzunluk sınırlar içinde kalmalıdır.
Büyük bir istek gönderdiğinizde, yanıt için daha az alanınız kalır. Örneğin, 90k token'lık bir istek, çıkış için yalnızca 10k token bırakır. Bu, uzun yanıtların ani bir şekilde kesilmesine neden olabilir.
Tarafınızda token sayımı uygulayın. Modelin kodlamasına uygun bir tokenizasyon aracı kullanın. Bu, istek sırasında sınırı aşmamanızı sağlar. Aşarsanız, sunucu bir hata döndürür.
Sohbet geçmişlerinde daha eski mesajları kısaltmayı göz önünde bulundurun. Bu, en güncel bağlamı korurken sınırlar içinde kalmanızı sağlar. Bu, uzun oturumlarda konuşma tutarlılığını korumak için kritiktir.
Kripto yüklemeler: Bakiyeniz neden güncellenmedi
Kripto yüklemeler, yanlış ağa token gönderdiğinizde güncellenmez. API'miz TRC20 üzerinde USDT ve Base üzerinde USDC kabul eder. Ethereum üzerindeki USDT'yi TRC20 adresine göndermek kaybolan fonlarla sonuçlanır.
Göndermeden önce ağ önekini her zaman doğrulayın. Yatırım sayfası her para birimi için belirli adresi ve ağı gösterir. Tüm USDT adreslerinin birbirinin yerine kullanılabileceğini varsaymayın.
Gerekli onay sayısını bekleyin. İşlemler anlık değildir. Sistem, blockchain transferi onayladıktan sonra hesabınıza krediji yatırır. Bu, çift harcamayı önler.
Bir blok gezgininde işlem hash'ini kontrol edin. Bakiye güncellenmezse, hash'i destek ekibine sağlayın. Transferi manuel olarak doğrulayabilirler. Bu, farklılıkları çözmek için en hızlı yoldur.
uncensored modellerde işlev çağırma hatalarını Düzeltme
Fonksiyon çağırma hataları genellikle uncensored modellerdeki standart dışı JSON biçimlendirmelerinden kaynaklanır. Bu modeller katı yapıdan ziyade yaratıcılığı önceliklendirir; bu da katı ayrıştırıcıların çalışmasını bozabilir.
Yanıt biçimini şuna ayarlayın json_object daha katı bir çıktı zorlamak için. Bu, hatalı JSON olasılığını azaltır. Ancak yaratıcılığı hafifçe azaltabilir.
Yanıtı ayrıştırmadan önce doğrulayın. JSON ayrıştırma hatalarını işlemek için bir try-catch bloğu kullanın. Ayrıştırma başarısız olursa, daha düşük bir sıcaklıkla tekrarlayın. Bu daha belirleyici bir çıktı teşvik eder.
from openai import OpenAI
client = OpenAI(base_url="https://api.aiapisubscription.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)
Rate limitler: 300 RPM patlamalarını işleme
Hız sınırlamaları, dakika başına gönderebileceğiniz istek sayısını kısıtlar. API'miz anahtar başına dakikada 300 istek sağlar. Bu limiti aşmak 429 durum kodunu döndürür.
Sınıra ulaştığınızda üstel geri çekilme uygulayın. İsteği kısa bir gecikmeden sonra yeniden deneyin. Bu, yoğun kullanım sırasında sunucuyu aşırı yüklemeyi önler.
İstek sıklığınızı izleyin. İstekleri çok hızlı gönderirseniz limiti tetikleyebilirsiniz. İsteklerinizi eşit aralıklarla dağıtın. Bu tutarlı performans sağlar.
Daha yüksek verimlilik gerekiyorsa birden fazla anahtar kullanın. Her anahtarın kendi limiti vardır. Bu, tek bir darboğaza takılmadan uygulamanızı ölçeklendirmenizi sağlar.
JSON modu başarısızlıkları ve yanıt biçimlendirme
JSON modu başarısızlıkları, model geçersiz sözdizimi döndürdüğünde oluşur. Bu, doğal dili yapılandırılmış verilerden önce gören uncensored modellerde yaygındır.
Şu response_format JSON çıktısını zorlayan parametre. Bu, modelin yanıtını geçerli JSON olarak yapılandırmasını söyler. Ancak doğruluğu garanti etmez.
Çıktıyı bir JSON şeması kullanarak doğrulayın. Bu, verilerin beklenen yapıyla eşleştiğini sağlar. Doğrulama başarısız olursa, bir tekrar isteme veya istemi ayarlama isteyin.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.aiapisubscription.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);
Token sayım tutarsızlıklarını hata ayıklama
İstemciniz modelden farklı bir tokenlayıcı (tokenizer) kullandığında token sayımı tutarsızlıkları ortaya çıkar. Bu, hatalı maliyet tahminlerine yol açar.
Model sağlayıcısı tarafından sağlanan resmi tokenizörü kullanın. Bu, sayılarınızın gerçek kullanımla eşleşmesini sağlar. Üçüncü taraf tokenizörler özel karakterleri farklı şekilde işleyebilir.
Yanıttaki kullanım meta verilerini kontrol edin. Bu, kesin token sayısını sağlar. Farklılıkları belirlemek için bunu yerel sayınızla karşılaştırın.
Özel tokenları hesaba katın. Bunlar sistem istemlerini ve iş tanımını içerir. Ham metinde görünmeyebilirler ancak token tüketirler.
Yerelden API'ye ne zaman geçmeli
Yerel donanımınız gecikme süresi veya ölçekleme gereksinimlerinizi karşılayamadığında bir API'ye geçiş yapın. Büyük bir modeli yerel olarak çalıştırmak pahalı GPU'lar ve önemli miktarda enerji gerektirir.
API'ler donanım bakımı olmadan ölçeklenebilirlik sunar. Ani trafik artışlarını kolayca yönetebilirsiniz. Bu, üretim ortamları için idealdir.
Maliyeti düşünün. Yerel bir modeli 7/24 çalıştırırsanız, elektrik ve donanım maliyetleri API kullanımını aşabilir. Token başına faturalandırma yalnızca kullanım değişkense maliyet etkin olur.
curl https://api.aiapisubscription.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Summarize the technical specs of the new GPU."}]
}'