API
Generator kodu API
Wybierz język i zadanie, aby otrzymać kod zgodny z dokumentacją Reflection, uwzględniający różnice względem OpenAI.
Beam-501B-A23B
Język
reasoning_effort
Puste pole oznacza domyślną wartość API. Rozumowanie wlicza się do tego limitu.
Instalacja i klucz
bash
pip install openai
export REFLECTION_API_KEY="<your API key>"Kod
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)Najpierw strumieniowane jest rozumowanie w delta.reasoning_content, a następnie odpowiedź w delta.content. include_usage dodaje końcowy fragment z liczbą tokenów.
Obsługa parametrów
Obsługiwane
- model, messages z rolami system, developer, user, assistant i tool
- reasoning_effort: low, medium, high, xhigh, max
- stream i stream_options.include_usage
- tools, tool_choice, parallel_tool_calls
- response_format: json_object i json_schema, z strict
- temperature, top_p, frequency_penalty, presence_penalty, seed, max_completion_tokens
Nieobsługiwane
- Wejścia obrazowe, dźwiękowe i plikowe
- n inne niż 1, logprobs, logit_bias
- user, metadata, audio i prediction zwracają błąd
- stop jest akceptowany, ale nie wywołuje żadnego efektu
- Interfejsy API Responses, Embeddings, Images, Audio, Files, Batch i Assistants
Błędy, które warto obsłużyć
| Status i kod | Co to oznacza |
|---|---|
| 400 unsupported_value | Wartość reasoning_effort, której model nie akceptuje, na przykład none lub minimal. |
| 400 missing_required_parameter | Wysłano wcześniejszą wiadomość assistant bez reasoning_content albo brakuje json_schema. |
| 401 | Brak klucza API lub jest on nieprawidłowy. |
| 429 rate_limit_exceeded | Przekroczono limit na minutę lub limit dzienny. Poczekaj przez czas wskazany w Retry-After. |
| 503 inference_capacity_unavailable | Zasoby są chwilowo niedostępne. Ponów próbę po czasie wskazanym w Retry-After. |
Źródła: openai-compatibility · reasoning · tool-calling · structured-outputs · errors