نظرة عامة
تم تصميم LemonData API ليكون متوافقاً بشكل مباشر (drop-in compatibility) مع جميع أدوات تطوير الذكاء الاصطناعي الرئيسية. يوثق هذا الدليل المعلمات المدعومة والتكاملات التي تم التحقق منها.
يتم التحقق من جميع المعلمات ولكن يتم تمريرها إلى المزودين الأصليين. يتم تجاهل المعلمات غير المدعومة لنماذج معينة تلقائياً، مما يضمن أقصى قدر من التوافق.
تنسيقات API المدعومة
Endpoint التنسيق حالة الاستخدام /v1/chat/completionsOpenAI Chat توافق عالمي /v1/responsesOpenAI Responses محادثات ذات حالة (Stateful) /v1/messagesAnthropic Messages ميزات Claude الأصلية /v1beta/models/:model:generateContentGoogle Gemini ميزات Gemini الأصلية
توافق IDE و CLI
الأدوات التي تم التحقق منها
الأداة الحالة التنسيق ملاحظات Cursor ✅ كامل OpenAI تنسيق أدوات Anthropic مدعوم Claude Code CLI ✅ كامل Anthropic التفكير الموسع (Extended thinking)، و tool_choice Windsurf ✅ كامل OpenAI تنسيق OpenAI القياسي Aider ✅ كامل OpenAI جميع النماذج مدعومة Continue.dev ✅ كامل OpenAI/Anthropic دعم التنسيق المزدوج OpenCode ✅ كامل OpenAI دعم مزودين متعددين Cline/Roo Code ✅ كامل OpenAI عبر تنسيق OpenRouter GitHub Copilot ✅ كامل OpenAI التنسيق القياسي Codex CLI ✅ كامل OpenAI OpenAI Responses API Gemini CLI ✅ كامل Gemini تنسيق Gemini الأصلي
أمثلة التكوين
Cursor
Claude Code
OpenCode
Aider
Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
يستخدم Cursor تنسيق أدوات بأسلوب Anthropic داخلياً. يدعم LemonData كليهما:
تنسيق OpenAI: { type: "function", function: { name, parameters } }
تنسيق Anthropic: { name, input_schema } (بدون حقل type)
export ANTHROPIC_BASE_URL = "https://api.lemondata.cc"
export ANTHROPIC_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export LOCAL_ENDPOINT = "https://api.lemondata.cc/v1"
export OPENAI_API_KEY = "sk-your-lemondata-key"
export OPENAI_API_BASE = "https://api.lemondata.cc/v1"
aider --model gpt-4o
توافق SDK
SDKs التي تم التحقق منها
SDK اللغة الحالة ملاحظات OpenAI SDK Python/JS/Go ✅ كامل جميع المعلمات مدعومة Anthropic SDK Python/JS ✅ كامل التفكير الموسع، والأدوات Vercel AI SDK TypeScript ✅ كامل streamText ، generateObjectLangChain Python/JS ✅ كامل ChatOpenAI ، bind_toolsLlamaIndex Python ✅ كامل متوافق مع OpenAI Dify - ✅ كامل تنسيق OpenAI
معلمات Chat Completions
المعلمات الأساسية
المعلمة النوع الوصف modelstring معرف النموذج (مطلوب) messagesarray رسائل المحادثة (مطلوب) max_tokensinteger الحد الأقصى لرموز الإخراج (tokens) temperaturenumber درجة حرارة العينات (0-2) top_pnumber أخذ عينات النواة (0-1) streamboolean تفعيل البث (streaming)
{
"tools" : [
{
"type" : "function" ,
"function" : {
"name" : "get_weather" ,
"description" : "Get weather for a location" ,
"parameters" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
}
},
"strict" : true
}
}
],
"tool_choice" : "auto" ,
"parallel_tool_calls" : true
}
التنسيق مثال الوصف String "auto", "none", "required"اختيار بسيط OpenAI Object { "type": "function", "function": { "name": "fn" } }فرض وظيفة معينة Anthropic Object { "type": "tool", "name": "fn", "disable_parallel_tool_use": true }تنسيق Anthropic الأصلي
المعلمات المتقدمة
المعلمة النوع الوصف stream_optionsobject { include_usage: true } لحساب الرموز (tokens)reasoning_effortstring "low", "medium", "high" لنماذج o1/o3service_tierstring "auto" أو "default"seedinteger مخرجات حتمية logprobsboolean إرجاع احتمالات السجل (log probabilities) top_logprobsinteger عدد أعلى logprobs (0-20) logit_biasobject خريطة انحياز الرموز (-100 إلى 100) frequency_penaltynumber عقوبة التكرار (-2 إلى 2) presence_penaltynumber عقوبة الحضور (-2 إلى 2) stopstring/array تسلسلات التوقف ninteger عدد الإكمالات (1-128) userstring معرف المستخدم للتتبع
ميزات OpenAI المتقدمة
المعلمة النوع الوصف modalitiesarray ["text", "audio"] للنماذج متعددة الوسائطaudioobject تكوين إخراج الصوت (الصوت، التنسيق) predictionobject المخرجات المتوقعة لإكمال أسرع metadataobject أزواج مفتاح-قيمة للتتبع storeboolean التخزين للاسترجاع لاحقاً
خيارات خاصة بالمزود
{
"anthropic_options" : {
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
},
"prompt_caching" : true
},
"google_options" : {
"safety_settings" : [ ... ],
"google_search" : true ,
"code_execution" : true
}
}
معلمات Anthropic Messages
المعلمات الأساسية
المعلمة النوع الوصف modelstring معرف النموذج messagesarray رسائل المحادثة max_tokensinteger الحد الأقصى للإخراج (حتى 128000) systemstring/array موجه النظام (System prompt) streamboolean تفعيل البث (streaming)
{
"tools" : [
{
"name" : "get_weather" ,
"description" : "Get weather" ,
"input_schema" : {
"type" : "object" ,
"properties" : {
"location" : { "type" : "string" }
}
}
}
],
"tool_choice" : {
"type" : "auto" ,
"disable_parallel_tool_use" : false
}
}
التفكير الموسع (Extended Thinking)
{
"model" : "claude-opus-4-5" ,
"thinking" : {
"type" : "enabled" ,
"budget_tokens" : 10000
}
}
معلمات Responses API
المعلمات الأساسية
المعلمة النوع الوصف modelstring معرف النموذج inputstring/array محتوى الإدخال instructionsstring تعليمات النظام max_output_tokensinteger الحد الأقصى لرموز الإخراج previous_response_idstring متابعة المحادثة
المعلمات المتقدمة
المعلمة النوع الوصف truncation_strategystring "auto" أو "disabled"includearray ["reasoning.encrypted_content"]reasoning_effortstring لنماذج الاستدلال (reasoning models) service_tierstring فئة الأولوية
تنسيق الأدوات
يدعم كلاً من تنسيقات أدوات OpenAI و Anthropic:
// OpenAI format
{ "type" : "function" , "name" : "fn" , "parameters" : { ... } }
// Anthropic format (Cursor compatibility)
{ "name" : "fn" , "input_schema" : { ... } }
معلمات Gemini API
المعلمات الأساسية
المعلمة النوع الوصف contentsarray محتوى المحادثة systemInstructionobject موجه النظام generationConfigobject إعدادات التوليد
الأدوات
{
"tools" : [{
"functionDeclarations" : [{
"name" : "search" ,
"description" : "Search the web" ,
"parameters" : { ... }
}],
"codeExecution" : {},
"googleSearch" : {}
}],
"toolConfig" : {
"functionCallingConfig" : {
"mode" : "AUTO"
}
}
}
إعدادات الأمان
{
"safetySettings" : [
{
"category" : "HARM_CATEGORY_HARASSMENT" ,
"threshold" : "BLOCK_MEDIUM_AND_ABOVE"
}
]
}
معلمات إضافية
المعلمة النوع الوصف cachedContentstring مرجع المحتوى المخزن مؤقتاً responseMimeTypestring "text/plain" أو "application/json"responseSchemaobject مخطط JSON للمخرجات المنظمة
البث (Streaming)
تدعم جميع نقاط النهاية بث Server-Sent Events (SSE):
# Chat Completions
curl https://api.lemondata.cc/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-d '{"model": "gpt-4o", "messages": [...], "stream": true}'
# With usage tracking
-d '{"...", "stream_options": {"include_usage": true}}'
معالجة الأخطاء
يعيد LemonData استجابات خطأ متوافقة مع OpenAI:
{
"error" : {
"message" : "Invalid API key" ,
"type" : "invalid_api_key" ,
"code" : "invalid_api_key"
}
}
راجع دليل معالجة الأخطاء للحصول على التفاصيل.
أفضل الممارسات
استخدم التمرير (passthrough) للمعلمات غير المعروفة
تستخدم جميع المخططات .passthrough() - يتم توجيه المعلمات غير المعروفة إلى المزودين الأصليين.
فضل استخدام stream_options لفوترة دقيقة
قم بتمكين stream_options.include_usage للحصول على تعداد دقيق للرموز في استجابات البث.
استخدم تنسيق tool_choice المناسب
طابق التنسيق المتوقع لـ SDK الخاص بك. يقبل LemonData كلاً من تنسيقات OpenAI و Anthropic.