AI Sonar tek bir API anahtarıyla üç yerel API biçimini destekler. Kullanım durumunuza en uygun biçimi seçin — herhangi bir yapılandırma değişikliği gerekli değildir.
OpenAI Biçimi
/v1/chat/completions
Standart biçim, en geniş uyumluluk
Anthropic Biçimi
/v1/messages
Genişletilmiş düşünme, yerel Claude özellikleri
Gemini Biçimi
/v1beta/models/:model:generateContent
Google ekosistemi entegrasyonu
Mevcut OpenAI SDK entegrasyonları ve taşınabilir sohbet veya embedding akışları için bu uyumluluk yolunu kullanın. Claude veya Gemini yerel davranışı için aşağıdaki Anthropic veya Gemini biçimini kullanın.
from openai import OpenAIclient = OpenAI( api_key="sk-your-api-key", base_url="https://api.aisonar.dev/v1")# Portable chat works across many modelsresponse = client.chat.completions.create( model="claude-sonnet-4-6", # Claude via OpenAI format messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello!"} ])
Yerel Anthropic Messages API’si. Genişletilmiş düşünme gibi Claude’a özgü özellikler için gereklidir.
from anthropic import Anthropicclient = Anthropic( api_key="sk-your-api-key", base_url="https://api.aisonar.dev" # No /v1 suffix!)message = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, system="You are a helpful assistant.", # Separate system field messages=[ {"role": "user", "content": "Hello!"} ])
Gemini Files ve Cache: Yerel Gemini rotası /upload/v1beta/files, /v1beta/files, /v1beta/files:register ve /v1beta/cachedContents uç noktalarını destekler. Files, Gemini File API uyumlu upstream kanallarını kullanır; açık Cache kaynakları Vertex AI kanalları üzerinden de yönlendirilebilir. AI Sonar üzerinden oluşturulan kaynaklar sonraki generateContent çağrıları için aynı upstream kanal/key ile bağlı kalır.
Fonksiyon araçları, hedef rota desteklediğinde formatlar arasında dönüştürülebilir. Sağlayıcıya özgü yerel araçlar kendi yerel rotasında kalmalıdır:
OpenAI Responses barındırılan ve yerel araçları, örneğin tool_search, web_search, file_search, code_interpreter, MCP, shell/apply_patch ve computer-use araçları için /v1/responses gerekir.
Anthropic server/native araçları, örneğin web_search_*, web_fetch_*, code_execution_*, tool_search_*, bash, computer-use ve text-editor araçları için /v1/messages gerekir.
Gemini yerleşik araçları, örneğin googleSearch, codeExecution, urlContext, computerUse ve benzer tools alanları için /v1beta gerekir.
AI Sonar, yerel araç içeren bir isteği yerel formatı destekleyen upstream rotasına yönlendiremiyorsa aracı sessizce düşürmek veya Chat Completions fonksiyonu gibi göstermek yerine açık bir unsupported-field hatası döndürür. Kullanıcı tanımlı fonksiyon araçları en taşınabilir araç yolu olmaya devam eder.
# Before (OpenAI)client = OpenAI(api_key="sk-openai-key")# After (AI Sonar)client = OpenAI( api_key="sk-your-api-key", base_url="https://api.aisonar.dev/v1" # Add this line)# That's it! Same code works
# Before (Anthropic)client = Anthropic(api_key="sk-ant-key")# After (AI Sonar)client = Anthropic( api_key="sk-your-api-key", base_url="https://api.aisonar.dev" # Add this line (no /v1!))