استخدم مسار التوافق هذا للتكاملات الحالية مع OpenAI SDK وتدفّقات الدردشة أو التضمين المحمولة. بالنسبة لسلوك Claude أو Gemini الأصلي، استخدم تنسيق Anthropic أو Gemini أدناه.
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!"} ])
واجهة Anthropic Messages الأصلية. مطلوبة لميزات Claude الخاصة مثل التفكير الموسّع.
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 و Cache: يدعم مسار Gemini الأصلي /upload/v1beta/files و /v1beta/files و /v1beta/files:register و /v1beta/cachedContents. تستخدم Files قنوات upstream متوافقة مع Gemini File API؛ ويمكن أيضًا توجيه موارد Cache الصريحة عبر قنوات Vertex AI. الموارد التي يتم إنشاؤها عبر AI Sonar ترتبط بالقناة/key نفسها في upstream لاستخدامها لاحقًا في استدعاءات generateContent.
إذا لم يتمكن AI Sonar من توجيه طلب يحتوي على أدوات أصلية إلى مسار upstream يدعم الصيغة الأصلية، فإنه يعيد خطأ unsupported-field واضحًا بدلًا من إسقاط الأداة بصمت أو تقديمها كدالة Chat Completions. تظل أدوات الدوال التي يعرّفها المستخدم هي المسار الأكثر قابلية للنقل.
# 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!))