Temel URL ve Kimlik Doğrulama
Şuna bağlan openai uyumlu API istemci yapılandırmanızı https://api.openaicompatibleapiendpoints.com/v1. Geçerli bir API anahtarına Authorization üstbilgiyi Bearer token olarak kullanın. Bu kurulum, resmi OpenAI SDK'ları ve uyumlu herhangi bir istemci kütüphanesi ile çalışır. Karmaşık bir ağ geçidi yapılandırmasına gerek yoktur.
curl https://api.openaicompatibleapiendpoints.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Return 500 status code"}]
}'Her istek, benzersiz anahtarınızı içermelidir. Anahtar eksikse veya geçersizse sunucu hemen 401 hatası döndürür. Bu, çağrılarınızın yönlendirme gecikmeleri olmadan doğru açık uçlu LLM'e ulaşmasını sağlar.
Sohbet Tamamlamaları Uç Noktası
Şuraya mesaj gönderin POST /v1/chat/completions sansürsüz modelden metin yanıtları almak için uç nokta. Model kimliği kesinlikle uncensored model. Bu uç nokta standart konuşma dönüşlerini işler ve 100.000 token'lık bir bağlam penceresini destekler. İstek başına maksimum 16.000 token çıkış ayarlayabilirsiniz. Model, yasal yetişkin konular için içerik reddetmeleri olmadan yanıt verir.
from openai import OpenAI
client = OpenAI(base_url="https://api.openaicompatibleapiendpoints.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)Standart messages dizi formatı. API, tanımadığı ek alanları yok sayar, bu da geçişi kolaylaştırır. Yalnızca model tarafından gerçekten tüketilen token'lar için ödeme yaparsınız.
Akış Yanıtları
Şu ayarlayarak gerçek zamanlı belirteç iletimi etkinleştirin stream: true istekinizde. Sunucu, yanıt tamamlanana kadar bir dizi Sunucu Gönderilen Olay (SSE) gönderir. Token kullanım istatistikleri, akışın son parçasında görünür. Bu, uzun yanıtlar için bekleyen kullanıcılar için algılanan gecikmeyi azaltı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)Gelen tokenları istemci tarafında arabelleğe alın ve tam metni yeniden oluşturun. Akış sırasında hatalar nadirdir ancak son olaydaki hata kodunu kontrol ederek işlenmelidir. Bağlam sınırı veya maksimum tokenlara ulaşıldığında akış otomatik olarak durur.
JSON Modu ve Araçlar
response_format'ı ayarlayarak yapılandırılmış çıktı zorlayın response_format için {"type": "json_object"}. Bu, modelin markdown metni yerine geçerli JSON döndürmesini sağlar. Ayrıca tools fonksiyon çağırma için parametre. API şunu destekler tool_choice modelin çağırdığı işlevlere hassas kontrol için.
Kullan temperature ve top_p rastgeleliği ayarlayın. Ayarlayın seed hata ayıklama sırasında tekrarlanabilir sonuçlar için. Bu parametreler, standart OpenAI-uyumlu entegrasyonlarda beklendiği gibi çalışır.
Hata Yönetimi ve Sınırlamalar
İstemci tarafı hatalarını zarifçe yönetmek için standart HTTP hatalarını yönetin. 401 durumu, API anahtarınızın geçersiz olduğunu gösterir. 402 durumu, ön ödemeli kredinizin tükendiğini belirtir. 429 hatası, dakikada 300 isteğe ulaştığınızı işaret eder.
Her anahtar sekiz eşzamanlı istek yapmanıza olanak tanır. İstek gövdesi 8 MB ile sınırlandırılmıştır. Kullanılan kredi için iade yapılmaz, ancak işleme sırasında oluşan hatalar ücretsizdir. Her zaman kontrol edin error JSON yanıtındaki nesne, ayrıntılar için.
Bağlam Penceresi ve Model Detayları
Model, hem istem hem de tamamlama için birlikte 100.000 token'lık bir bağlam penceresi destekler. Bu, uzun belgeler veya genişletilmiş konuşmalar için derin bağlam koruması sağlar. max_tokens belirtmezseniz varsayılan maksimum çıktı 2.048 token'dır. max_tokens. Bu değeri istek başına 16,000 belirtece kadar artırabilirsiniz.
Model GPT, Claude veya başka bir satıcının modeli değildir. Açık ağırlıklı bir modeldir ve sansürsüz yanıtlar için ayarlanmıştır. İstemlerinizden gelen veri eğitim için kullanılmaz. Bu, özel verileriniz için gizliliği sağlar.
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.openaicompatibleapiendpoints.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);