API

API-Codegenerator

Wähle eine Sprache und eine Aufgabe aus, um Code zu erhalten, der der Dokumentation von Reflection folgt – einschließlich der Details, die sich von OpenAI unterscheiden.

Beam-501B-A23B
Sprache
reasoning_effort
Leer bedeutet, dass der API-Standardwert verwendet wird. Reasoning zählt zu diesem Limit.

Installation und API-Schlüssel

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)
Das Reasoning wird zuerst in delta.reasoning_content gestreamt, anschließend die Antwort in delta.content. include_usage fügt einen letzten Chunk mit den Tokenzahlen hinzu.

Parameterunterstützung

Unterstützt
  • model, messages mit den Rollen system, developer, user, assistant und tool
  • reasoning_effort: low, medium, high, xhigh, max
  • stream und stream_options.include_usage
  • tools, tool_choice, parallel_tool_calls
  • response_format: json_object und json_schema, mit strict
  • temperature, top_p, frequency_penalty, presence_penalty, seed, max_completion_tokens
Nicht unterstützt
  • Bild-, Audio- und Dateieingaben
  • n ungleich 1, logprobs, logit_bias
  • user, metadata, audio und prediction führen zu einem Fehler
  • stop wird akzeptiert, hat aber keine Wirkung
  • Responses-, Embeddings-, Images-, Audio-, Files-, Batch- und Assistants-APIs

Fehler, die sich zu behandeln lohnen

Status und CodeBedeutung
400 unsupported_valueEin reasoning_effort-Wert, den das Modell nicht akzeptiert, zum Beispiel none oder minimal.
400 missing_required_parameterEine vorherige assistant-Nachricht wurde ohne reasoning_content gesendet, oder json_schema fehlt.
401Der API-Schlüssel fehlt oder ist ungültig.
429 rate_limit_exceededEin Minuten- oder Tageslimit wurde erreicht. Warte auf Retry-After.
503 inference_capacity_unavailableDie Kapazität ist vorübergehend erschöpft. Versuche es nach Retry-After erneut.

Quellen: openai-compatibility · reasoning · tool-calling · structured-outputs · errors