メインコンテンツへスキップ

概要

LemonDataはクライアントのbase URLをhttps://api.lemondata.cc/v1にポイントすることで公式のOpenAI SDKと連携します。 ほとんどの新規プロジェクトでは、デフォルトのOpenAI互換パスとしてChat Completionsを使用することを推奨します。Responses APIは、Responses固有の動作が明確に必要な場合にのみ使用してください。 Responses固有のフィールドは、すべてのモデルやルーティング経路で同一に動作することは保証されません。
Python、JavaScript、Goには公式のOpenAI SDKがあります。PHPはOpenAI互換のコミュニティ製クライアントと相性が良いですが、公式のOpenAI SDKではありません。
タイプ: ネイティブSDK主要経路: OpenAI互換 / Chat Completionsサポート状況: コア経路としてサポートされています

インストール

pip install openai
POST /v1/responsesはResponses固有の動作が明確に必要な場合にのみ使用してください。Responses専用の一部フィールドは選択したモデルやルーティング経路に依存する場合があります。

クライアントの設定

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-lemondata-key",
    base_url="https://api.lemondata.cc/v1",
)

推奨: Chat Completions

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "Explain what LemonData does in one sentence."}]
)

print(response.choices[0].message.content)

高度な使用法: Responses API

この経路は、ツールやワークフローが明確にOpenAI Responsesのセマンティクスに依存している場合にのみ使用してください。

Responsesでのストリーミング

stream = client.responses.create(
    model="gpt-5.4",
    input="Write a short poem about coding.",
    stream=True,
)

for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="")

ツール / 関数呼び出し

response = client.responses.create(
    model="gpt-5.4",
    input="What's the weather in Tokyo?",
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {"type": "string"}
            },
            "required": ["location"]
        }
    }]
)

for item in response.output:
    if item.type == "function_call":
        print(item.name)
        print(item.arguments)

ResponsesでのVision

response = client.responses.create(
    model="gpt-4o",
    input=[{
        "role": "user",
        "content": [
            {"type": "input_text", "text": "What's in this image?"},
            {"type": "input_image", "image_url": "https://example.com/image.jpg"}
        ]
    }]
)

print(response.output_text)

埋め込み

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="Hello world"
)

print(response.data[0].embedding[:5])

Chat Completions

Chat CompletionsはLemonDataのデフォルトのOpenAI互換パスです:
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.choices[0].message.content)

トラブルシューティング

  • ベースURLが正確に https://api.lemondata.cc/v1 になっていることを確認してください
  • プロキシの干渉やカスタムHTTPクライアントのオーバーライドがないか確認してください
  • プロバイダの動作をデバッグする前にSDKのバージョンが最新であることを確認してください
  • APIキーが sk- で始まっていることを確認してください
  • LemonDataダッシュボードでキーが有効であることを確認してください
  • SDKが Authorization: Bearer ... を送信していることを確認してください
  • responses.create(...)/v1/responses にリクエストを送信します
  • chat.completions.create(...)/v1/chat/completions にリクエストを送信します
  • Responses固有の動作が明確に必要な場合を除き、デフォルトでは Chat Completions を使用してください