API
Générateur de code API
Choisissez un langage et une tâche pour obtenir du code conforme à la documentation de Reflection, y compris les différences avec OpenAI.
Beam-501B-A23B
Langue
reasoning_effort
Laissez vide pour utiliser la valeur par défaut de l’API. Le raisonnement est comptabilisé dans cette limite.
Installation et clé API
bash
pip install openai
export REFLECTION_API_KEY="<your API key>"Code
main.py
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.reflection.ai/openai/v1",
api_key=os.environ["REFLECTION_API_KEY"],
)
messages = [
{"role": "user", "content": "Write a short poem about sparse experts."},
]
stream = client.chat.completions.create(
model="Beam-501B-A23B",
messages=messages,
reasoning_effort="medium",
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if not chunk.choices: # the last chunk carries only usage
print("\n", chunk.usage)
continue
delta = chunk.choices[0].delta
reasoning = getattr(delta, "reasoning_content", None)
if reasoning:
print(reasoning, end="", flush=True)
if delta.content:
print(delta.content, end="", flush=True)Le raisonnement est d’abord diffusé dans delta.reasoning_content, puis la réponse dans delta.content. include_usage ajoute un dernier bloc contenant le nombre de tokens.
Prise en charge des paramètres
Pris en charge
- model, messages avec les rôles system, developer, user et assistant, et le rôle tool
- reasoning_effort: low, medium, high, xhigh, max
- stream et stream_options.include_usage
- tools, tool_choice, parallel_tool_calls
- response_format: json_object et json_schema, avec strict
- temperature, top_p, frequency_penalty, presence_penalty, seed, max_completion_tokens
Non pris en charge
- Entrées image, audio et fichier
- n différent de 1, logprobs, logit_bias
- user, metadata, audio et prediction renvoient une erreur
- stop est accepté, mais n’a aucun effet
- API Responses, Embeddings, Images, Audio, Files, Batch et Assistants
Erreurs à traiter
| Statut et code | Signification |
|---|---|
| 400 unsupported_value | Une valeur de reasoning_effort que le modèle n’accepte pas, comme none ou minimal. |
| 400 missing_required_parameter | Un message assistant précédent a été envoyé sans son reasoning_content, ou json_schema est manquant. |
| 401 | La clé API est manquante ou invalide. |
| 429 rate_limit_exceeded | Une limite par minute ou quotidienne a été atteinte. Attendez Retry-After. |
| 503 inference_capacity_unavailable | La capacité est temporairement épuisée. Réessayez après Retry-After. |
Sources: openai-compatibility · reasoning · tool-calling · structured-outputs · errors