tr ▾
API anahtarı al

Unrestricted ai: Troubleshooting Common Mistakes

Geliştiricler, standart biçimlendirme, limitler ve akış davranışı varsayımlarının artık geçerli olmadığı bir kısıtlamasız AI sağlayıcısına geçerken duvarlara çarpar. Bu kılavuz, modelinizi harcanan kredi veya bozuk iş akışları olmadan dağıtabilmeniz için en yaygın entegrasyon hatalarını çözmenize yardımcı olur.

Son güncelleme

Özet

  1. Bağlam penceresi hem prompt'u hem de tamamlamayı içerir; bu nedenle kesilmeyi önlemek için çıktı için yer ayırmanız gerekir.
  2. JSON modu sıkı şema uyumu gerektirir ve model prompt belirsizse ek metin döndürebilir.
  3. SSE üzerinden akış yanıtları, ayrıştırıcınızı bozmadan kısmi tokenları güvenli bir şekilde işlemenizi gerektirir.
  4. Rate limitleri anahtar bazında uygulanır, bu nedenle ani trafik desenleri 429 hatalarından kaçınmak için dikkatli geri çekilme stratejileri gerektirir.

1. Bağlam Penceresi Tavanı

Her istek, hem promptu hem de oluşturulan tamamlamayı toplam limitinizden düşer. Büyük bir bağlam gönderip uzun bir yanıt isterseniz, model metin oluşturmayı bitirmeden önce tavana çarparsınız. Uncensored modelimiz 100,000-tokenlık bir bağlam penceresini destekler, ancak isteğe bağlı olarak farklı bir şey belirtmedikçe isteğe başına maksimum çıktı 16,000 token ile sınırlıdır. Modelin düşüncesini tamamlaması için yeterli alanı olduğundan emin olmak için sistem promptunuz ve konuşma geçmişinizden sonra kalan tokenları her zaman hesaplayın. Bunu hesaba katmamak genellikle aşağı akış ayrıştırıcılarını kafa karıştırabilecek kesik yanıtlara neden olur.

from openai import OpenAI

client = OpenAI(base_url="https://api.chatgptunrestricted.cc/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)

2. JSON Modu & Katı Biçimlendirme

JSON modu modelin geçerli JSON çıkış yapmasını zorlar ancak her köşe durumunda mükemmel şema uyumunu garanti etmez. Yanıt formatını json_object, model sözdizimsel geçerliliği, sıkı tür zorlamadan önce tutar. Şemanız aşırı karmaşıksa model, yapıyı geçerli tutmak için alanları uydurabilir veya isteğe bağlı olanları atlayabilir. Çıktıyı sıkı bir tür olarak ayrıştırmadan önce her zaman kendi tarafınızda doğrulayın. Bu, JSON değerleri içindeki içerikle yaratıcı özgürlükler kullanabilecek uncensored modeller için özellikle doğrudur.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.chatgptunrestricted.cc/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);

3. Kısmi Akış (Streaming) Yanıtları

Streaming, tokenları üretildikleri anda almanızı sağlar, büyük yanıtlar için algılanan gecikmeyi azaltır. Veri kaybı veya ayrıştırma hatalarından kaçınmak için Sunucu Tarafı Olayları (SSE) akışını doğru şekilde yönetmelisiniz. Her parça kısmi bir token içerir ve son parça, istek için toplam token kullanımını içerir. Erken bağlantıyı keserseniz, son kullanım verisini kaybedersiniz ve sunucuyu tutarsız bir durumda bırakabilirsiniz. Yapılandırılmış veri akışı yapıyorsanız, istemcinizin eksik JSON parçalarını işleyebildiğinden emin olun.

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)

4. Araç Seçimi & Fonksiyon Çağırma Hataları

Fonksiyon çağırma, modelin kullanıcı girdisini belirli bir araca eşleyememesi durumunda sık şema tanımları gerektirir ve genellikle başarısız olur. Belirterse tool_choice, model uygun olmadığı durumda bile bir araç çağrısı yapmaya zorlanabilir; bu da boş veya alakasız argümanlara yol açar. Araç tanımlarınızı basit ve açık şekilde yazdığınızdan emin olun. Model standart OpenAI-uyumlu araç formatlarını destekler, bu nedenle mevcut SDK'ları kullanabilirsiniz. Ancak, araca geçirilen argümanların beklenen türlerle tam olarak eşleştiğini her zaman doğrulayın.

curl https://api.chatgptunrestricted.cc/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 architecture"}]
  }'

5. Sıcaklık & Yaratıcılık Ayarları

Sıcaklığın ayarlanması, modelin token seçme şeklini değiştirir, bu da çıktının rastgeleliğini etkiler. Daha yüksek bir sıcaklık daha yaratıcı ve çeşitli yanıtlara yol açarken, daha düşük bir sıcaklık çıktıyı daha belirgin ve odaklı hale getirir. Modeli kod üretimi veya gerçek veri alma için kullanıyorsanız, halüsinasyonlardan kaçınmak için sıcaklığı düşük tutun. Yaratıcı yazım veya beyin fırtınası için, daha çeşitli fikirler keşfetmek üzere sıcaklığı artırın. Deney yapın top_p nükleer örnekleme (nucleus sampling) kontrolü için ve çıktı kalitesini daha da iyileştirmek için.

from openai import OpenAI

client = OpenAI(base_url="https://api.chatgptunrestricted.cc/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)

6. Büyük Payload'ların İşlenmesi

Büyük yükler 8 MB istek gövdesi sınırını aşabilir ve API çağrılarınızın sessizce başarısız olmasına veya 413 hatasına neden olmasına yol açabilir. Uzun konuşma geçmişleri gönderiyorsanız, daha eski mesajları kısaltmayı veya göndermeden önce özetlemeyi düşünün. Model 100.000 tokenı işleyebilir, ancak JSON yükünün fiziksel boyutu da önemlidir. İstemci kitaplığınızın veriyi verimli şekilde sıkıştırıp sıkıştırmadığından veya biçimlendirdiğinden emin olun. Başarısız denemelerde kredi harcamamak için her zaman istek yapmadan önce içerik uzunluğunu kontrol edin.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.chatgptunrestricted.cc/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);

7. Hız Sınırı Daraltma

Rate limitleri API anahtarları bazında uygulanır; dakikada maksimum 300 istek ve eş zamanlı 8 istek ile sınırlıdır. Bu limitleri aşarsanız 429 hatası alırsınız. Yenileme işlemlerini zarifçe yönetmek için istemcinizde üstel geri çekilme (exponential backoff) uygulayın. Trafik dalgalanmaları eş zamanlılık limitinizi hızla tüketebilir, bu nedenle mümkünse istekleri zaman içinde dağıtın. Kullanımınızı izlemek ve eş zamanlılık ayarlarınızı buna göre ayarlamak, performanstan ödün vermeden limitler içinde kalmanıza yardımcı olur. Bu, üretim ortamlarında sorunsuz bir kullanıcı deneyimi sağlamak için kritiktir.

curl https://api.chatgptunrestricted.cc/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 architecture"}]
  }'

8. Token Sayma Tutarsızlıkları

Farklı tokenizasyonlar tokenları farklı şekilde sayabilir, bu da yerel sayımınız ile API'nin sayımı arasında tutarsızlıklara yol açabilir. Hassas muhasebe için her zaman modelle aynı tokenizasyonu kullanın. API, işlenen gerçek tokenlara göre ücretlendirme yapar, bu nedenle bu farkı anlamak maliyetleri doğru bir şekilde tahmin etmenize yardımcı olur. Önemli sapmalar fark ederseniz, tokenizasyon uygulamanızı gözden geçirin. Bu, farklı tokenizasyon stratejileri kullanabilecek üçüncü taraf kütüphanelerle entegrasyon sırasında özellikle önemlidir.

from openai import OpenAI

client = OpenAI(base_url="https://api.chatgptunrestricted.cc/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)

Sıkça sorulan sorular

Standart seçeneklere kıyasla sınırsız bir AI modeli kullanmanın temel avantajı nedir?

Genellikle bir kısıtlama olmayan AI modeli, yasal yetişkin, yaratıcı veya tartışmalı konularda reddetme eğiliminde değildir ve belirli kullanım durumları için daha fazla özgürlük sağlar. Geliştiricilerin, kurumsal güvenlik filtrelerinin kısıtlamaları olmadan içerik oluşturmasına olanak tanır; bu da niş veya cesur uygulamalar için idealdir.

Akış kullanırken JSON ayrıştırma hatalarını nasıl yönetebilirim?

Akış, kısmi veri gönderir, bu nedenle akış tamamlanana kadar parçaları arabelleğe almanız veya istemciniz destekliyorsa artımlı olarak ayrıştırmanız gerekir. Her zaman geçerli JSON yapısını uygulamada kullanmadan önce doğrulayın. Hatalar oluşursa, model'in çıktısındaki JSON sözdizimini bozabilecek herhangi bir ek metri için kontrol edin.

Bu API'yi mevcut araçlarla fonksiyon çağrısı için kullanabilir miyim?

Evet, API standart OpenAI uyumlu işlev çağrısını destekler. İsteğinizde araçları tanımlayabilir ve bağlam bunu önerirse model bunları çağırmaya çalışır. Araç şemalarınızın net olduğundan ve beklenen argüman türleriyle eşleştiğinden emin olun.

16.000 token çıktı limitini aşarsam ne olur?

Tamamlama için 16.000 token'ın üzerine istekte bulunursanız model, bu sınıra ulaştığında üretimi durdurur. Daha uzun yanıtlar almak için sonraki isteklerde üretimi devam ettirecek bir strateji uygulamanız veya isteminizi daha özlü hale getirmeniz gerekebilir.

API anahtarınızı açın

Kaydol, anahtarı al ve istemcini yeni temel URL'ye yönlendir. Yapman gereken tek şey bu.

API anahtarı al