Temel URL ve Kimlik Doğrulama
Unrestricted AI API https://api.unrestrictedai.top/v1 adresinde barındırılır. OpenAI sohbet tamamlama yapısını takip eder; bu nedenle mevcut OpenAI SDK'larını yalnızca base_url değerini güncelleyerek ve API anahtarınızı sağlayarak kullanabilirsiniz. Hesap başına yalnızca bir aktif anahtara ihtiyacınız vardır ve bu anahtar sansürsüz modele anında erişim sağlar. Kimlik doğrulama, Bearer şemasını kullanan Authorization başlığı aracılığıyla yapılır. Ön ödemeli kredi kullanımınızı kontrol ettiğinden emin olmak için anahtarınızı güvende tutun. Abonelik hizmetlerinin aksine, işlenen token'lar için ödersiniz; hatalar ve reddetmeler sıfır token olarak faturalandırılır.
İlk İsteğiniz
Bağlantıyı test etmek için standart bir sohbet tamamlama isteği gönderin. Model ID'si her zaman uncensored olarak kalır. Bu uç nokta metin girdisi kabul eder ve metin çıktısı döndürür; bağlam penceresinde 100.000 token'a kadar destekler. max_tokens belirtmezseniz API, 2.048 çıktı token'ına varsayılan olarak ayarlanır. Bu basit POST isteği temel işlevselliği gösterir: bir istem gönderme ve yasal yetişkin veya tartışmalı konular için içerik filtresi olmadan oluşturulmuş bir yanıt alma.
Python SDK Entegrasyonu
Resmi OpenAI Python kütüphanesini kullanmak entegrasyon için en hızlı yoldur. İstemciyi temel URL'nize yönlendirin ve anahtarınızı iletin. Aşağıdaki kod temel senkron bir isteği gösterir. Bu yaklaşım JSON ayrışmasını otomatik olarak yönetir; böylece yanıt içeriğine Python değişkenlerinizde doğrudan erişebilirsiniz. Akış gecikmesinden daha çok kod basitliğinin önemli olduğu arka uç hizmetleri veya toplu işleme için idealdir.
Node.js SDK Entegrasyonu
JavaScript ortamları için OpenAI Node.js istemcisini bizim uç noktamızı hedefleyecek şekilde yapılandırın. Node.js'nin eşzamansız yapısı, API'nin yanıt süresiyle iyi uyum sağlar. Temel URL'yi doğru ayarlayın; SDK istek biçimlendirmesini halledecektir. Bu API'nin görsel, ses veya gömme uç noktalarını desteklemediğini unutmayın, bu nedenle yalnızca metin tabanlı tamamlamaları kullanın. Bu yöntem, sansürsüz LLM yanıtlarını dinamik içeriğe enjekte etmeniz gereken web sunucuları veya kenar işlevleri için uygundur.
Akış Yanıtları
İsteğinizde stream: true ayarlayarak akışı etkinleştirin. API verileri Sunucu Tarafından Gönderilen Olaylar (SSE) aracılığıyla döndürür, böylece tokenları gerçek zamanlı olarak alabilirsiniz. Token kullanımı ve faturalandırma metrikleri, akışın son parçasında yer alır. Bu, özellikle uzun çıktılar için son kullanıcılar için algılanan gecikmeyi azaltır. Akış, anında metin işleme kullanıcı deneyimini iyileştiren sohbet arayüzleri için önerilir. Ön ödemeli kredinizi doğru takip etmek için toplam token sayılarını izlemek üzere son parçayı izleyin.
Sınırlamalar, Hatalar ve Bağlam
Her API anahtarı dakikada 300 istek ve 8 eşzamanlı istekle sınırlıdır. İstek gövdesi 8 MB'ı geçmemelidir. Yaygın hatalar arasında geçersiz anahtarlar için 401, ön ödemeli kredi tükendiğinde 402 ve hız limitleri için 429 yer alır. Bağlam penceresi, hem istem hem de tamamlama dahil olmak üzere toplam 100.000 tokenı destekler. Bu limitleri aşarsanız üstel geri çekilme uygulayın. Kredi süresi dolmaz ve çift yansıtma gibi hatalar Destek sayfası aracılığıyla çözülür, böylece ön ödemeli değerinizi süresiz olarak korursunuz.
cURL
curl https://api.unrestrictedai.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."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.unrestrictedai.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.unrestrictedai.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);Akış
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)