استخدم مسار التوافق هذا للتكاملات الحالية مع OpenAI SDK وتدفّقات الدردشة أو التضمين المحمولة. بالنسبة لسلوك Claude أو Gemini الأصلي، استخدم تنسيق Anthropic أو Gemini أدناه.
from openai import OpenAIclient = OpenAI( api_key="sk-your-tokenlab-key", base_url="https://api.tokenlab.sh/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-tokenlab-key", base_url="https://api.tokenlab.sh" # 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. الموارد التي يتم إنشاؤها عبر TokenLab ترتبط بالقناة/key نفسها في upstream لاستخدامها لاحقًا في استدعاءات generateContent.
إذا لم يتمكن TokenLab من توجيه طلب يحتوي على أدوات أصلية إلى مسار upstream يدعم الصيغة الأصلية، فإنه يعيد خطأ unsupported-field واضحًا بدلًا من إسقاط الأداة بصمت أو تقديمها كدالة Chat Completions. تظل أدوات الدوال التي يعرّفها المستخدم هي المسار الأكثر قابلية للنقل.
# Before (OpenAI)client = OpenAI(api_key="sk-openai-key")# After (TokenLab)client = OpenAI( api_key="sk-tokenlab-key", base_url="https://api.tokenlab.sh/v1" # Add this line)# That's it! Same code works
# Before (Anthropic)client = Anthropic(api_key="sk-ant-key")# After (TokenLab)client = Anthropic( api_key="sk-tokenlab-key", base_url="https://api.tokenlab.sh" # Add this line (no /v1!))