API

Генератор кода API

Выберите язык и задачу, чтобы получить код, соответствующий документации Reflection, включая особенности, которые отличают этот API от OpenAI.

Beam-501B-A23B
Язык
reasoning_effort
Пустое значение означает, что будет использоваться значение API по умолчанию. Рассуждения учитываются в этом лимите.

Установка и ключ

bash
pip install openai
export REFLECTION_API_KEY="<your API key>"

Код

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)
Сначала рассуждения передаются в delta.reasoning_content, затем ответ — в delta.content. Параметр include_usage добавляет финальный чанк с количеством токенов.

Поддержка параметров

Поддерживается
  • model, messages с ролями system, developer, user, assistant и tool
  • reasoning_effort: low, medium, high, xhigh, max
  • stream и stream_options.include_usage
  • tools, tool_choice, parallel_tool_calls
  • response_format: json_object и json_schema, с strict
  • temperature, top_p, frequency_penalty, presence_penalty, seed, max_completion_tokens
Не поддерживается
  • Входные изображения, аудио и файлы
  • n, отличное от 1, logprobs, logit_bias
  • При передаче user, metadata, audio и prediction возвращается ошибка
  • stop принимается, но не влияет на результат
  • API Responses, Embeddings, Images, Audio, Files, Batch и Assistants

Ошибки, которые стоит обрабатывать

Статус и кодЧто это значит
400 unsupported_valueЗначение reasoning_effort, которое модель не принимает, например none или minimal.
400 missing_required_parameterПредыдущее сообщение assistant отправлено без reasoning_content или отсутствует json_schema.
401API-ключ отсутствует или недействителен.
429 rate_limit_exceededДостигнут поминутный или дневной лимит. Дождитесь Retry-After.
503 inference_capacity_unavailableВременно исчерпана доступная мощность. Повторите запрос после Retry-After.

Источники: openai-compatibility · reasoning · tool-calling · structured-outputs · errors