Как подключить MiMo 2.6 через Python и сохранить историю вызовов инструментов
Настройка ключа, адреса API и модели MiMo 2.6, сохранение полей рассуждений и различия между Chat Completions и Responses.
Для стандартной интеграции с API Xiaomi MiMo используйте точный идентификатор модели вместе с соответствующим ключом и адресом из своей учётной записи. Частая ошибка интеграции — перенос идентификатора бесплатного шлюза, ключа Token Plan или формата диалога другого API в прямой запрос Xiaomi.
Руководство основано на официальной документации, проверенной 22 сентября 2026 года. Примеры показывают построение запросов и сохранение полей диалога; это не результаты платного сквозного тестирования.
Подберите ключ к нужному сервису
В руководстве по первому вызову обычный базовый адрес OpenAI-совместимого API указан как https://api.xiaomimimo.com/v1. Ключи Token Plan используют назначенный им адрес сервиса. Получите его в своей консоли, а не считайте региональный пример из документации универсальным.
Для обычных прямых вызовов API используются mimo-v2.6-flash, mimo-v2.6-pro и отдельно предоставляемый mimo-v2.6-pro-ultraspeed. Идентификатор OpenCode opencode/mimo-v2.6-flash-free обозначает другого провайдера и не подходит для прямого запроса Xiaomi.
Выполните небольшой запрос на Python
Установите OpenAI Python SDK в изолированном окружении и запишите его версию. Задайте ключ в MIMO_API_KEY: такое имя переменной — соглашение этого примера, а не требование API.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["MIMO_API_KEY"],
base_url="https://api.xiaomimimo.com/v1",
)
response = client.chat.completions.create(
model="mimo-v2.6-flash",
messages=[{
"role": "user",
"content": "Explain the difference between Python sorted() and list.sort().",
}],
extra_body={"thinking": {"type": "disabled"}},
)
print(response.choices[0].message.content)
print(response.usage)
Короткий текстовый запрос помогает отделить проблемы учётной записи, адреса API и формата ответа. Проверьте HTTP-результат и данные расхода, затем изучите ответ. Успешный ответ не доказывает, что более крупная задача программирования пройдёт свои тесты.
Режим рассуждений меняет требования к истории
Документация глубокого мышления описывает thinking.type со значениями enabled и disabled. В диалоге с инструментами при включённых рассуждениях сохраняйте полный reasoning_content ассистента вместе с вызовами инструментов в последующей истории. Провайдер предупреждает: отсутствие этого поля может привести к ответу 400.
Фреймворк может скрывать это поле при отображении финального ответа. Проверяйте данные следующего запроса, а не только интерфейс. Сохраните исходный элемент ассистента с вызовом инструмента, затем добавьте каждый результат инструмента с соответствующим идентификатором вызова.
Режим рассуждений влияет и на условия оценки. По документации параметры семплирования в этом режиме фиксированы. Поэтому номинальная температура ноль не даёт надёжного основания считать сравнение с другим провайдером детерминированным и проведённым при одинаковых настройках. Запишите фактически поддерживаемые параметры и повторите запуски, чтобы увидеть разброс результатов.
Responses не полностью совпадает с API других провайдеров
MiMo также описывает API Responses. У его текущей совместимости есть ограничения:
| Возможность | Поведение по документации |
|---|---|
previous_response_id | Не поддерживается |
background | Не поддерживается |
context_management | Не поддерживается |
reasoning.effort = none | Отключает рассуждения |
| Другие уровни effort | Включают рассуждения; отдельных уровней интенсивности сейчас нет |
Не предполагайте, что рабочий запрос другого провайдера можно перенаправить, заменив только base_url. Проверьте поддерживаемые поля и ведите диалог по схеме MiMo. В частности, одинаковое название effort у двух провайдеров не доказывает равного объёма вычислений или сопоставимости условий оценки.
Подключение через клиент для программирования
До настройки выберите один способ подключения: собственный сервис моделей клиента, обычный API Xiaomi или Token Plan. Затем совместно проверьте имя провайдера, базовый адрес, тип ключа и точный идентификатор модели. Бесплатный вариант OpenCode и актуальные условия использования данных разобраны в руководстве по доступу к MiMo.
После первого успешного запроса проверьте короткий диалог из нескольких ходов. Если планируемый процесс использует инструменты, добавьте один безопасный локальный инструмент и убедитесь, что его результат возвращается с правильным идентификатором вызова. Сохраняйте структуру запроса без секретных данных и сообщения об ошибках; не публикуйте ключи или закрытые данные задачи в журнале для поддержки.
Проверьте расход перед долгой задачей
Оплачиваемый выход может включать рассуждения и финальный ответ. Лимит выходных токенов должен оставлять место для обеих частей; короткий видимый ответ не доказывает небольшой счёт. Сопоставьте полные данные расхода с тарифами MiMo и примерами расчётов.
При проверке интеграции сохраните версию SDK, выбранную модель, адрес API, тип ключа, поддерживаемый режим рассуждений, статус ответа и расход. Эти данные помогут позже отличить регрессию клиента от проблемы учётной записи или модели.
Часто задаваемые вопросы
- Можно ли использовать идентификатор бесплатной модели OpenCode в API Xiaomi?
- Нет. Используйте идентификатор выбранного провайдера: бесплатный доступ OpenCode и прямой API Xiaomi — разные сервисы.
- Поддерживает ли MiMo Responses параметр previous_response_id?
- По документации за сентябрь 2026 года — нет. Перед переносом интеграции другого провайдера проверьте поддерживаемую схему.


