- Быстрая настройка
- Что такое Xiaomi MiMo-V2.5-Pro
- Когда использовать MiMo-V2.5-Pro
- Предварительные требования
- Первый API-запрос
- Замечания по стримингу и использованию длинного контекста
- Пример вызова функций
- Пример структурированного вывода
- Предостережения по стоимости, задержке и лимитам
- Устранение неполадок
- Следующие шаги
Xiaomi MiMo-V2.5-Pro доступен на Novita AI через Serverless API, поэтому разработчики могут вызывать верифицированный ID модели xiaomimimo/mimo-v2.5-pro через совместимый с OpenAI эндпоинт чат-дополнений Novita для работы с длинным контекстом, задач, требующих рассуждений, вызова функций и экспериментов со структурированным выводом.
Быстрая настройка
Используйте эту отправную точку, если у вас уже есть ключ API Novita AI и вы хотите кратчайший проверенный путь к первому запросу.
pip install openai
export NOVITA_API_KEY="YOUR_NOVITA_API_KEY"
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "You are a concise software architecture assistant.",
},
{
"role": "user",
"content": "Outline a migration plan for moving a Python monolith into services.",
},
],
max_tokens=2048,
temperature=0.7,
)
print(response.choices[0].message.content)
Текущая страница модели Xiaomi MiMo-V2.5-Pro указывает, что модель доступна как Serverless API Novita AI, и показывает совместимый с OpenAI базовый URL https://api.novita.ai/openai. Текущая справочная документация API чат-дополнений Novita AI описывает REST-путь как /openai/v1/chat/completions.
Что такое Xiaomi MiMo-V2.5-Pro
Xiaomi MiMo-V2.5-Pro — это большая языковая модель «текст на входе, текст на выходе» для сложных агентных и инженерных рабочих процессов. На Novita AI ID модели API:
xiaomimimo/mimo-v2.5-pro
Текущий список моделей Novita AI подтверждает следующие детали реализации:
| Поле | Текущее значение |
|---|---|
| Путь доступа | Serverless API |
| Семейство эндпоинтов | Совместимые с OpenAI чат-дополнения |
| Базовый URL | https://api.novita.ai/openai |
| ID модели | xiaomimimo/mimo-v2.5-pro |
| Длина контекста | 1 048 576 токенов |
| Макс. вывод | 131 072 токена |
| Возможности ввода | Текст |
| Возможности вывода | Текст |
| Вызов функций | Поддерживается |
| Структурированный вывод | Поддерживается |
| Рассуждения | Поддерживается |
| Anthropic API | Поддерживается |
Вышестоящая карточка модели Xiaomi MiMo-V2.5-Pro на Hugging Face описывает MiMo-V2.5-Pro как открытую языковую модель на основе смеси экспертов (MoE) с общим количеством параметров 1,02 триллиона, 42 миллиардами активных параметров и окном контекста до 1 миллиона токенов. Используйте карточку вышестоящей модели как полезную справочную информацию о семействе моделей, а для получения информации, специфичной для Novita — ID модели, цены, доступность и детали эндпоинтов — обращайтесь к странице модели на Novita AI.
Когда использовать MiMo-V2.5-Pro
MiMo-V2.5-Pro наиболее полезен, когда вашему приложению требуется хостинговая текстовая модель для длительной работы с большим количеством инструкций, а не короткий одношаговый ответ. Хорошие цели для оценки включают анализ репозитория, планы многофайлового рефакторинга, синтез документов с длинным контекстом, планирование действий агента, прототипы маршрутизации инструментов и задачи структурированного извлечения.
Используйте его, когда вам нужно:
- Верифицированное окно контекста на 1 048 576 токенов на Novita AI.
- Высокий максимальный вывод для подробных планов, ревью кода, схем миграции или трассировок многошаговых рассуждений.
- Поддержка вызова функций для маршрутизации решений модели в инструменты приложения.
- Поддержка структурированного вывода для ответов в JSON-подобном формате, который могут парсить нижестоящие сервисы.
- Совместимые с OpenAI чат-дополнения, чтобы можно было повторно использовать существующие паттерны SDK.
Не предполагайте, что это самый дешёвый или самый быстрый выбор для каждой задачи. Для коротких промптов, классификации с высоким объёмом или простых чатов сравните текущие опции в библиотеке моделей Novita AI и на странице цен Novita AI, прежде чем направлять весь трафик на модель с длинным контекстом.
Предварительные требования
Перед тем как сделать первый запрос, подготовьте четыре вещи:
- Учётную запись Novita AI.
- Ключ API Novita AI, сохранённый в переменной окружения, например
NOVITA_API_KEY. - OpenAI Python SDK или другой HTTP-клиент, способный вызывать эндпоинты, совместимые с OpenAI.
- Текущую проверку цен и лимитов для
xiaomimimo/mimo-v2.5-pro.
Текущая страница модели Novita AI отображает цены serverless на основе токенов для MiMo-V2.5-Pro. Она показывает общую отображаемую цену: 2 доллара за миллион входных токенов, 0,4 доллара за миллион токенов кэшированного чтения и 6 долларов за миллион выходных токенов. Также указаны уровневые цены в зависимости от длины входных данных:
| Длина входных данных | Цена за миллион токенов (вход) | Цена за миллион токенов (выход) | Цена за миллион токенов (кэшированное чтение) |
|---|---|---|---|
| От 1 до 262 143 токенов | $1 | $3 | $0.2 |
| От 262 144 до 1 048 575 токенов | $2 | $6 | $0.4 |
Поскольку страницы моделей и таблицы цен могут меняться, перед использованием в продакшене подтвердите текущие ставки на странице модели или странице цен, особенно для длинных промптов, где может применяться второй уровень.
Первый API-запрос
Самый простой первый вызов использует OpenAI SDK с базовым URL Novita AI и ID модели MiMo-V2.5-Pro.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{"role": "system", "content": "You are a practical coding assistant."},
{
"role": "user",
"content": "Review this API design and list the main reliability risks.",
},
],
max_tokens=1024,
temperature=0.7,
)
print(response.choices[0].message.content)
Если вы предпочитаете REST, вызовите текущий путь чат-дополнений напрямую:
curl --request POST \
--url https://api.novita.ai/openai/v1/chat/completions \
--header "Authorization: Bearer $NOVITA_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "xiaomimimo/mimo-v2.5-pro",
"messages": [
{
"role": "system",
"content": "You are a practical coding assistant."
},
{
"role": "user",
"content": "Create a checklist for validating a payment webhook integration."
}
],
"max_tokens": 1024,
"temperature": 0.7
}'
Для продакшен-кода храните ключи API вне системы контроля версий, ограничьте max_tokens реальным объёмом, необходимым вашему рабочему процессу, и логируйте использование токенов, чтобы видеть, когда длинные контекстные промпты начинают доминировать в стоимости.
Замечания по стримингу и использованию длинного контекста
Справочная документация Novita AI по чат-дополнениям включает поля stream и stream_options, а страница модели MiMo-V2.5-Pro подтверждает длину контекста в 1 048 576 токенов с максимальным выводом в 131 072 токена. Используйте эти лимиты как инженерные потолки, а не настройки по умолчанию.
Для стримингового ответа:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
stream = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{"role": "system", "content": "You write concise engineering plans."},
{
"role": "user",
"content": "Draft a step-by-step rollback plan for a failed database migration.",
},
],
max_tokens=2048,
temperature=0.7,
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="")
Для длинных контекстных промптов придерживайтесь следующих правил:
- Размещайте задачу, формат вывода и условия остановки ближе к началу диалога.
- Разбивайте несвязанные файлы или документы на явно обозначенные разделы.
- Просите модель цитировать имена разделов или пути к файлам из предоставленного контекста, а не выдумывать местоположения.
- Начинайте с меньших значений
max_tokensво время разработки, затем увеличивайте лимит только когда рабочему процессу требуется более длинный вывод. - Отслеживайте количество токенов промпта, завершения и общее количество из объекта
usage, когда он включён в ответ.
Пример вызова функций
Страница модели MiMo-V2.5-Pro подтверждает поддержку вызова функций, а справочная документация по чат-дополнениям включает параметр tools с метаданными функций. Используйте это, когда модель должна выбрать действие приложения, например, найти внутреннюю заявку, получить состояние аккаунта или создать задачу развёртывания.
import json
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
tools = [
{
"type": "function",
"function": {
"name": "create_deployment_ticket",
"description": "Create a deployment follow-up ticket.",
"parameters": {
"type": "object",
"properties": {
"service": {
"type": "string",
"description": "The service that needs follow-up.",
},
"priority": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"summary": {
"type": "string",
"description": "A short ticket summary.",
},
},
"required": ["service", "priority", "summary"],
"additionalProperties": False,
},
"strict": True,
},
}
]
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "Decide whether the user's deployment note requires a follow-up ticket.",
},
{
"role": "user",
"content": "Checkout latency increased after the payment-service deploy. Create a high priority follow-up.",
},
],
tools=tools,
max_tokens=1024,
temperature=0.2,
)
message = response.choices[0].message
if message.tool_calls:
tool_call = message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
print(args)
else:
print(message.content)
В реальном приложении проверяйте аргументы инструмента на стороне сервера перед выполнением любого действия. Вызов функций даёт вашему приложению структурированное решение от модели; он не заменяет авторизацию, валидацию входных данных, аудит журналов или контроль отката.
Пример структурированного вывода
Страница модели MiMo-V2.5-Pro также подтверждает поддержку структурированного вывода, а справочная документация Novita AI по чат-дополнениям включает response_format с полями JSON-схемы. Используйте структурированный вывод, когда хотите, чтобы модель возвращала парсируемые данные, а не свободный текст.
import json
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response_format = {
"type": "json_schema",
"json_schema": {
"name": "migration_risk_report",
"schema": {
"type": "object",
"properties": {
"risk_level": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"main_risks": {
"type": "array",
"items": {"type": "string"},
},
"next_actions": {
"type": "array",
"items": {"type": "string"},
},
},
"required": ["risk_level", "main_risks", "next_actions"],
"additionalProperties": False,
},
"strict": True,
},
}
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "Return only a structured migration risk report.",
},
{
"role": "user",
"content": "We are moving billing jobs from cron to a queue and changing retry behavior.",
},
],
response_format=response_format,
max_tokens=1024,
temperature=0.2,
)
report = json.loads(response.choices[0].message.content)
print(json.dumps(report, indent=2))
Если во время тестирования ответ не удаётся распарсить как JSON, уменьшите неоднозначность в промпте, понизьте температуру, сделайте схему компактнее и повторите попытку с более коротким входным текстом. Для продакшен-процессов проверяйте распарсенный объект на соответствие вашей собственной схеме перед его использованием.
Предостережения по стоимости, задержке и лимитам
MiMo-V2.5-Pro создан для задач с длинным контекстом и агентных задач, поэтому контроль стоимости важен. Промпт, близкий к верхнему уровню контекста, может быть значительно дороже короткого запроса, а длинные выходные данные также увеличивают стоимость токенов завершения. Страница модели Novita AI в настоящее время отображает уровневые цены на ввод/вывод, поэтому оценивайте как токены промпта, так и токены завершения перед автоматической маршрутизацией больших задач.
Используйте следующие средства контроля:
- Установите практическое ограничение
max_tokensвместо использования максимального лимита вывода по умолчанию. - Суммируйте или извлекайте только тот контекст, который необходим для текущей задачи.
- Кэшируйте или повторно используйте стабильный контекст, когда это поддерживается вашей архитектурой.
- Отслеживайте использование токенов по функциям, пользователям и рабочим процессам.
- Добавляйте таймауты и повторные попытки вокруг сетевых вызовов.
- Держите меньшую запасную модель для коротких задач, если ваш продукт не требует MiMo-V2.5-Pro для каждого запроса.
Задержка может варьироваться в зависимости от длины промпта, длины вывода, режима стриминга и текущих условий обслуживания. Для пользовательских приложений используйте стриминг для длинных ответов, когда это уместно, и проектируйте интерфейс с учётом инкрементального вывода, а не единого блокирующего ответа.
Устранение неполадок
Если ваш первый запрос к MiMo-V2.5-Pro завершается неудачей, сначала проверьте следующие пункты.
| Симптом | Вероятная причина | Исправление |
|---|---|---|
| Ошибка аутентификации | Отсутствует или повреждён ключ API | Отправляйте Authorization: Bearer $NOVITA_API_KEY для REST-вызовов или передавайте api_key клиенту SDK. |
| Модель не найдена | Некорректный ID модели | Используйте xiaomimimo/mimo-v2.5-pro в точности, как указано на странице модели Novita AI. |
| Ошибка пути запроса | Перепутаны базовые URL | Используйте https://api.novita.ai/openai с OpenAI SDK или https://api.novita.ai/openai/v1/chat/completions для REST. |
| Ошибка контекста или вывода | Промпт плюс запрос вывода превышают лимиты модели | Следите, чтобы общая длина промпта не превышала текущее окно контекста, а max_tokens не превышал верифицированный максимальный вывод. |
| Отсутствует вызов инструмента | Промпт не требует инструмента, или схема инструмента неясна | Сделайте решение об инструменте явным и держите схему функции краткой. |
| Структурированный вывод не парсится | Схема или промпт слишком размыты | Используйте response_format, устанавливайте strict при необходимости, понизьте температуру и проверяйте результат. |
| Неожиданная стоимость | Большой промпт, большой вывод или верхний ценовой уровень | Проверьте текущие цены, логируйте использование токенов и уменьшите контекст или максимальный вывод. |
Для получения подробной информации об эндпоинтах обратитесь к справочной документации API чат-дополнений Novita AI. Для получения информации о лимитах и ценах, специфичных для модели, обратитесь к странице API и песочницы Xiaomi MiMo-V2.5-Pro.
Следующие шаги
Начните со страницы модели Xiaomi MiMo-V2.5-Pro, протестируйте небольшой промпт в песочнице, затем перенесите тот же промпт в ваш API-клиент с верифицированным ID модели. Когда будете готовы сравнить альтернативы, используйте библиотеку моделей Novita AI и страницу цен Novita AI, чтобы проверить текущие цены, окна контекста, лимиты вывода и поддержку возможностей.
Для агентных приложений оценивайте MiMo-V2.5-Pro на ваших собственных трассах: редактирование репозитория, маршрутизация вызовов инструментов, структурированное извлечение, суммаризация длинного контекста и восстановление после неоднозначных инструкций. Привязывайте оценку к реальным промптам вашего приложения, а не к абстрактным тестам.
