AI Sonar prend en charge trois formats d’API natifs avec une seule clé API. Choisissez le format qui correspond le mieux à votre cas d’utilisation — aucune modification de configuration nécessaire.
Format OpenAI
/v1/chat/completions
Format standard, compatibilité maximale
Format Anthropic
/v1/messages
Réflexion étendue, fonctionnalités natives de Claude
Format Gemini
/v1beta/models/:model:generateContent
Intégration à l’écosystème Google
Utilisez cette route de compatibilité pour les intégrations OpenAI SDK existantes et les flux portables de chat ou embeddings. Pour un comportement natif Claude ou Gemini, utilisez le format Anthropic ou Gemini ci-dessous.
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!"} ])
API Messages native d’Anthropic. Requis pour les fonctionnalités spécifiques à Claude comme la réflexion étendue.
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 et Cache : La route Gemini native prend en charge /upload/v1beta/files, /v1beta/files, /v1beta/files:register et /v1beta/cachedContents. Files utilise des canaux upstream compatibles avec Gemini File API ; les ressources Cache explicites peuvent aussi passer par des canaux Vertex AI. Les ressources créées via AI Sonar sont liées au même canal/key upstream pour les appels generateContent suivants.
Les outils de fonction peuvent être convertis entre formats lorsque la route cible les prend en charge. Les outils natifs d’un fournisseur doivent rester sur leur route native :
Les outils hébergés et natifs OpenAI Responses comme tool_search, web_search, file_search, code_interpreter, MCP, shell/apply_patch et les outils computer-use nécessitent /v1/responses.
Les outils server/native Anthropic comme web_search_*, web_fetch_*, code_execution_*, tool_search_*, bash, computer-use et text-editor nécessitent /v1/messages.
Les outils intégrés Gemini comme googleSearch, codeExecution, urlContext, computerUse et les champs tools similaires nécessitent /v1beta.
Si AI Sonar ne peut pas router une requête contenant des outils natifs vers un chemin upstream compatible natif, il renvoie une erreur unsupported-field explicite au lieu de supprimer l’outil en silence ou de le présenter comme une fonction Chat Completions. Les outils de fonction définis par l’utilisateur restent le chemin le plus portable.
# 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!))
Bien que la compatibilité entre formats fonctionne pour la plupart des fonctionnalités, les fonctionnalités spécifiques à un format (comme la réflexion étendue d’Anthropic) nécessitent le format natif.