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 Code | Bedeutung |
|---|---|
| 400 unsupported_value | Ein reasoning_effort-Wert, den das Modell nicht akzeptiert, zum Beispiel none oder minimal. |
| 400 missing_required_parameter | Eine vorherige assistant-Nachricht wurde ohne reasoning_content gesendet, oder json_schema fehlt. |
| 401 | Der API-Schlüssel fehlt oder ist ungültig. |
| 429 rate_limit_exceeded | Ein Minuten- oder Tageslimit wurde erreicht. Warte auf Retry-After. |
| 503 inference_capacity_unavailable | Die Kapazität ist vorübergehend erschöpft. Versuche es nach Retry-After erneut. |
Quellen: openai-compatibility · reasoning · tool-calling · structured-outputs · errors