全部产品
Search
文档中心

Alibaba Cloud Model Studio:Kimi

更新时间:Nov 14, 2025

Topik ini menjelaskan cara memanggil model Kimi di Alibaba Cloud Model Studio menggunakan API yang kompatibel dengan OpenAI atau SDK DashScope.

Penting

Model yang dijelaskan dalam topik ini hanya tersedia di wilayah Tiongkok (Beijing). Untuk menggunakan model ini, Anda harus memiliki Kunci API dari wilayah Tiongkok (Beijing).

Ikhtisar

Kimi adalah rangkaian model bahasa besar (LLM) dari Moonshot AI.

  • kimi-k2-thinking: Model ini hanya mendukung mode berpikir dan menampilkan proses berpikir melalui bidang reasoning_content. Model ini memiliki kemampuan coding dan pemanggilan alat yang sangat baik, sehingga cocok untuk skenario yang memerlukan analisis logis, perencanaan, atau pemahaman mendalam.

  • Moonshot-Kimi-K2-Instruct: Model ini tidak mendukung pemikiran mendalam dan menghasilkan tanggapan secara langsung. Dengan kecepatan respons yang lebih cepat, model ini cocok untuk skenario yang memerlukan jawaban cepat dan langsung.

Model

Jendela konteks

Maksimum input

Rantai-pikiran maksimum

Tanggapan maksimum

Harga input

Harga output

(Token)

(Juta token)

kimi-k2-thinking

262.144

229.376

32.768

16.384

$0,574

$2,294

Moonshot-Kimi-K2-Instruct

131.072

131.072

-

8.192

$0,574

$2,294

Memulai

Sebelum memanggil API, buat Kunci API dan ekspor Kunci API sebagai Variabel lingkungan. Jika Anda memanggil model menggunakan SDK, instal SDK OpenAI atau DashScope.

Kompatibel dengan OpenAI

Python

Kode contoh

import os
from openai import OpenAI

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-k2-thinking",
    messages=[{"role": "user", "content": "Who are you?"}],
    stream=True,
)

reasoning_content = ""  # Proses berpikir lengkap
answer_content = ""     # Tanggapan lengkap
is_answering = False    # Apakah fase tanggapan telah dimulai

print("\n" + "=" * 20 + "Proses berpikir" + "=" * 20 + "\n")

for chunk in completion:
    if chunk.choices:
        delta = chunk.choices[0].delta
        # Kumpulkan hanya konten berpikir
        if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
            if not is_answering:
                print(delta.reasoning_content, end="", flush=True)
            reasoning_content += delta.reasoning_content
        # Menerima konten, mulai memberikan tanggapan
        if hasattr(delta, "content") and delta.content:
            if not is_answering:
                print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
                is_answering = True
            print(delta.content, end="", flush=True)
            answer_content += delta.content

Tanggapan contoh

====================Proses berpikir====================

Pengguna bertanya "Who are you?", yang merupakan pertanyaan langsung tentang identitas saya. Saya perlu menjawab secara jujur berdasarkan identitas saya yang sebenarnya.

Saya adalah asisten artificial intelligence yang dikembangkan oleh Moonshot AI, dan nama saya Kimi. Saya harus memperkenalkan diri secara jelas dan ringkas, termasuk hal-hal berikut:
1. Identitas saya: asisten AI
2. Pengembang saya: Moonshot AI
3. Nama saya: Kimi
4. Kemampuan inti saya: pemrosesan teks panjang, percakapan cerdas, pemrosesan file, pencarian, dll.

Saya harus menjaga nada ramah dan profesional, menghindari istilah teknis berlebihan agar pengguna biasa dapat memahami. Pada saat yang sama, saya harus menekankan bahwa saya adalah AI tanpa kesadaran pribadi, emosi, atau pengalaman pribadi.

Struktur tanggapan:
- Nyatakan langsung identitas saya
- Sebutkan pengembang
- Perkenalkan secara singkat kemampuan inti
- Tetap sederhana dan jelas
====================Tanggapan lengkap====================

Saya Kimi, asisten AI yang dikembangkan oleh Moonshot AI. Saya didasarkan pada arsitektur Mixture-of-Experts (MoE) dan memiliki kemampuan seperti pemahaman konteks ultra-panjang, percakapan cerdas, pemrosesan file, pembuatan kode, dan inferensi tugas kompleks. Bagaimana saya bisa membantu Anda?

Node.js

Kode contoh

import OpenAI from "openai";
import process from 'process';

// Inisialisasi klien OpenAI
const openai = new OpenAI({
    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx"
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1'
});

let reasoningContent = ''; // Proses berpikir lengkap
let answerContent = ''; // Tanggapan lengkap
let isAnswering = false; // Apakah fase tanggapan telah dimulai

async function main() {
    const messages = [{ role: 'user', content: 'Who are you?' }];

    const stream = await openai.chat.completions.create({
        model: 'kimi-k2-thinking',
        messages,
        stream: true,
    });

    console.log('\n' + '='.repeat(20) + 'Proses berpikir' + '='.repeat(20) + '\n');

    for await (const chunk of stream) {
        if (chunk.choices?.length) {
            const delta = chunk.choices[0].delta;
            // Kumpulkan hanya konten berpikir
            if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
                if (!isAnswering) {
                    process.stdout.write(delta.reasoning_content);
                }
                reasoningContent += delta.reasoning_content;
            }

            // Menerima konten, mulai memberikan tanggapan
            if (delta.content !== undefined && delta.content) {
                if (!isAnswering) {
                    console.log('\n' + '='.repeat(20) + 'Tanggapan lengkap' + '='.repeat(20) + '\n');
                    isAnswering = True;
                }
                process.stdout.write(delta.content);
                answerContent += delta.content;
            }
        }
    }
}

main();

Hasil

====================Proses berpikir====================

Pengguna bertanya "Who are you?", yang merupakan pertanyaan langsung tentang identitas saya. Saya perlu menjawab secara jujur berdasarkan identitas saya yang sebenarnya.

Saya adalah asisten artificial intelligence yang dikembangkan oleh Moonshot AI, dan nama saya Kimi. Saya harus memperkenalkan diri secara jelas dan ringkas, termasuk hal-hal berikut:
1. Identitas saya: asisten AI
2. Pengembang saya: Moonshot AI
3. Nama saya: Kimi
4. Kemampuan inti saya: pemrosesan teks panjang, percakapan cerdas, pemrosesan file, pencarian, dll.

Saya harus menjaga nada ramah dan profesional, menghindari istilah teknis berlebihan agar pengguna biasa dapat memahami dengan mudah. Pada saat yang sama, saya harus menekankan bahwa saya adalah AI tanpa kesadaran pribadi, emosi, atau pengalaman pribadi untuk menghindari kesalahpahaman.

Struktur tanggapan:
- Nyatakan langsung identitas saya
- Sebutkan pengembang
- Perkenalkan secara singkat kemampuan inti
- Tetap sederhana dan jelas
====================Tanggapan lengkap====================

Saya Kimi, asisten artificial intelligence yang dikembangkan oleh Moonshot AI.

Saya ahli dalam:
- Pemahaman dan pembuatan teks panjang
- Percakapan cerdas dan tanya jawab
- Pemrosesan dan analisis file
- Pengambilan dan integrasi informasi

Sebagai asisten AI, saya tidak memiliki kesadaran pribadi, emosi, atau pengalaman, tetapi saya akan melakukan yang terbaik untuk memberikan bantuan yang akurat dan berguna kepada Anda. Bagaimana saya bisa membantu Anda?

HTTP

Kode contoh

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-k2-thinking",
    "messages": [
        {
            "role": "user", 
            "content": "Who are you?"
        }
    ]
}'

Tanggapan contoh

{
    "choices": [
        {
            "message": {
                "content": "I am Kimi, an artificial intelligence assistant developed by Moonshot AI. I am good at handling long texts, intelligent conversation, file analysis, programming assistance, and complex task inference. I can help you answer questions, create content, and analyze documents. How can I help you?",
                "reasoning_content": "The user asks \"Who are you?\", which is a direct question about my identity. I need to answer truthfully based on my actual identity.\n\nI am an artificial intelligence assistant developed by Moonshot AI, and my name is Kimi. I should introduce myself clearly and concisely, including the following:\n1. My identity: AI assistant\n2. My developer: Moonshot AI\n3. My name: Kimi\n4. My core capabilities: long-text processing, intelligent conversation, file processing, search, etc.\n\nI should maintain a friendly and professional tone while providing useful information. No need to overcomplicate, just answer directly.",
                "role": "assistant"
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 8,
        "completion_tokens": 183,
        "total_tokens": 191
    },
    "created": 1762753998,
    "system_fingerprint": null,
    "model": "kimi-k2-thinking",
    "id": "chatcmpl-485ab490-90ec-48c3-85fa-1c732b683db2"
}

DashScope

Python

Kode contoh

import os
from dashscope import Generation

# Inisialisasi parameter permintaan
messages = [{"role": "user", "content": "Who are you?"}]

completion = Generation.call(
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="kimi-k2-thinking",
    messages=messages,
    result_format="message",  # Atur format hasil menjadi message
    stream=True,              # Aktifkan keluaran streaming
    incremental_output=True,  # Aktifkan keluaran inkremental
)

reasoning_content = ""  # Proses berpikir lengkap
answer_content = ""     # Tanggapan lengkap
is_answering = False    # Apakah fase tanggapan telah dimulai

print("\n" + "=" * 20 + "Proses berpikir" + "=" * 20 + "\n")

for chunk in completion:
    message = chunk.output.choices[0].message
    
    # Kumpulkan hanya konten berpikir
    if message.reasoning_content:
        if not is_answering:
            print(message.reasoning_content, end="", flush=True)
        reasoning_content += message.reasoning_content

    # Menerima konten, mulai memberikan tanggapan
    if message.content:
        if not is_answering:
            print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
            is_answering = True
        print(message.content, end="", flush=True)
        answer_content += message.content

# Setelah loop, variabel reasoning_content dan answer_content berisi konten lengkap
# Anda dapat melakukan pemrosesan lanjutan di sini sesuai kebutuhan
# print(f"\n\nProses berpikir lengkap:\n{reasoning_content}")
# print(f"\nTanggapan lengkap:\n{answer_content}")

Tanggapan contoh

====================Proses berpikir====================

Pengguna bertanya "Who are you?", yang merupakan pertanyaan langsung tentang identitas saya. Saya perlu menjawab secara jujur berdasarkan identitas saya yang sebenarnya.

Saya adalah asisten artificial intelligence yang dikembangkan oleh Moonshot AI, dan nama saya Kimi. Saya harus menyatakan hal ini secara jelas dan ringkas.

Informasi penting yang harus disertakan sebagai berikut:
1. Nama saya: Kimi
2. Pengembang saya: Moonshot AI
3. Sifat saya: Asisten artificial intelligence
4. Saya dapat memberikan bantuan: menjawab pertanyaan, membantu pembuatan, dll.

Saya harus menjaga nada ramah dan membantu sambil secara akurat menyatakan identitas saya. Saya tidak boleh berpura-pura menjadi manusia atau memiliki identitas pribadi.

Tanggapan yang sesuai bisa berupa:
"Saya Kimi, asisten artificial intelligence yang dikembangkan oleh Moonshot AI. Saya dapat membantu Anda dengan berbagai tugas seperti menjawab pertanyaan, membuat konten, dan menganalisis dokumen. Bagaimana saya bisa membantu Anda?"

Tanggapan ini langsung, akurat, dan mengundang interaksi lebih lanjut.
====================Tanggapan lengkap====================

Saya Kimi, asisten artificial intelligence yang dikembangkan oleh Moonshot AI. Saya dapat membantu Anda dengan berbagai tugas seperti menjawab pertanyaan, membuat konten, dan menganalisis dokumen. Bagaimana saya bisa membantu Anda?

Java

Kode contoh

// Versi SDK DashScope >= 2.19.4
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;
import io.reactivex.Flowable;
import java.lang.System;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
    private static final Logger logger = LoggerFactory.getLogger(Main.class);
    private static StringBuilder reasoningContent = new StringBuilder();
    private static StringBuilder finalContent = new StringBuilder();
    private static boolean isFirstPrint = true;

    private static void handleGenerationResult(GenerationResult message) {
        String reasoning = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
        String content = message.getOutput().getChoices().get(0).getMessage().getContent();

        if (reasoning!= null&&!reasoning.isEmpty()) {
            reasoningContent.append(reasoning);
            if (isFirstPrint) {
                System.out.println("====================Proses berpikir====================");
                isFirstPrint = false;
            }
            System.out.print(reasoning);
        }

        if (content!= null&&!content.isEmpty()) {
            finalContent.append(content);
            if (!isFirstPrint) {
                System.out.println("\n====================Tanggapan lengkap====================");
                isFirstPrint = true;
            }
            System.out.print(content);
        }
    }
    private static GenerationParam buildGenerationParam(Message userMsg) {
        return GenerationParam.builder()
                // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("kimi-k2-thinking")
                .incrementalOutput(true)
                .resultFormat("message")
                .messages(Arrays.asList(userMsg))
                .build();
    }
    public static void streamCallWithMessage(Generation gen, Message userMsg)
            throws NoApiKeyException, ApiException, InputRequiredException {
        GenerationParam param = buildGenerationParam(userMsg);
        Flowable<GenerationResult> result = gen.streamCall(param);
        result.blockingForEach(message -> handleGenerationResult(message));
    }

    public static void main(String[] args) {
        try {
            Generation gen = new Generation();
            Message userMsg = Message.builder().role(Role.USER.getValue()).content("Who are you?").build();
            streamCallWithMessage(gen, userMsg);
            // Cetak hasil akhir
            // if (reasoningContent.length() > 0) {
            //     System.out.println("\n====================Tanggapan lengkap====================");
            //     System.out.println(finalContent.toString());
            // }
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            logger.error("Terjadi pengecualian: {}", e.getMessage());
        }
        System.exit(0);
    }
}

Tanggapan contoh

====================Proses berpikir====================
Pengguna bertanya "Who are you?", yang merupakan pertanyaan langsung tentang identitas saya. Saya perlu menjawab secara jujur berdasarkan identitas saya yang sebenarnya.

Saya adalah asisten artificial intelligence yang dikembangkan oleh Moonshot AI, dan nama saya Kimi. Saya harus menyatakan hal ini secara jelas dan ringkas.

Tanggapan harus mencakup hal-hal berikut:
1. Identitas saya: asisten AI
2. Pengembang saya: Moonshot AI
3. Nama saya: Kimi
4. Kemampuan inti saya: pemrosesan teks panjang, percakapan cerdas, pemrosesan file, dll.

Saya tidak boleh berpura-pura menjadi manusia, juga tidak boleh memberikan terlalu banyak detail teknis. Saya hanya perlu memberikan jawaban yang jelas dan ramah.
====================Tanggapan lengkap====================
Saya Kimi, asisten artificial intelligence yang dikembangkan oleh Moonshot AI. Saya ahli dalam menangani teks panjang, melakukan percakapan cerdas, menjawab pertanyaan, membantu pembuatan, dan membantu Anda menganalisis serta memproses file. Bagaimana saya bisa membantu Anda?

HTTP

Kode contoh

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": "kimi-k2-thinking",
    "input":{
        "messages":[      
            {
                "role": "user",
                "content": "Who are you?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

Tanggapan contoh

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "content": "I am Kimi, an artificial intelligence assistant developed by Moonshot AI. I can help you answer questions, create content, analyze documents, and write code. How can I help you?",
                    "reasoning_content": "The user asks \"Who are you?\", which is a direct question about my identity. I need to answer truthfully based on my actual identity.\n\nI am an artificial intelligence assistant developed by Moonshot AI, and my name is Kimi. I should state this clearly and concisely.\n\nKey information to include the following:\n1. My name: Kimi\n2. My developer: Moonshot AI\n3. My nature: Artificial intelligence assistant\n4. I can provide help: answer questions, assist with creation, etc.\n\nI should respond in a friendly and direct manner that is easy for the user to understand.",
                    "role": "assistant"
                }
            }
        ]
    },
    "usage": {
        "input_tokens": 9,
        "output_tokens": 156,
        "total_tokens": 165
    },
    "request_id": "709a0697-ed1f-4298-82c9-a4b878da1849"
}

Fitur model

Model

Percakapan multi-turn

Pemikiran mendalam

Pemanggilan fungsi

Keluaran terstruktur

Pencarian web

Mode parsial

Cache konteks

kimi-k2-thinking

Didukung

Didukung

Didukung

Didukung

Tidak didukung

Tidak didukung

Tidak didukung

Moonshot-Kimi-K2-Instruct

Didukung

Tidak didukung

Didukung

Tidak didukung

Didukung

Tidak didukung

Tidak didukung

Nilai parameter default

Model

suhu

top_p

presence_penalty

kimi-k2-thinking

1,0

-

-

Moonshot-Kimi-K2-Instruct

0,6

1,0

0

Tanda hubung (-) menunjukkan bahwa parameter tersebut tidak dapat dikonfigurasi dan tidak memiliki nilai default.

Kode kesalahan

Jika pemanggilan model gagal dan pesan kesalahan dikembalikan, lihat Pesan kesalahan untuk informasi selengkapnya.