Chuyển đến nội dung chính

Tổng quan

LemonData cung cấp nhiều định dạng API khác nhau để các công cụ lập trình phổ biến, SDK và framework có thể tích hợp với ít mã kết nối nhất. Trang này cố ý hẹp hơn một ma trận tiếp thị:
  • Supported có nghĩa là chúng tôi ghi lại một đường dẫn thiết lập cụ thể và LemonData phơi bày hình dạng giao thức mà đường dẫn đó mong đợi.
  • Strong native path có nghĩa là repo cũng có adapter trực tiếp hoặc bằng chứng về định dạng yêu cầu cho họ giao thức đó.
  • Best-effort có nghĩa là tích hợp có thể hoạt động, nhưng client upstream không coi workflow gateway tùy chỉnh này là một hợp đồng ổn định.
Các trường không được hỗ trợ không được xử lý đồng nhất. Trên các tuyến tương thích, một số trường bị bỏ qua hoặc chuẩn hóa. Trên /v1/responses, các trường không được hỗ trợ có thể trả về lỗi 400 hoặc 503 rõ ràng khi tuyến đó không thể đảm bảo hành vi được yêu cầu.

Định dạng API được hỗ trợ

EndpointFormatUse Case
/v1/chat/completionsOpenAI ChatTương thích tổng quát
/v1/responsesOpenAI ResponsesHội thoại có trạng thái
/v1/messagesAnthropic MessagesTính năng gốc của Claude
/v1beta/models/:model:generateContentGoogle GeminiTính năng gốc của Gemini

Tương thích IDE & CLI

Đường dẫn công cụ được ghi chép

ToolSupport LevelFormatNotes
CursorSupported with limitsOpenAI-compatibleHoạt động cho luồng chat/editor tiêu chuẩn BYOK, không thay thế các tính năng do Cursor quản lý như Tab Completion
Claude Code CLIStrong native pathAnthropicTuyến /v1/messages gốc với phạm vi adapter cho thinking và tool_choice
Codex CLISupported with model/path limitsOpenAI ResponsesXử lý /v1/responses như một đường dẫn nâng cao cho workflow đặc thù Codex; một số trường chỉ có trong Responses không được đảm bảo trên mọi model và đường dẫn định tuyến
Gemini CLIBest-effort / experimentalGeminiLuồng URL base tùy chỉnh của LemonData không phải là một hợp đồng upstream ổn định
OpenCodeSupportedOpenAI-compatibleSử dụng nhà cung cấp tương thích OpenAI theo mặc định; chuyển sang nhà cung cấp dựa trên Responses chỉ khi bạn thực sự cần
Các trình soạn thảo và công cụ agent tương thích OpenAI khác thường hoạt động với cùng mẫu base URL, nhưng repo này hiện tại không duy trì kiểm thử hồi quy theo công cụ cụ thể cho Windsurf, Aider, Continue.dev, Cline/Roo Code, GitHub Copilot, và các client tương tự.

Ví dụ cấu hình

Base URL: https://api.lemondata.cc/v1
API Key: sk-your-lemondata-key
Cursor sử dụng định dạng công cụ kiểu Anthropic nội bộ. LemonData hỗ trợ cả hai:
  • OpenAI format: { type: "function", function: { name, parameters } }
  • Anthropic format: { name, input_schema } (không có trường type)

Tương thích SDK

Đường dẫn SDK & Framework được ghi chép

SDK / FrameworkLanguageSupport LevelNotes
OpenAI SDKPython/JS/GoSupported core pathChat Completions và Embeddings là đường dẫn mặc định được ghi chép; một số trường chỉ có trong Responses không được đảm bảo trên mọi model và đường dẫn định tuyến
Anthropic SDKPython/JSStrong native pathTuyến Messages gốc với bằng chứng trực tiếp cho tools, thinking, và prompt caching
Vercel AI SDKTypeScriptRecommended integration patternƯu tiên @ai-sdk/openai-compatible; dùng @ai-sdk/openai chỉ khi bạn muốn hành vi Responses-native rõ ràng
LangChainPython/JSSupported standard surfacesChatOpenAIOpenAIEmbeddings là phạm vi dự định; các phần mở rộng nhà cung cấp gốc nằm ngoài phạm vi
LlamaIndexPythonSupported via OpenAILikeDùng OpenAILike, không dùng các lớp OpenAI tích hợp sẵn, cho các gateway bên thứ ba như LemonData
Dify-Supported with scope limitsNhà cung cấp OpenAI và các luồng hướng đến chat-completions là đường dẫn dự định; không phù hợp cho Responses đặc thù Codex hoặc hành vi WebSocket

Tham số Chat Completions

Tham số cốt lõi

ParameterTypeDescription
modelstringModel identifier (bắt buộc)
messagesarrayNội dung hội thoại (bắt buộc)
max_tokensintegerSố token đầu ra tối đa
temperaturenumberNhiệt độ lấy mẫu (0-2)
top_pnumberNucleus sampling (0-1)
streambooleanBật streaming

Gọi công cụ

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

Tùy chọn Tool Choice

FormatExampleDescription
String"auto", "none", "required"Lựa chọn đơn giản
OpenAI Object{ "type": "function", "function": { "name": "fn" } }Ép cụ thể một function
Anthropic Object{ "type": "tool", "name": "fn", "disable_parallel_tool_use": true }Định dạng gốc của Anthropic

Tham số nâng cao

ParameterTypeDescription
stream_optionsobject{ include_usage: true } để lấy số lượng token
reasoning_effortstring"low", "medium", "high" cho các model reasoning-enabled GPT-5
service_tierstring"auto" hoặc "default"
seedintegerKết quả xác định được
logprobsbooleanTrả về log probabilities
top_logprobsintegerSố logprobs hàng đầu (0-20)
logit_biasobjectBản đồ bias token (-100 đến 100)
frequency_penaltynumberHình phạt lặp lại (-2 đến 2)
presence_penaltynumberHình phạt xuất hiện chủ đề (-2 đến 2)
stopstring/arrayCác chuỗi dừng
nintegerSố lượng completions (1-128)
userstringĐịnh danh người dùng để theo dõi

Tính năng nâng cao của OpenAI

ParameterTypeDescription
modalitiesarray["text", "audio"] cho đa phương thức
audioobjectCấu hình đầu ra audio (voice, format)
predictionobjectĐầu ra dự đoán để hoàn thành nhanh hơn
metadataobjectCác cặp key-value để theo dõi
storebooleanLưu để truy xuất sau này

Tùy chọn theo nhà cung cấp

{
  "anthropic_options": {
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "prompt_caching": true
  },
  "google_options": {
    "safety_settings": [...],
    "google_search": true,
    "code_execution": true
  }
}

Tham số Anthropic Messages

Tham số cốt lõi

ParameterTypeDescription
modelstringModel identifier
messagesarrayNội dung hội thoại
max_tokensintegerĐầu ra tối đa (lên đến 128000)
systemstring/arrayPrompt hệ thống
streambooleanBật streaming

Gọi công cụ

{
  "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-6",
  "thinking": {
    "type": "enabled",
    "budget_tokens": 10000
  }
}

Tham số Responses API

Tham số cốt lõi

ParameterTypeDescription
modelstringModel identifier
inputstring/arrayNội dung đầu vào
instructionsstringHướng dẫn hệ thống
max_output_tokensintegerSố token đầu ra tối đa
previous_response_idstringTiếp tục hội thoại

Tham số nâng cao

ParameterTypeDescription
truncation_strategystring"auto" hoặc "disabled"
includearray["reasoning.encrypted_content"]
reasoning_effortstringDành cho các model reasoning
service_tierstringHạng ưu tiên

Định dạng Tool

Hỗ trợ cả định dạng tool của OpenAI và Anthropic:
// OpenAI format
{ "type": "function", "name": "fn", "parameters": {...} }

// Anthropic format (Cursor compatibility)
{ "name": "fn", "input_schema": {...} }

Tham số Gemini API

Tham số cốt lõi

ParameterTypeDescription
contentsarrayNội dung hội thoại
systemInstructionobjectPrompt hệ thống
generationConfigobjectCấu hình sinh

Tools

{
  "tools": [{
    "functionDeclarations": [{
      "name": "search",
      "description": "Search the web",
      "parameters": {...}
    }],
    "codeExecution": {},
    "googleSearch": {}
  }],
  "toolConfig": {
    "functionCallingConfig": {
      "mode": "AUTO"
    }
  }
}

Cài đặt an toàn

{
  "safetySettings": [
    {
      "category": "HARM_CATEGORY_HARASSMENT",
      "threshold": "BLOCK_MEDIUM_AND_ABOVE"
    }
  ]
}

Tham số bổ sung

ParameterTypeDescription
cachedContentstringTham chiếu nội dung đã cache
responseMimeTypestring"text/plain" hoặc "application/json"
responseSchemaobjectJSON schema cho đầu ra có cấu trúc

Streaming

Tất cả các endpoint hỗ trợ 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}}'

Xử lý lỗi

LemonData trả về phản hồi lỗi tương thích OpenAI:
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_api_key",
    "code": "invalid_api_key"
  }
}
Xem Hướng dẫn xử lý lỗi để biết chi tiết.

Thực hành tốt nhất

Tất cả các schema sử dụng .passthrough() - các tham số không xác định được chuyển tiếp đến nhà cung cấp upstream.
Bật stream_options.include_usage để có số token chính xác trong các phản hồi streaming.
Khớp với định dạng mà SDK của bạn mong đợi. LemonData chấp nhận cả định dạng OpenAI và Anthropic.