Passer au contenu principal

Vue d’ensemble

LemonData fonctionne avec les SDK officiels OpenAI en pointant le client vers https://api.lemondata.cc/v1. Pour la plupart des nouveaux projets, privilégiez Chat Completions comme chemin OpenAI-compatible par défaut. N’utilisez Responses API que lorsque vous avez explicitement besoin d’un comportement spécifique à Responses. Les champs spécifiques à Responses ne sont pas garantis de se comporter de manière identique selon chaque modèle et chemin routé.
Python, JavaScript et Go disposent de SDK OpenAI officiels. PHP fonctionne bien avec des clients communautaires compatibles OpenAI, mais ce n’est pas un SDK OpenAI officiel.
Type : SDK natifChemin principal : OpenAI-compatible / Chat CompletionsConfiance de support : Chemin central pris en charge

Installation

pip install openai
N’utilisez POST /v1/responses que lorsque vous avez explicitement besoin du comportement spécifique à Responses. Certains champs réservés à Responses peuvent encore dépendre du modèle sélectionné et du chemin routé.

Configurer le Client

from openai import OpenAI

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

Recommandé : 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)

Avancé : Responses API

N’utilisez ce chemin que lorsque votre outil ou votre flux de travail dépend explicitement de la sémantique de OpenAI Responses.

Streaming avec 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="")

Outils / Appel de fonctions

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)

Vision with Responses

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)

Embeddings

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

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

Chat Completions

Chat Completions est le chemin OpenAI-compatible par défaut pour LemonData :
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)

Dépannage

  • Vérifiez que l’URL de base est exactement https://api.lemondata.cc/v1
  • Recherchez une interférence de proxy ou des remplacements personnalisés du client HTTP
  • Assurez-vous que votre version du SDK est à jour avant de déboguer le comportement du fournisseur
  • Vérifiez que votre clé API commence par sk-
  • Vérifiez que la clé est active dans le tableau de bord LemonData
  • Confirmez que le SDK envoie Authorization: Bearer ...
  • responses.create(...) envoie des requêtes vers /v1/responses
  • chat.completions.create(...) envoie des requêtes vers /v1/chat/completions
  • Utilisez Chat Completions par défaut sauf si vous avez explicitement besoin d’un comportement spécifique à Responses