Kimi

本文档介绍如何在阿里云百炼平台通过OpenAI兼容接口或DashScope SDK调用Kimi系列模型。

重要

本文档仅适用于“中国大陆(北京)”地域。如需使用模型,需使用“中国大陆(北京)”地域的API Key

模型介绍

Kimi 系列模型是由月之暗面公司(Moonshot AI)推出的混合专家(MoE)语言模型。拥有1 万亿总参数和 320 亿激活参数,在前沿知识、推理和编码任务中表现出卓越性能。

模型名称

上下文长度

输入成本

输出成本

免费额度

查看剩余额度

(Token数)

(每千Token)

Moonshot-Kimi-K2-Instruct

131,072

0.004

0.016

100Token

有效期:百炼开通后90天内

快速开始

API 使用前提:已获取API Key并完成配置API Key到环境变量。如果通过SDK调用,需要安装 OpenAI 或 DashScope SDK

OpenAI兼容

Python

示例代码

import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),  
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

completion = client.chat.completions.create(
    model="Moonshot-Kimi-K2-Instruct",
    messages=[
        {'role': 'user', 'content': '你是谁'}
    ]
)

print(completion.choices[0].message.content)

返回结果

我是Kimi,你的智能伙伴和好朋友。我来自月之暗面科技有限公司,擅长中文和英文,会用有趣、准确、温暖的方式和你聊天。有什么我可以帮你的吗?

Node.js

示例代码

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:apiKey: "sk-xxx",
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1"
    }
);
const completion = await openai.chat.completions.create({
    model: "Moonshot-Kimi-K2-Instruct",
    messages: [
        { role: "user", content: "你是谁" }
    ],
});

console.log(completion.choices[0].message.content)

返回结果

我是Kimi,由月之暗面科技有限公司训练的大语言模型。

HTTP

示例代码

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": "Moonshot-Kimi-K2-Instruct",
    "messages": [
        {
            "role": "user", 
            "content": "你是谁"
        }
    ]
}'

返回结果

{
    "choices": [
        {
            "message": {
                "content": "我是Kimi,一个由月之暗面科技有限公司训练的大语言模型。我的知识截止到2025年4月,擅长用自然流畅的语言和你互动交流。很高兴认识你!",
                "role": "assistant"
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 17,
        "completion_tokens": 36,
        "total_tokens": 53
    },
    "created": 1752659072,
    "system_fingerprint": null,
    "model": "Moonshot-Kimi-K2-Instruct",
    "id": "chatcmpl-4bfeb502-90ec-9a2b-8d51-66a676c5fb67"
}

DashScope

Python

示例代码

import os
import dashscope

messages = [
    {'role': 'user', 'content': '你是谁?'}
]

response = dashscope.Generation.call(
    # 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="Moonshot-Kimi-K2-Instruct",
    messages=messages,
    # result_format参数不可以设置为"text"。
    result_format='message'
)

print(response.output.choices[0].message.content)

返回结果

我是Kimi,由月之暗面科技有限公司训练的大语言模型。我的知识截止到2025年4月,擅长用自然流畅的语言和你互动交流。有什么可以帮你的吗?

Java

示例代码

import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;

public class Main {
    public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
        Generation gen = new Generation();
        Message userMsg = Message.builder()
                .role(Role.USER.getValue())
                .content("你是谁?")
                .build();
        GenerationParam param = GenerationParam.builder()
                // 若没有配置环境变量,请用阿里云百炼API Key将下行替换为:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("Moonshot-Kimi-K2-Instruct")
                .messages(Arrays.asList(userMsg))
                // 不可以设置为"text"
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();
        return gen.call(param);
    }
    public static void main(String[] args) {
        try {
            GenerationResult result = callWithMessage();
            System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            // 使用日志框架记录异常信息
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
        System.exit(0);
    }
}

返回结果

我是Kimi,由月之暗面科技有限公司训练的大语言模型。我的知识截止于2025年4月,擅长用自然流畅的语言和你互动交流。有什么可以帮你的吗?

HTTP

示例代码

curl

curl -X POST "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "Moonshot-Kimi-K2-Instruct",
    "input":{
        "messages":[      
            {
                "role": "user",
                "content": "你是谁?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

返回结果

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "role": "assistant",
                    "content": "我是Kimi,一个由月之暗面科技有限公司训练的大语言模型,知识截止于2025年4月。很高兴认识你!"
                }
            }
        ]
    },
    "usage": {
        "total_tokens": 46,
        "output_tokens": 28,
        "input_tokens": 18
    },
    "request_id": "9c8156f8-3e5b-9b84-8776-d88a8c615bdf"
}

其它功能

默认值

  • temperature:0.6

  • top_p: 1.0

  • presence_penalty: 0

错误码

如果模型调用失败并返回报错信息,请参见错误信息进行解决。

常见问题

Q:如何部署 Kimi-K2-Instruct 模型?

A:我们推荐您通过本文介绍的阿里云百炼 API 方式调用。如有私有化部署需求,请参见阿里云 Kimi K2 解决方案,涵盖了通过 PAI、GPU 云服务器等部署模型的方式。