Kimi K2.7 Code на DashScope: настройка API, вариант HighSpeed и маршрутизация через TheRouter
Кодинг-модель Kimi K2.7 Code от Moonshot AI и её HighSpeed-вариант доступны на Alibaba Cloud DashScope. Разбираем настройку через DashScope, различия model ID, кэширование контекста, режим thinking-only, мультимодальный ввод и маршрутизацию через TheRouter.
Kimi K2.7 Code от Moonshot AI — кодинг-модель с архитектурой MoE на триллион параметров — появилась на Alibaba Cloud DashScope (百炼) в июне 2026 года. Теперь её можно вызывать через тот же OpenAI-совместимый endpoint, который вы уже используете для моделей Qwen, с тем же DashScope API key. HighSpeed-вариант (kimi/kimi-k2.7-code-highspeed) использует идентичную модель, но с выходной скоростью в 5–6 раз быстрее: около 180 tokens/s, пиковые 260 tokens/s на коротких контекстах.
Это руководство описывает именно путь через DashScope. Если вам нужен прямой API Moonshot (platform.kimi.ai), читайте наше руководство по интеграции Kimi K2 API. Два пути используют разные API key, разные base URL и разные префиксы model ID — путаница между ними остаётся ошибкой №1 при интеграции.
Источники: документация DashScope Kimi API, получено 2026-06-23; Kimi K2.7 Code Quickstart, получено 2026-06-23.
DashScope vs platform.kimi.ai — ключевые отличия
DashScope размещает сторонние модели вместе с собственной линейкой Qwen от Alibaba. Развёртывание K2.7 Code на DashScope создало вторую точку доступа с реальными отличиями:
| DashScope | Kimi напрямую (platform.kimi.ai) | |
|---|---|---|
| API Key | DashScope API key из консоли Bailian | Moonshot API key из platform.kimi.ai |
| Base URL | https://dashscope.aliyuncs.com/compatible-mode/v1 | https://api.moonshot.ai/v1 |
| Model ID | kimi/kimi-k2.7-code | kimi-k2.7-code |
| HighSpeed Model ID | kimi/kimi-k2.7-code-highspeed | kimi-k2.7-code-highspeed |
| Биллинг | Через аккаунт Alibaba Cloud | Через Moonshot напрямую |
| Регион | Китай (Пекин) | Глобально |
| Кэш контекста | 20% от цены input при cache hit | 20% от цены input при cache hit |
| Другие модели Kimi | K2.6, K2.5 тоже доступны | Полный каталог моделей |
Путь через DashScope удобен, если у вас уже есть аккаунт Bailian, нужен единый биллинг для Qwen + Kimi, или вы работаете внутри сети Alibaba Cloud. Прямой путь через Kimi даёт глобальный доступ и полный каталог Moonshot.
Источник: страница моделей Kimi на DashScope, получено 2026-06-23.
OpenAI-совместимость означает, что провайдер предоставляет endpoint chat-completions, чей контракт запроса и ответа достаточно близок к API OpenAI, чтобы немодифицированный вызов OpenAI SDK работал после замены трёх значений: API key, base URL, название модели. Минимальная поверхность на практике —POST /v1/chat/completions с messages, model и потоковым ответом в форме OpenAI.
Начало работы — API key и endpoint
Шаг 1: Активируйте модель Kimi на DashScope.
Откройте маркетплейс моделей в консоли Bailian, найдите «Kimi» и нажмите Activate Now. Подтвердите авторизацию во всплывающем окне.
Шаг 2: Получите DashScope API key.
Если его ещё нет, следуйте инструкции по получению API key. Задайте как переменную окружения:
export DASHSCOPE_API_KEY="sk-your-dashscope-key"
Шаг 3: Установите OpenAI SDK.
pip install --upgrade openai
Шаг 4: Первый вызов.
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
response = client.chat.completions.create(
model="kimi/kimi-k2.7-code",
messages=[{"role": "user", "content": "Напиши Python-функцию для слияния двух отсортированных списков."}],
stream=True,
)
reasoning_content = ""
answer_content = ""
is_answering = False
for chunk in response:
if chunk.choices:
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content:
reasoning_content += delta.reasoning_content
if hasattr(delta, "content") and delta.content:
if not is_answering:
is_answering = True
answer_content += delta.content
print(delta.content, end="", flush=True)
Обратите внимание: model ID содержит префикс kimi/ — это обязательно для DashScope. В прямом API Moonshot используется kimi-k2.7-code без префикса.
Источник: примеры вызовов DashScope Kimi API, получено 2026-06-23.
Standard vs HighSpeed — когда какой выбрать
DashScope предлагает два model ID для K2.7 Code:
| Model ID | Скорость вывода | Цена input (за 1M tokens) | Цена output (за 1M tokens) | Цена cache hit |
|---|---|---|---|---|
kimi/kimi-k2.7-code | Стандартная | $0.95 | $4.00 | 20% от input ($0.19) |
kimi/kimi-k2.7-code-highspeed | ~180 tok/s (пик 260) | $1.90 | $8.00 | 20% от input ($0.38) |
Оба model ID используют одну и ту же модель. HighSpeed обменивает более высокую цену на значительно более быстрый вывод. Разделение по сценариям:
- HighSpeed — для интерактивных кодинг-ассистентов, IDE-плагинов и любых задач, где разработчик ожидает ответ. Ускорение в 5–6 раз заметно улучшает опыт работы.
- Standard — для пакетного code review, автоматической генерации тестов, CI/CD pipeline и других задач, где latency не критична, а стоимость — да.
Оба варианта работают только в режиме thinking: enable_thinking всегда true, установить false нельзя. Модель всегда генерирует reasoning_content перед основным ответом. Thinking tokens тарифицируются как output tokens — учитывайте их при расчёте стоимости.
Источники: цены Kimi K2.7 Code, получено 2026-06-23; DashScope Kimi API, получено 2026-06-23.
Примеры кода
Python — streaming с thinking
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="kimi/kimi-k2.7-code-highspeed",
messages=[
{"role": "system", "content": "You are a senior software engineer."},
{"role": "user", "content": "Refactor this function to use async/await:\n\ndef fetch_data(urls):\n results = []\n for url in urls:\n resp = requests.get(url)\n results.append(resp.json())\n return results"},
],
stream=True,
)
reasoning = ""
answer = ""
is_answering = False
for chunk in completion:
if not chunk.choices:
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning += delta.reasoning_content
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n\n--- Ответ ---\n")
is_answering = True
print(delta.content, end="", flush=True)
answer += delta.content
Node.js — без streaming
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
});
const response = await client.chat.completions.create({
model: "kimi/kimi-k2.7-code",
messages: [
{ role: "user", content: "Write a TypeScript generic function for retry with exponential backoff." },
],
enable_thinking: true,
});
const msg = response.choices[0].message;
if (msg.reasoning_content) {
console.log("Thinking:", msg.reasoning_content.slice(0, 200), "...");
}
console.log("Answer:", msg.content);
cURL — быстрый тест
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi/kimi-k2.7-code-highspeed",
"messages": [
{"role": "user", "content": "Explain the difference between mutex and semaphore with Go examples."}
],
"enable_thinking": true,
"stream": true
}'
Параметр enable_thinking — не стандартный для OpenAI. В Python SDK передаётся через extra_body={"enable_thinking": True} (для non-streaming вызовов). В Node.js SDK — как top-level параметр. В cURL/HTTP — напрямую в JSON body.
Источник: примеры вызовов DashScope Kimi API, получено 2026-06-23.
Мультимодальный ввод — изображения и видео
K2.7 Code на DashScope принимает изображения и видео вместе с текстом. Это полезно для кодинг-задач, связанных с UI-скриншотами, архитектурными диаграммами и записями экрана.
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="kimi/kimi-k2.7-code",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "Generate the HTML/CSS to replicate this UI component."},
{
"type": "image_url",
"image_url": {
"url": "https://example.com/screenshot.png"
},
},
],
}
],
extra_body={"enable_thinking": True},
)
print(completion.choices[0].message.content)
Ограничения DashScope: изображения и видео только через публичный URL — Base64 не поддерживается. Рекомендуемое разрешение — не более 4K (4096×2160). Видео: MP4, MOV, AVI, WEBM и другие форматы, общий лимит запроса — 100 МБ.
Источник: мультимодальная документация DashScope Kimi, получено 2026-06-23.
Сравнение цен — DashScope vs Kimi напрямую
| K2.7 Code (Standard) | K2.7 Code HighSpeed | |
|---|---|---|
| Kimi напрямую input / output (за 1M) | $0.95 / $4.00 | $1.90 / $8.00 |
| DashScope input / output (за 1M) | Тот же тариф | Тот же тариф |
| Скидка cache hit | 20% от цены input | 20% от цены input |
| Валюта | USD (Moonshot) | RMB (Alibaba Cloud) |
Паритет цен означает, что выбор между DashScope и прямым API определяется удобством биллинга, а не разницей в стоимости. Если вы уже используете Qwen через DashScope, подключение K2.7 Code не требует дополнительных усилий — тот же API key, тот же endpoint, другой model ID.
Кэширование контекста существенно снижает стоимость повторного контекста. В многотурновых кодинг-диалогах с кэшированным system prompt цена input tokens может упасть до $0.19/M (standard) или $0.38/M (HighSpeed).
Источники: цены Kimi K2.7 Code, получено 2026-06-23; кэширование DashScope Kimi API, получено 2026-06-23.
Маршрутизация K2.7 Code через TheRouter
TheRouter маршрутизирует OpenAI-совместимые запросы через настроенных провайдеров. Чтобы направить запросы K2.7 Code через DashScope:
- Настройте DashScope как provider с base URL и API key от DashScope.
- Создайте маппинг model ID:
moonshot/kimi-k2.7-code→kimi/kimi-k2.7-codeна DashScope. - Настройте fallback-маршрутизацию — например, переключение с DashScope на прямой Kimi API при недоступности.
Функция model fallback в TheRouter позволяет строить цепочки провайдеров: сначала DashScope (низкая latency внутри Alibaba Cloud), затем Kimi напрямую, затем альтернативная кодинг-модель вроде DeepSeek V4 или GLM-5.2.
Для команд, уже использующих TheRouter с Aliyun Bailian, K2.7 Code добавляется одной строкой маппинга в конфигурацию провайдера.
Источник: руководство по model fallback в TheRouter.
Типичные ошибки и решения
InvalidModelId: model kimi-k2.7-code not found
Не хватает префикса kimi/. На OpenAI-совместимом endpoint DashScope используйте kimi/kimi-k2.7-code, а не kimi-k2.7-code.
AuthenticationError: Incorrect API key
Вы используете Moonshot API key с endpoint DashScope (или наоборот). Ключи DashScope начинаются с sk- и выдаются в консоли Bailian. Ключи Moonshot — на platform.kimi.ai.
enable_thinking cannot be set to false
K2.7 Code — thinking-only модель. Удалите enable_thinking: false из запроса. Параметр всегда неявно равен true.
Base64 image not supported
Мультимодальный endpoint Kimi на DashScope принимает изображения/видео только по публичному URL. Загрузите файлы на OSS или CDN, затем передайте URL.
RegionNotAvailable
Модели Kimi на DashScope развёрнуты только в регионе Китай (Пекин). Убедитесь, что API key из пекинского региона и base URL указывает на dashscope.aliyuncs.com.
Thinking tokens раздувают стоимость
K2.7 Code всегда генерирует thinking tokens (тарифицируются как output). Следите за длиной reasoning_content. Если thinking tokens стабильно превышают длину ответа, возможно, задача не требует глубокого reasoning — более простые задачи дешевле решать на K2.6 с отключённым thinking.
Источник: начало работы с DashScope Kimi, получено 2026-06-23.
Чек-лист для продакшена
- Изоляция API key: отдельные DashScope API key для production и development.
- Префикс model ID: в конфигурации DashScope —
kimi/kimi-k2.7-code(неkimi-k2.7-code). - Streaming включён: K2.7 Code генерирует длинные thinking-цепочки — streaming предотвращает таймауты.
- Бюджет thinking tokens: мониторинг длины
reasoning_content;max_tokensограничивает общий output включая thinking. - Использование кэша контекста: system prompt и статический контекст — в начало массива messages, чтобы максимизировать cache hit (20% от цены input).
- Fallback настроен: через TheRouter — цепочка DashScope → Kimi напрямую → альтернативная модель.
- Региональные ограничения: DashScope Kimi — только пекинский регион; учитывайте сетевые маршруты.
- Миграция устаревших моделей: K2, K2-Instruct, K2-Thinking будут сняты 9 июля 2026 на DashScope. Переходите на K2.7 Code или K2.6.
- Rate limits протестированы: проверьте, что RPM/TPM вашего тарифа DashScope выдерживает ожидаемый трафик K2.7 Code.
- Обработка ошибок: retry-логика для 429 (rate limit) и 503 (ёмкость).
FAQ
HighSpeed справляется с теми же задачами, что и Standard?
Да. HighSpeed запускает идентичную модель — те же веса, те же возможности. Разница только в скорости вывода (5–6× быстрее) и цене (2×). Выбирайте исходя из чувствительности к latency.
Поддерживает ли K2.7 Code на DashScope function calling?
Да. K2.7 Code поддерживает OpenAI-совместимый function calling и на DashScope, и через прямой API Kimi. Передавайте определения инструментов в параметре tools.
Доступен ли K2.7 Code на DashScope за пределами Пекина?
Пока нет. Модели Kimi на DashScope развёрнуты только в регионе Китай (Пекин). Для глобального доступа используйте прямой API Kimi: api.moonshot.ai.
Как K2.7 Code соотносится с DeepSeek V4 для кодинга?
Подробный разбор — в нашем сравнении кодинг-моделей для агентов. Коротко: K2.7 Code лучше в многошаговых задачах с длинным горизонтом при 30% экономии reasoning tokens; DeepSeek V4 сильнее в общих задачах и дешевле.
Что будет с вызовами K2.6 на DashScope после выхода K2.7 Code?
K2.6 остаётся полностью доступным и не устаревает. K2.7 Code — дополнение, не замена. K2.6 поддерживает режим без thinking (чего K2.7 Code не умеет), поэтому для задач без потребности в reasoning K2.6 быстрее и дешевле.