OpenAI SDK Uyumluluğu
Mevcut bir OpenAI uyumlu entegrasyonu tAI'ye yönlendirirseniz neyin değişmeden çalıştığı ve neyin çalışmadığı; böylece hiçbir şeyin deneme yanılma yoluyla keşfedilmesi gerekmez.
Kısacası
İki değeri değiştirin: base_url'i https://api.artfical.com/v1 yapın ve api_key'i bir tAI anahtarı yapın; temel istek/yanıt döngüsü, sohbet tamamlamaları, streaming, araç çağrısı, görsel girişi, OpenAI'nin kendi API'sine karşı çalıştığı gibi aynı şekilde çalışır. Bu sayfa, bire bir taşınmayan kısımlar için var; böylece bir geçiş, boşlukları her seferinde bir başarısız istekle keşfetmeye dayanmaz.
# Before client = OpenAI(api_key="sk-...") # After client = OpenAI(base_url="https://api.artfical.com/v1", api_key="tai-sk-...")
Olduğu gibi çalışır
| Özellik | Notlar |
|---|---|
| Sohbet tamamlamaları | Aynı istek ve yanıt yapısı. Bkz. Sohbet Tamamlamaları. |
| Streaming | Son bir usage-only chunk dahil, aynı SSE chunk yapısı. Bkz. Aktarım. |
| Araç / fonksiyon çağrısı | Aynı tools ve tool_calls yapısı. tAI araçları hiçbir zaman kendisi çalıştırmaz; bunun bazı diğer ajan odaklı API'lerden neden farklı olduğu için bkz. Araç Çağrısı. |
| Görsel girişi | Aynı image_url içerik parçası yapısı, base64 veri URI'leri. Hangi modellerin bunu kabul ettiği için bkz. Görseller. |
temperature, top_p, presence_penalty, frequency_penalty, seed, stop | Aynı isimler, aynı kabul edilen aralıklar. Bkz. Örnekleme Parametreleri. |
| Hata zarfı (error envelope) | Aynı {"error": {"message", "type"}} yapısı. Bkz. Hatalar. |
GET /v1/models | Aynı liste zarfı, ancak her model girdisindeki alan kümesi OpenAI'nin kendisininkinden daha küçüktür. Bkz. Modeller. |
Şu anda desteklenmeyenler
| Özellik | Gönderirseniz ne olur |
|---|---|
n (birden çok tamamlama) | Yok sayılır. choices her zaman tam olarak bir girdi içerir. |
logprobs / top_logprobs | Yok sayılır. Herhangi bir log-probability verisi döndürülmez. |
response_format (JSON modu / yapılandırılmış çıktılar) | Yok sayılır. Güvenilir şekilde yapılandırılmış bir çıktıya ihtiyacınız varsa, daha taşınabilir yaklaşım, modele promptun kendisinde belirli bir biçimde (JSON, sabit bir şablon) yanıt vermesini söylemek ve ortaya çıkan metni ayrıştırmaktır. |
| Embedding, ses, görsel üretim endpoint'leri | Uygulanmadı. tAI'nin API yüzeyi yalnızca sohbet tamamlamaları ve model listelemedir; eksiksiz endpoint listesi için API genel bakışına bakın. |
| Fine-tuning, batch ve dosya yükleme endpoint'leri | Uygulanmadı. |
| Organizasyon / proje kapsamlı anahtarlar | Uygulanabilir değil. Bir tAI anahtarı tek bir çalışma alanıyla sınırlıdır; bkz. Kimlik Doğrulama. |
Desteklenmeyen alanların hiçbiri bir isteğin doğrudan başarısız olmasına neden olmaz; bir 400 tetiklemek yerine kabul edilir ve sessizce yok sayılır. Bu, alışkanlıktan dolayı zaten varsayılan değer olsa bile her zaman n: 1 gönderen mevcut bir istemciyi bozmamak için bilinçli bir tercihtir; buradaki risk, bir istemcinin gerçekten desteklenmeyen bir özelliğin (üç gerçek aday tamamlama için n: 3 gibi) çalıştığını varsayması ama sessizce çalışmamasıdır; bu yüzden hiçbir hata alınmadığına güvenmek yerine yanıt yapısını açıkça kontrol etmeye değer.
Model adları taşınmaz
Mevcut bir entegrasyonun model dizesinin ("gpt-4o", "gpt-4.1-mini" veya benzeri), tAI'nin kendi model ID'lerinden birine (tai-4.0.6P, tai-4.0.6B, tai-4.0.7, tai-4.1, tai-4.2) değiştirilmesi gerekir; her birinin ne için konumlandırıldığı için Modeller sayfasına bakın. Başka bir sağlayıcının model adlarından tAI'ninkilere otomatik bir eşleme yoktur, çünkü iki katalog, yetenek veya isimlendirme açısından bire bir örtüşmez.
Geçişten sonra kontrol etmeye değer noktalar
Bir hataya yol açmayan ama ilk denemede fark edilmeden yanlış yapılması kolay birkaç şey: base_url'in /v1 sonekini içerdiğinden emin olun (bu olmadan yalın bir https://api.artfical.com, istekleri doğru şekilde çözümlemez), API anahtarının tai-sk- önekine sahip olduğundan ve entegrasyonun daha önce yönlendirildiği yerden kalma bir anahtar olmadığından emin olun; ve entegrasyon yukarıda listelenen desteklenmeyen alanlardan herhangi birinin gerçek bir etki üretmesine dayanıyorsa, eşdeğerlik varsaymak yerine bu boşluğu açıkça planlayın.