الانتقال إلى المحتوى الرئيسي

نظرة عامة

تم تصميم 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✅ كاملOpenAIOpenAI Responses API
Gemini CLI✅ كاملGeminiتنسيق Gemini الأصلي

أمثلة التكوين

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)

توافق SDK

SDKs التي تم التحقق منها

SDKاللغةالحالةملاحظات
OpenAI SDKPython/JS/Go✅ كاملجميع المعلمات مدعومة
Anthropic SDKPython/JS✅ كاملالتفكير الموسع، والأدوات
Vercel AI SDKTypeScript✅ كاملstreamText ، generateObject
LangChainPython/JS✅ كاملChatOpenAI ، bind_tools
LlamaIndexPython✅ كاملمتوافق مع OpenAI
Dify-✅ كاملتنسيق OpenAI

معلمات Chat Completions

المعلمات الأساسية

المعلمةالنوعالوصف
modelstringمعرف النموذج (مطلوب)
messagesarrayرسائل المحادثة (مطلوب)
max_tokensintegerالحد الأقصى لرموز الإخراج (tokens)
temperaturenumberدرجة حرارة العينات (0-2)
top_pnumberأخذ عينات النواة (0-1)
streambooleanتفعيل البث (streaming)

استدعاء الأدوات (Tool Calling)

{
  "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
}

خيارات Tool Choice

التنسيقمثالالوصف
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/o3
service_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)

استدعاء الأدوات (Tool Calling)

{
  "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() - يتم توجيه المعلمات غير المعروفة إلى المزودين الأصليين.
قم بتمكين stream_options.include_usage للحصول على تعداد دقيق للرموز في استجابات البث.
طابق التنسيق المتوقع لـ SDK الخاص بك. يقبل LemonData كلاً من تنسيقات OpenAI و Anthropic.