Kimlik Doğrulama
Kimlik doğrulama, tek bir API anahtarı aracılığıyla yapılır. API anahtarını al sayfasından Google veya e-posta şifresi ile kayıt olabilirsiniz. Anahtar hemen gösterilir ve ön ödemeli kredinizle ilişkilidir. Büyük sağlayıcıların aksine, deneme süresi için aylık abonelik veya kredi kartı gerekmez. Tüm isteklerde Authorization: Bearer YOUR_API_KEY başlığını kullanın. Hesabınızda aktif olan tek kimlik bilgisi anahtarınızdır; yeni bir anahtar oluşturmak öncekini geçersiz kılar.
Temel Tamamlama
OpenAI uyumlu uç noktaya standart bir sohbet tamamlama isteği gönderin. Model tanımlayıcısı uncensored şeklindedir. Bu model açık ağırlıklıdır ve yasal yetişkin kullanım için içerik reddi olmadan yanıt verecek şekilde ayarlanmıştır. GPT, Claude veya başka bir satıcının modeli değildir. Bu hizmet için temel URL aşağıda sağlanmıştır.
curl https://api.ornith.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'YOUR_API_KEY yerine kontrol panelinizden aldığınız anahtarı yazın. Yanıt, oluşturulan metni choices[0].message.content içinde içerir. 401 gibi hatalar geçersiz bir anahtarı gösterir, 402 ise ön ödemeli kredinizin tükendiğini belirtir.
Python SDK
Resmi openai Python paketini kullanın. Bunu Ornith temel URL'sine yönlendirin ve API anahtarınızı sağlayın. Bu, standart OpenAI istemci yapısıyla uyumluluğu sağlar. Mesajları role ve content içeren bir sözlük yapısı listesi olarak iletebilirsiniz. İstemci HTTP isteklerini otomatik olarak yönetir. Bu yaklaşım basit metin üretimi ve araçlar veya JSON modu kullanan daha karmaşık etkileşimler için çalışır.
from openai import OpenAI
client = OpenAI(base_url="https://api.ornith.top/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)Yanıt nesnesi standart OpenAI yapısını yansıtır. Oluşturulan metne yanıt nesnesinden doğrudan erişebilirsiniz. Bu yöntem, model çıktısına programatik erişim gerektiğinde arka uç hizmetleri veya betikler için idealdir.
Node SDK
openai npm paketini yükleyin. İstemciyi Ornith temel URL'si ve API anahtarınızla başlatın. İsteğin yapısı Python SDK'sıyla aynıdır. chat.completions.create yöntemini kullanın. Bu, bir web arka ucu veya CLI aracı oluşturup oluşturmadığınızdan bağımsız olarak JavaScript ortamları için uygundur. İstemci, yanıtın serileştirilmesini ve serileştirilmemesini yönetir.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ornith.top/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);Hataları uygun şekilde işleyin. Ağ hataları veya API hataları istisna fırlatır. Kimlik doğrulama hataları, hız limitleri veya sunucu hataları arasında ayrım yapmak için durum kodunu kontrol edin. Yanıt, Python SDK ile aynı formatta tamamlama ayrıntılarını içerir.
Akışlı Yanıtlar
İsteğinizde stream: true ayarlayarak akışı etkinleştirin. Bu, oluşturuldukları gibi token akışı döndürür. Gerçek zamanlı UI güncellemeleri veya aşamalı metin gösterimi için kullanın. Akış, toplam token kullanımını içeren son bir parça ile biter. Bu, tam yanıtı beklemeden maliyetleri gerçek zamanlı olarak izlemenizi sağlar. İlerleme göstermek istediğiniz uzun bağlamlar için verimlidir.
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)Her parçayı işlemek için akış üzerinde yineleme yapın. Son parça usage alanını içerir. Bu, faturalama şeffaflığı için kullanışlıdır. Büyük yanıtlarla bellek sorunlarını önlemek için istemcinizin akışı doğru şekilde işlediğinden emin olun.
Sınırlamalar, Hatalar ve Bağlam
Bağlam penceresi, istem ve tamamlama birlikte 100,000 token içindir. Her istek için maksimum çıktı 32,000 token'dır (max_tokens ayarlanmamışsa 2,048). Dakikada 300 istek ve ana başına 8 eşzamanlı istekle sınırlısınız. İstek gövdeleri 8 MB'ın altında olmalıdır. Hız limitini aşarsanız 429 hatası alırsınız. Küçük yaşla ilgili içerikler için reddetmeler kodlanmıştır ve her zaman geçerlidir. Hatalar krediden düşmez. Kredi ön ödemelidir ve süresi dolmaz.