Sohbet tamamlamaları
Açık kontrollerle OpenAI uyumlu sohbet istekleri gönderin.
Tanıdık bir istek şekli, sunucu tarafı anahtarları, kullanım izleme ve güvenli yeniden deneme davranışıyla asistanlar, yardımcı pilotlar ve dahili araçlar için sohbet iş akışları çalıştırın.
Son güncelleme: July 12, 2026. Examples kullanım safe placeholders ve yap değil içerir real API anahtarıs, gizli bilgiler, veya customer veri.
Varsayılan yol
Önce akış dışı istekleri kullanın. Tam bir chat.completion yanıtı döndürürler ve müşteriye yönelik trafik artmadan önce doğrulanmaları daha kolaydır.
Uygulama yolu
Anahtardan yanıta dört adım.
İlk entegrasyonu küçük tutun: arka uçtan kimlik doğrulaması yapın, minimum mesaj dizisi gönderin, yanıtı ayrıştırın, ardından yeniden deneme ve hız sınırı işlemeyi ekleyin.
Step 1
Sunucu tarafı kimlik doğrulaması
Kapsamlı bir API anahtarını sunucu tarafı ortam değişkeninden okuyun ve bunu Taşıyıcı belirteci olarak gönderin.
Bölümü açStep 2
Sohbet isteği gönder
Bir model dizesi ve bir mesaj dizisiyle OpenAI uyumlu bir veri yükleyin.
Bölümü açStep 3
Yanıtı ayrıştır
Asistan mesajı için seçenekler[0].message.content'i ve istek hesaplamasının kullanımını okuyun.
Bölümü açStep 4
Sınırları ve hataları ele alın
Geri alma ile geçici arızaları yeniden deneyin, ancak yeniden göndermeden önce kimlik doğrulama, yük, kapasite ve desteklenmeyen özellik hatalarını düzeltin.
Bölümü açUç nokta
Sohbet tamamlama rotasına JSON gönderin.
Uç nokta, OpenAI uyumlu /v1 yolunu izler. Kapsamlı bir Bearer jetonuyla güvenilir sunucu tarafı kodundan istek gönderin.
| Öğe | Değer | Notlar |
|---|---|---|
| Yöntem | POST | Sohbet tamamlama uç noktasına JSON gönderin. |
| Uç nokta | https://unlimitedcodex.com/v1/chat/completions | Diğer OpenAI uyumlu /v1 uç noktalarıyla aynı temel URL modelini kullanın. |
| Yetkilendirme | Hamiline ait jeton | Güvenilen sunucu tarafı kodundan sohbet:yazma kapsamıyla birlikte bir API anahtarı kullanın. |
| İçerik türü | uygulama/json | İstek gövdesi geçerli olmalıdır: JSON. |
Akış dışı istek
Tam bir yanıtla başlayın.
Akış dışı istekler en güvenli ilk yoldur çünkü istemciniz tüm yanıt nesnesini, durumu, başlıkları ve kullanımı tek bir yerden alır.
API anahtarını process.env'de veya gizli bir yöneticide saklayın.
Kullanım a short system instruction ve a minimal user mesaj gönder.
Kullanıcı arayüzü veya maliyet bütçesi bir tavana ihtiyaç duyduğunda max_tokens'ı ayarlayın.
Talep, belirteç ve maliyet izlemenin doğru kalabilmesi için kullanımı ayrıştırın.
const response = await fetch("https://unlimitedcodex.com/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.UCX_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "gpt-5.5",
messages: [
{ role: "system", content: "You write concise operational summaries." },
{ role: "user", content: "Summarize the release checklist in three bullets." }
],
temperature: 0.2,
max_tokens: 180
})
});
const body = await response.json();
if (!response.ok) {
throw new Error(body.error?.code ?? "chat_request_failed");
}
console.log(body.choices[0].message.content);
console.log(body.usage);İstek ve yanıt şekli
Tanıdık sohbet alanlarını ve kullanım hesaplamasını kullanın.
Gerekli şekil küçüktür: bir model dizesi ve en az bir mesaj. İsteğe bağlı alanlar çıktı davranışını veya oran sınırı planlamasını sıkılaştırabilir.
| Alan | Durum | Notlar |
|---|---|---|
| modeli | Önerilen | Hedef model değerini açıkça iletin. Teslim edilen kurulum dosyalarınızda listelenen gpt-5.5 veya ChatGPT 5.5 Ultra ve Codex model değerlerini kullanın. |
| mesajlar | Gerekli | Sistem, kullanıcı, asistan veya araç mesajları dizisi. Yalnızca görev için gereken bağlamı ekleyin. |
| sıcaklık | İsteğe bağlı | İş akışının daha fazla veya daha az değişiklik gerektirdiği durumlarda 0'dan 2'ye kadar bir sayı kullanın. |
| max_tokenlar | İsteğe bağlı | Kullanıcı deneyimi veya maliyet bütçesi öngörülebilir bir tavana ihtiyaç duyduğunda yanıt uzunluğunu sınırlayın. |
| akış | İsteğe bağlı | Atlayın veya mevcut desteklenen yol için false olarak ayarlayın. True değerini ayarlamadan önce aşağıdaki akış davranışına bakın. |
{
"id": "chatcmpl_example",
"object": "chat.completion",
"created": 1783372800,
"model": "gpt-5.5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "This is an unlimitedcodex chat completion response. Use the delivered setup files for available ChatGPT 5.5 Ultra and Codex model values."
},
"finish_reason": "stop"
}
],
"usage": {
"inputTokens": 24,
"outputTokens": 32,
"totalTokens": 56
}
}Akış davranışı
Akışı açık bir yetenek kontrolü olarak ele alın.
Bir akış isteğinin akış dışı bir istek gibi davranacağını varsaymayın. Yanıt kodunu dallandırın ve ürün onaylı bir geri dönüş yolunu koruyun.
{
"error": {
"message": "Streaming responses are not enabled for this endpoint.",
"type": "unsupported_feature",
"code": "streaming_not_enabled"
}
}| Mod | Ayar | Davranış | İstemci eylemi |
|---|---|---|---|
| Akış dışı | Akışı atla veya akışı ayarla: false | İstek kabul edildiğinde tam bir chat.completion nesnesi döndürür. | Bunu ilk entegrasyonlar ve müşteriye yönelik iş akışları için varsayılan yol olarak kullanın. |
| Akış | akış: doğru | Geçerli uç nokta 501stream_not_enabled değerini döndürür. | Yalnızca kullanıcı deneyimi kabul edilebilir olduğunda yayın dışı moda geri dönün. |
Model yönlendirme notları
Trafik artmadan önce model politikasını görünür hale getirin.
Model alanı, talep sözleşmesinin ve operasyonel kaydın bir parçasıdır. Bunu bilinçli olarak sürdürün ve lansman hacminde değişiklik yapmadan önce politikayı gözden geçirin.
Modeli açık tutun
Kullanım günlüklerinin, kullanım analizinin ve destek yükseltmenin istikrarlı bir politika sinyaline sahip olması için her istekte bir model değeri gönderin.
Sessiz bir geri dönüş varsaymayın
Model geri dönüş davranışını yapılandırılmış bir ürün kararı olarak değerlendirin. Üretim modeli adlarını değiştirmeden önce politikayı inceleyin.
Yalnızca güvenli tanımlayıcıları günlüğe kaydet
Uç noktayı, durumu, modeli, kullanımı ve maskelenmiş anahtar önekini yakalayın. Ham istemleri, API anahtarlarını veya müşteri verilerini günlüğe kaydetmeyin.
Güvenli yeniden denemeler
Yalnızca kurtarılabilecek işleri yeniden deneyin.
Yeniden denemeler, geçici baskı ve hizmet arızalarına yardımcı olur. Hiçbir şey değişmediğinde kapasite, yük ve faturalandırma sorunlarını artırabilirler.
Geçici arızaları yeniden deneyin
408, 500, 502, 503, 504 ve kısa 429 oranlı basınç
Titreşimle sınırlı üstel geri çekilmeyi kullanın. Yanıt bunu içerdiğinde Yeniden Deneme-Sonra'ya saygı gösterin.
Değiştirilmemiş veri yüklerini yeniden denemeyin
400, 401, 402, 403, 501 ve kapasite basıncı
Aynı işi tekrar göndermeden önce yükü, anahtarı, fatura durumunu, kapsamı, desteklenmeyen seçeneği veya paket kapasitesini düzeltin.
Yeniden denemeleri gizli dizilere görünmez tutun
Tüm istemci uygulamaları
Günlüğe kaydedilen ham yükü değil, istek işlevini yeniden deneyin. Yetkilendirme başlıklarını ve müşteri içeriğini tanılamadan çıkarın.
async function runWithChatRetries(runRequest) {
for (let attempt = 0; attempt < 3; attempt += 1) {
const response = await runRequest();
if (response.ok) {
return response;
}
const body = await response.clone().json().catch(() => ({}));
const code = body.error?.code;
const retryable =
[408, 500, 502, 503, 504].includes(response.status) ||
(response.status === 429 && code === "rate_limit_exceeded");
if (!retryable) {
return response;
}
const retryAfter = Number(response.headers.get("retry-after") ?? 0);
const backoffMs = retryAfter > 0 ? retryAfter * 1000 : 500 * 2 ** attempt;
const jitterMs = Math.floor(Math.random() * 150);
await new Promise((resolve) => setTimeout(resolve, backoffMs + jitterMs));
}
return runRequest();
}Kontrol listesini başlat
Kullanıcılar buna güvenmeden önce entegrasyonu kontrol edin.
Başlatmaya hazır bir sohbet iş akışının başarılı bir istekten daha fazlasına ihtiyacı vardır. Patlama yarıçapı hala küçükken anahtarları, sınırları, hataları, günlükleri ve geri çekilme davranışını doğrulayın.
Geliştirme, hazırlama ve üretim için ayrı anahtarlar kullanın.
Sohbeti onaylayın: kapsamı ve sunucu tarafı ortam depolamasını yazın.
Streaming_not_enabled'ın engellenmesi mi yoksa geri çekilmesi mi gerektiğine karar verin.
İstek sayısını, giriş jetonlarını, çıkış jetonlarını, oran durumunu ve durum kodlarını izleyin.
Günlüklerden istemleri, Yetkilendirme başlıklarını, ham anahtarları ve müşteri verilerini düzenleyin.
Genel hata metni yerine eylemleri yeniden denemek, desteklemek veya yükseltmek için kullanıcı arayüzü hatalarını bağlayın.
SSS
Sohbet tamamlama soruları.
Sohbet tamamlama uç noktası OpenAI uyumlu mu?
Evet. Uç nokta tanıdık /v1/chat/completions yolunu, Taşıyıcı kimlik doğrulamasını, mesaj dizisini, chat.completion yanıt nesnesini, seçenekleri ve kullanım alanlarını kullanır.
Müşteriye yönelik trafik için akışı kullanmalı mıyım?
Entegrasyonunuz akış desteğini onaylamadığı sürece akış dışı istekleri kullanın. Akış doğru olduğunda geçerli uç nokta 501stream_not_enabled değerini döndürür.
Hata ayıklama için neyi günlüğe kaydetmeliyim?
Uç noktayı, durumu, hata kodunu, modeli, kullanımı, zaman damgasını, ortamı ve maskelenmiş anahtar önekini günlüğe kaydedin. Ham API anahtarlarını, gizli dizileri, tam istemleri veya müşteri verilerini günlüğe kaydetmeyin.
Müşterim bir sohbet isteğini ne zaman yeniden denemelidir?
Geçici 408, oran basıncı 429 ve sınırlı geri çekilme ile 5xx yanıtlarını yeniden deneyin. Kimlik doğrulamayı, veriyi, faturalamayı, kapasiteyi veya desteklenmeyen özellik hatalarını değiştirmeden yeniden denemeyin.
Ücretsiz araçlar
Sohbet isteklerini oluşturun ve doğrulayın
İlk canlı çağrınızdan önce parçacıklar oluşturun, JSON doğrulayın, belirteçleri tahmin edin ve OpenAI geçişini planlayın.
Oluşturucu İste
Sohbet tamamlamayı JSON görsel olarak oluşturun ve cURL, JavaScript veya Python parçacıklarını dışa aktarın.
Doğrulayıcı Talep Et
Sohbet, yerleştirmeler ve resim JSON verilerini unlimitedcodex OpenAI uyumlu kurallara göre doğrulayın.
Token Tahmincisi
Kota planlaması ve lansmanından önce bilgi istemi veya yanıt metninden belirteç hacmini tahmin edin.
Geçiş Oluşturucu
OpenAI SDK parçacıklarını unlimitedcodex tabanına URL, anahtarlara ve kapsamlara oluşturun veya dönüştürün.
Sonraki adım
Sohbet tamamlamalarını kimlik doğrulama, sınırlar ve hata işlemeyle eşleştirin.
Lansmandan önce anahtarların kapsamının belirlendiğinden, hız sınırı davranışının anlaşıldığından ve istemci yeniden denemelerinin geçici baskıyı gerekli düzeltmelerden ayırdığından emin olun.