OpenAI uyumlu uç nokta
Temel URL'i değiştir, API anahtarını takas et, model alanını persona kimliğine yap. OpenAI SDK çalışır — akış (streaming), araç çağrısı (tool calling) ve fonksiyon çağrısı değişmeden geçer.
Mevcut bir uygulamanın OpenAI SDK'sı üzerinden çalışıyor olabilir. Moonborn'a geçmek için yeni bir istemci kütüphanesi öğrenmen gerekmez — https://api.moonborn.co/v1/openai adresindeki uyum katmanı (shim), OpenAI şeklindeki istekleri kabul eder ve OpenAI şeklindeki yanıtları döner.
Tek fark: model alanı gpt-4 yerine bir persona kimliği taşır. Geri kalan — akış, araç çağrıları, fonksiyon çağrısı — aynı kalır.
Bu sayfayı bitirdiğinde
- Mevcut OpenAI SDK kodunu 3 satır değişiklikle Moonborn'a yönlendirebileceksin.
- Uyum katmanının neyi desteklediğini ve neyi desteklemediğini (görsel, vektör, ses) bileceksin.
model: 'persona://<id>'biçimini ve drift zarfınınx-moonborn-*başlıklarında nasıl döndüğünü göreceksin.- Geçiş için kontrol listesini uygulayabileceksin.
Ön koşul: Mevcut bir OpenAI SDK entegrasyonu + Moonborn API anahtarı.
3 satırlık geçiş
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.MOONBORN_API_KEY, // ① OPENAI_API_KEY → MOONBORN_API_KEY
baseURL: 'https://api.moonborn.co/v1/openai', // ② Temel URL'i değiştir
});
const response = await client.chat.completions.create({
model: 'persona://per_mert_01H...', // ③ model → persona kimliği
messages: [{ role: 'user', content: 'Beni tetikleyen şey ne?' }],
});
console.log(response.choices[0].message.content);Python SDK'da aynı desen (openai.api_base = "https://api.moonborn.co/v1/openai"); curl ile de aynı çağrı şekli.
Desteklenenler
| Uç nokta | Davranış |
|---|---|
POST /v1/openai/chat/completions | Akış + akışsız; persona kapsamlı sohbet çalışma zamanına yönlendirir |
GET /v1/openai/models | Çalışma alanı persona'larını OpenAI model listesi biçiminde döner |
POST /v1/openai/chat/completions (araç çağrıları) | OpenAI araç çağrısı belirtimi — tool_choice, tool_call_id, vb. |
Akış SSE olay şekli OpenAI'la bire bir aynıdır (data: {"choices":[{"delta":{"content":"..."}}]}). Mevcut akış ayrıştırıcın (parser) değişmez.
Drift zarfı — x-moonborn-* başlıkları
OpenAI yanıt gövdesinde drift skoru yoktur (uyumluluk için). Moonborn'a özgü üstveri (metadata) yanıt başlıklarındadır:
x-moonborn-drift-score: 0.12
x-moonborn-drift-threshold: 0.30
x-moonborn-drift-alert: false
x-moonborn-audit-id: aud_01H...
x-moonborn-persona-id: per_mert_01H...
x-moonborn-session-id: ses_01H...OpenAI SDK'leri bu başlıkları görmezden gelir. İstersen yanıttan ayrıştırabilirsin:
const completion = await client.chat.completions.create({...});
const driftScore = parseFloat(completion._response?.headers.get('x-moonborn-drift-score') ?? '0');
const driftAlert = completion._response?.headers.get('x-moonborn-drift-alert') === 'true';persona:// model URL'i
model alanı iki biçimden biri olabilir:
persona://<id>— çalışma alanında tanımlı persona'yı kullanpersona://<id>?version=<n>— persona'nın belirli bir sürümünü kullan (lineage'tan)
// En güncel sürüm
model: 'persona://per_mert_01H...'
// Belirli sürüm (geri alma — rollback — senaryosu)
model: 'persona://per_mert_01H...?version=3'Geçiş kontrol listesi
OPENAI_API_KEY'iMOONBORN_API_KEYile değiştir. Ortam değişkeni adı farklı; SDK'nınapiKeyparametresi aynı.- Temel URL'i değiştir —
https://api.moonborn.co/v1/openai. - Model kimliklerini persona kimliklerine çevir —
'gpt-4'→'persona://per_...'. Eşleme tablonu uygulama yapılandırmasına koy. - Sandbox (kum havuzu) çalışma alanında test et —
sk_test_*API anahtarları üretime değil sandbox'a düşer. - Drift zarfını arayüze (isteğe bağlı) bağla —
x-moonborn-drift-alerttrue ise satır-içi uyarı. - Üretime yayınla.
Uyum katmanının kapsamadığı yüzeyler
Sık karşılaşılan hatalar
model: 'gpt-4' ile çağrı yaparsam?
Moonborn uyum katmanı 400 Bad Request döner, "model must start with persona://" mesajı. OpenAI varsayılan model adlarını uyum katmanı kabul etmez.
Persona kimliği bulunamadı
404 Not Found — persona çalışma alanında yoktur veya API anahtarın yanlış çalışma alanına bağlıdır. MOONBORN_API_KEY ortam değişkeninin doğru çalışma alanını hedeflediğinden emin ol.
Hız limiti aşıldı
Uyum katmanı Moonborn çalışma alanı hız limitlerini devralır (OpenAI'la aynı başlıklar): x-ratelimit-limit-requests, x-ratelimit-remaining-requests, x-ratelimit-reset-requests. Üretimde devre kesici (circuit breaker) + geri çekilme (backoff) kur.
Plan gereksinimi
Her plan. Uyum katmanı uç noktası çalışma alanı planının hız limitini devralır — Planlar.
Dürüst kapsam
İlgili
Mevcut OpenAI uygulamasını Moonborn'a taşıma — uçtan uca eğitim.
Claude Desktop / Cursor / agent çatıları için Moonborn entegrasyonu.
SSE olay şekli ve iptal akışı (uyum katmanında da geçerli).
Yerel Moonborn sohbet API'si — drift zarfı gövdede.