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. |
| 401 | API-ключ отсутствует или недействителен. |
| 429 rate_limit_exceeded | Достигнут поминутный или дневной лимит. Дождитесь Retry-After. |
| 503 inference_capacity_unavailable | Временно исчерпана доступная мощность. Повторите запрос после Retry-After. |
Источники: openai-compatibility · reasoning · tool-calling · structured-outputs · errors