← Все статьи

Kimi K2.7 Code на DashScope: настройка API, вариант HighSpeed и маршрутизация через TheRouter

Кодинг-модель Kimi K2.7 Code от Moonshot AI и её HighSpeed-вариант доступны на Alibaba Cloud DashScope. Разбираем настройку через DashScope, различия model ID, кэширование контекста, режим thinking-only, мультимодальный ввод и маршрутизацию через TheRouter.

· 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 создало вторую точку доступа с реальными отличиями:

DashScopeKimi напрямую (platform.kimi.ai)
API KeyDashScope API key из консоли BailianMoonshot API key из platform.kimi.ai
Base URLhttps://dashscope.aliyuncs.com/compatible-mode/v1https://api.moonshot.ai/v1
Model IDkimi/kimi-k2.7-codekimi-k2.7-code
HighSpeed Model IDkimi/kimi-k2.7-code-highspeedkimi-k2.7-code-highspeed
БиллингЧерез аккаунт Alibaba CloudЧерез Moonshot напрямую
РегионКитай (Пекин)Глобально
Кэш контекста20% от цены input при cache hit20% от цены input при cache hit
Другие модели KimiK2.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.0020% от input ($0.19)
kimi/kimi-k2.7-code-highspeed~180 tok/s (пик 260)$1.90$8.0020% от 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 hit20% от цены input20% от цены 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:

  1. Настройте DashScope как provider с base URL и API key от DashScope.
  2. Создайте маппинг model ID: moonshot/kimi-k2.7-code → kimi/kimi-k2.7-code на DashScope.
  3. Настройте 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 быстрее и дешевле.

Помощь и контакты