Метафора / Перенос
Python: подключение к API Метафоры
Готовимся к запуску
Доступ к API, регистрации и оплате пока закрыт. Инструкции доступны для подготовки.
Используйте OpenAI SDK с другим base_url. Начните с одного короткого текстового запроса; ID и параметры модели возьмите из действующего каталога.
Настройка по шагам
Адрес API: https://api.metaphorai.ru/v1. Для CCS используйте https://api.metaphorai.ru без /v1. Вместо MODEL_ID укажите ID модели после открытия каталога. Ключ храните в окружении или Credentials. Доступ к API, регистрации и оплате пока закрыт. Инструкции доступны для подготовки.
- Установите пакет openai в отдельное Python-окружение: python -m pip install openai.
- Когда доступ к сервису открыт, создайте отдельный ключ проекта в кабинете и задайте ему небольшой бюджет. Сохраните ключ в переменной ROUTER_API_KEY через защищённый ввод; не вставляйте его в исходный код или историю терминала.
- Замените MODEL_ID в примере на ID модели из каталога. Адрес API: https://api.metaphorai.ru/v1; до открытия сервиса это пример настройки, а не доступный публичный стенд.
- Выполните обычный запрос. Затем проверьте потоковый вариант. Ошибку или обрыв сначала проверьте в журнале кабинета: автоматические повторы в примере отключены.
- Сверьте модель, статус, резерв и подтверждённое списание в кабинете. Неизвестный результат не означает бесплатный запрос.
Примеры настройки
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ROUTER_API_KEY"],
base_url="https://api.metaphorai.ru/v1",
max_retries=0,
)
response = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Привет!"}],
max_tokens=512,
)
print(response.choices[0].message.content)from openai import OpenAI
import os
client = OpenAI(api_key=os.environ["ROUTER_API_KEY"], base_url="https://api.metaphorai.ru/v1", max_retries=0)
stream = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Привет!"}],
max_tokens=512,
stream=True,
stream_options={"include_usage": True},
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="")
if chunk.usage:
print("\nUsage:", chunk.usage)Условия и ограничения
- Ключ и тексты запросов не отправляйте в поддержку или аналитику. Для разбора ошибки используйте ID запроса.
- Поток и вызов инструментов зависят от возможностей выбранной модели. Примеры не задают тариф и не подтверждают доступность конкретной модели.