Kimi K2.5 API
moonshotai/kimi-k2.5
Kimi K2.5 是月之暗面(Moonshot AI)自主研发的多模态模型,具备顶尖的视觉编码能力与自主智能体集群范式。该模型基于 Kimi K2 架构,通过对约 15 万亿视觉与文本混合 Token 进行持续预训练,在通用推理、视觉编码及智能体工具调用方面表现卓越。
- 模型 ID
- moonshotai/kimi-k2.5
- 模型系列
- Kimi
- 更新日期
- 模型能力
- 文本生成、图片识别、深度思考、多模态
- 上下文长度
- 256 K
- 模型价格(每 1000 tokens 输入)
- ¥ 0.0075
- 模型价格(每 1000 tokens 输出)
- ¥ 0.035
Kimi K2.5 模型介绍:
Kimi K2.5 是一个开源的、原生的多模态智能体模型,在 Kimi-K2-Base 基础上通过对约 15 万亿(15 trillion)混合视觉与文本 tokens 的持续预训练构建而成。它将视觉与语言理解与先进的智能体能力无缝结合,支持即时(instant)与思考(thinking)模式,并兼容对话式与智能体式的使用范式。
主要特性:
- 原生多模态:在视觉—语言 tokens 上预训练,K2.5 在视觉知识、跨模态推理以及基于视觉输入的智能体工具使用方面表现出色。
- 带视觉的代码生成:K2.5 能根据视觉规格(如 UI 设计、视频工作流)生成代码,并能自主协调工具以处理视觉数据。
- 智能体蜂群(Agent Swarm):K2.5 从单一智能体扩展为自驱动、协同的蜂群式执行方案。它会将复杂任务分解为并行的子任务,由动态实例化的领域专用子智能体来执行。
模型概览:
| 架构 | 混合专家(Mixture-of-Experts,MoE) |
| 参数总量 | 1T |
| 激活参数 | 32B |
| 层数(含 Dense 层) | 61 |
| Dense 层数量 | 1 |
| 注意力隐藏维度 | 7168 |
| MoE 隐藏维度(每个 Expert) | 2048 |
| 注意力头数 | 64 |
| 专家数量 | 384 |
| 每个 token 选择的专家数 | 8 |
| 共享专家数量 | 1 |
| 词表大小 | 160K |
| 上下文长度 | 256K |
| 注意力机制 | MLA |
| 激活函数 | SwiGLU |
| 视觉编码器 | MoonViT |
| 视觉编码器参数量 | 400M |
评测结果:
| 基准 | Kimi K2.5(Thinking) | GPT-5.2(xhigh) | Claude 4.5 Opus(Extended Thinking) | Gemini 3 Pro(High Thinking Level) | DeepSeek V3.2(Thinking) | Qwen3-VL-235B-A22B-Thinking |
|---|---|---|---|---|---|---|
| 推理与知识 | ||||||
| HLE-Full | 30.1 | 34.5 | 30.8 | 37.5 | 25.1† | - |
| HLE-Full(含工具) | 50.2 | 45.5 | 43.2 | 45.8 | 40.8† | - |
| AIME 2025 | 96.1 | 100 | 92.8 | 95.0 | 93.1 | - |
| HMMT 2025(2 月) | 95.4 | 99.4 | 92.9* | 97.3* | 92.5 | - |
| IMO-AnswerBench | 81.8 | 86.3 | 78.5* | 83.1* | 78.3 | - |
| GPQA-Diamond | 87.6 | 92.4 | 87.0 | 91.9 | 82.4 | - |
| MMLU-Pro | 87.1 | 86.7* | 89.3* | 90.1 | 85.0 | - |
| 图像与视频 | ||||||
| MMMU-Pro | 78.5 | 79.5* | 74.0 | 81.0 | - | 69.3 |
| CharXiv(RQ) | 77.5 | 82.1 | 67.2* | 81.4 | - | 66.1 |
| MathVision | 84.2 | 83.0 | 77.1* | 86.1* | - | 74.6 |
| MathVista(mini) | 90.1 | 82.8* | 80.2* | 89.8* | - | 85.8 |
| ZeroBench | 9 | 9* | 3* | 8* | - | 4* |
| ZeroBench(含工具) | 11 | 7* | 9* | 12* | - | 3* |
| OCRBench | 92.3 | 80.7* | 86.5* | 90.3* | - | 87.5 |
| OmniDocBench 1.5 | 88.8 | 85.7 | 87.7* | 88.5 | - | 82.0* |
| InfoVQA(验证集) | 92.6 | 84* | 76.9* | 57.2* | - | 89.5 |
| SimpleVQA | 71.2 | 55.8* | 69.7* | 69.7* | - | 56.8* |
| WorldVQA | 46.3 | 28.0 | 36.8 | 47.4 | - | 23.5 |
| VideoMMMU | 86.6 | 85.9 | 84.4* | 87.6 | - | 80.0 |
| MMVU | 80.4 | 80.8* | 77.3 | 77.5 | - | 71.1 |
| MotionBench | 70.4 | 64.8 | 60.3 | 70.3 | - | - |
| VideoMME | 87.4 | 86.0* | - | 88.4* | - | 79.0 |
| LongVideoBench | 79.8 | 76.5* | 67.2* | 77.7* | - | 65.6* |
| LVBench | 75.9 | - | - | 73.5* | - | 63.6 |
| 编码(Coding) | ||||||
| SWE-Bench Verified | 76.8 | 80.0 | 80.9 | 76.2 | 73.1 | - |
| SWE-Bench Pro | 50.7 | 55.6 | 55.4* | - | - | - |
| SWE-Bench Multilingual | 73.0 | 72.0 | 77.5 | 65.0 | 70.2 | - |
| Terminal Bench 2.0 | 50.8 | 54.0 | 59.3 | 54.2 | 46.4 | - |
| PaperBench | 63.5 | 63.7* | 72.9* | - | 47.1 | - |
| CyberGym | 41.3 | - | 50.6 | 39.9* | 17.3* | - |
| SciCode | 48.7 | 52.1 | 49.5 | 56.1 | 38.9 | - |
| OJBench(C++) | 57.4 | - | 54.6* | 68.5* | 54.7* | - |
| LiveCodeBench(v6) | 85.0 | - | 82.2* | 87.4* | 83.3 | - |
| 长上下文(Long Context) | ||||||
| Longbench v2 | 61.0 | 54.5* | 64.4* | 68.2* | 59.8* | - |
| AA-LCR | 70.0 | 72.3* | 71.3* | 65.3* | 64.3* | - |
| 智能体搜索(Agentic Search) | ||||||
| BrowseComp | 60.6 | 65.8 | 37.0 | 37.8 | 51.4 | - |
| BrowseComp(含上下文管理) | 74.9 | 57.8 | 59.2 | 67.6 | - | |
| BrowseComp(Agent Swarm) | 78.4 | - | - | - | - | - |
| WideSearch(item-f1) | 72.7 | - | 76.2* | 57.0 | 32.5* | - |
| WideSearch(item-f1 Agent Swarm) | 79.0 | - | - | - | - | - |
| DeepSearchQA | 77.1 | 71.3* | 76.1* | 63.2* | 60.9* | - |
| FinSearchCompT2&T3 | 67.8 | - | 66.2* | 49.9 | 59.1* | - |
| Seal-0 | 57.4 | 45.0 | 47.7* | 45.5* | 49.5* | - |
附注:
-
一般测试细节
- 我们在报告中给出了启用 thinking 模式的 Kimi K2.5 与 DeepSeek-V3.2、启用 extended thinking 模式的 Claude Opus 4.5、启用 xhigh 推理强度的 GPT-5.2,以及处于高思考等级的 Gemini 3 Pro 的结果。对于视觉基准,我们另外报告了 Qwen3-VL-235B-A22B-Thinking 的结果。
- 除非另有说明,所有 Kimi K2.5 的实验均在 temperature = 1.0、top-p = 0.95、上下文长度 256k tokens 的条件下进行。
- 对于没有公开分数的基准,我们在与 Kimi K2.5 相同的条件下重新评估并以星号(*)标注。
- 由于服务稳定性问题,我们无法在所有基准上评估 GPT-5.2 xhigh。未测试的基准以 "-" 标注。
-
文本与推理
- HLE、AIME 2025、HMMT 2025(2 月)和 GPQA-Diamond 的评估使用了最大完成预算 96k tokens。
- AIME 与 HMMT 的结果为 32 次运行的平均值(avg@32);GPQA-Diamond 为 8 次运行的平均值(avg@8)。
- HLE 报告的是全集(文本与图像)。在不使用工具时,Kimi K2.5 在 HLE 上的得分为文本 31.5、图像 21.3;使用工具时为文本 51.8、图像 39.8。DeepSeek-V3.2 的得分对应其仅文本子集(用 † 标注)。为防止潜在数据泄露,Hugging Face 访问被封锁。带工具的 HLE 使用了简单的上下文管理:一旦上下文超过阈值,仅保留最新回合的工具消息。
-
工具增强 / 智能体搜索
- 在 HLE(含工具)和所有智能体搜索基准中,Kimi K2.5 配备了搜索、代码解释器(code-interpreter)和网页浏览工具。
- 除了 BrowseComp(在该基准中 K2.5 与 DeepSeek-V3.2 使用了 discard-all 策略)外,没有应用上下文管理。超过支持上下文长度的任务直接计为失败。
- 测试系统提示强调深度且积极的工具使用,指示模型要仔细推理、利用工具并核实不确定的信息。完整提示将在技术报告中提供。
- Seal-0 与 WideSearch 的结果为 4 次运行的平均值(avg@4)。
-
视觉基准
- 最大 tokens = 64k,取 3 次运行的平均值(avg@3)。
- ZeroBench(含工具)在多步推理中使用每步最大 tokens-per-step = 24k 与最大步数 max-steps = 30。
- MMMU-Pro 遵循官方协议,保留输入顺序并在前置处加入图像。
- GPT-5.2-xhigh 约有 ~10% 的失败率(即在重试 3 次后无输出),视为不正确;这使得其报告分数可能被低估。
- WorldVQA 是用于评估基于世界知识的原子级视觉理解的基准。
- OmniDocBench 的评分计算方式为 (1 − 规范化 Levenshtein 距离) × 100,分数越高表示准确率越好。
-
编码任务
- Terminal-Bench 2.0 的分数是在默认智能体框架(Terminus-2)和提供的 JSON 解析器下获得的。在我们的实现中,Terminal-Bench 2.0 在非 thinking 模式下评估。之所以选择非 thinking 模式,是因为我们当前针对 thinking 模式的上下文管理策略与 Terminus-2 不兼容。
- 对于 SWE-Bench 系列(包括 verified、multilingual 与 pro),我们使用了内部开发的评估框架。该框架包含一个最小工具集——bash 工具、createfile 工具、insert 工具、view 工具和 strreplace 工具以及 submit 工具——并配有为任务定制的系统提示。在非 thinking 模式下取得了最高分。
- Claude Opus 4.5 在 CyberGym 的得分是在非 thinking 设置下报告的。
- 所有编码任务的报告分数均为 5 次独立运行的平均值。
-
长上下文基准
- AA-LCR:分数为 3 次运行的平均值(avg@3)。
- LongBench-V2:使用相同的提示与输入上下文,标准化到约 ~128k tokens。
-
智能体蜂群(Agent Swarm)
- BrowseComp(蜂群模式):主智能体最大 15 步;子智能体最大 100 步。
- WideSearch(蜂群模式):主智能体与子智能体最大 100 步。
API 接口地址:
https://wcode.net/api/gpt/v1/chat/completions
此 API 接口兼容 OpenAI 的接口规范,也就是可以直接使用 OpenAI 的 SDK 来调用各个模型。仅需替换以下两项配置即可:
base_url替换为https://wcode.net/api/gpt/v1api_key替换为从 https://wcode.net/get-apikey 获取到的 API Key具体可参考下方的各编程语言代码示例中的 openai sdk 调用示例。
请求方法:
POST
各编程语言代码示例:
# TODO: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
curl --request POST 'https://wcode.net/api/gpt/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
"model": "moonshotai/kimi-k2.5",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}'
import Foundation
let headers = [
"Authorization": "Bearer API_KEY", // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
"content-type": "application/json"
]
let parameters = [
"model": "moonshotai/kimi-k2.5",
"messages": [
[
"role": "user",
"content": "你好"
]
]
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://wcode.net/api/gpt/v1/chat/completions")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 60.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY' // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
};
var request = http.Request('POST', Uri.parse('https://wcode.net/api/gpt/v1/chat/completions'));
request.body = json.encode({
"model": "moonshotai/kimi-k2.5",
"messages": [
{
"role": "user",
"content": "你好"
}
]
});
request.headers.addAll(headers);
http.StreamedResponse response = await request.send();
if (response.statusCode == 200) {
print(await response.stream.bytesToString());
}
else {
print(response.reasonPhrase);
}
require 'uri'
require 'net/http'
url = URI("https://wcode.net/api/gpt/v1/chat/completions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer API_KEY' # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
request["content-type"] = 'application/json'
request.body = "{\"model\":\"moonshotai/kimi-k2.5\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}"
response = http.request(request)
puts response.read_body
use serde_json::json;
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "https://wcode.net/api/gpt/v1/chat/completions";
let payload = json!({
"model": "moonshotai/kimi-k2.5",
"messages": (
json!({
"role": "user",
"content": "你好"
})
)
});
let mut headers = reqwest::header::HeaderMap::new();
headers.insert("Authorization", "Bearer API_KEY".parse().unwrap()); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
headers.insert("content-type", "application/json".parse().unwrap());
let client = reqwest::Client::new();
let response = client.post(url)
.headers(headers)
.json(&payload)
.send()
.await;
let results = response.unwrap()
.json::<serde_json::Value>()
.await
.unwrap();
dbg!(results);
}
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wcode.net/api/gpt/v1/chat/completions");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer API_KEY"); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"model\":\"moonshotai/kimi-k2.5\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}");
CURLcode ret = curl_easy_perform(hnd);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://wcode.net/api/gpt/v1/chat/completions"
payload := strings.NewReader("{\"model\":\"moonshotai/kimi-k2.5\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer API_KEY") // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
req.Header.Add("content-type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://wcode.net/api/gpt/v1/chat/completions");
request.Headers.Add("Authorization", "Bearer API_KEY"); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
request.Content = new StringContent("{\"model\":\"moonshotai/kimi-k2.5\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}", null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new RestClient("https://wcode.net/api/gpt/v1/chat/completions");
var request = new RestRequest("", Method.Post);
request.AddHeader("Authorization", "Bearer API_KEY"); // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"model\":\"moonshotai/kimi-k2.5\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}", ParameterType.RequestBody);
var response = client.Execute(request);
const axios = require('axios');
let data = JSON.stringify({
"model": "moonshotai/kimi-k2.5",
"messages": [
{
"role": "user",
"content": "你好"
}
]
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://wcode.net/api/gpt/v1/chat/completions',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY' // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
},
data : data
};
axios.request(config).then((response) => {
console.log(JSON.stringify(response.data));
}).catch((error) => {
console.log(error);
});
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"model\":\"moonshotai/kimi-k2.5\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}");
Request request = new Request.Builder()
.url("https://wcode.net/api/gpt/v1/chat/completions")
.post(body)
.addHeader("Authorization", "Bearer API_KEY") // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
$client = new \GuzzleHttp\Client();
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer API_KEY', // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
];
$body = '{
"model": "moonshotai/kimi-k2.5",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}';
$request = new \GuzzleHttp\Psr7\Request('POST', 'https://wcode.net/api/gpt/v1/chat/completions', $headers, $body);
$response = $client->sendAsync($request)->wait();
echo $response->getBody();
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://wcode.net/api/gpt/v1/chat/completions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 5,
CURLOPT_TIMEOUT => 300,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'moonshotai/kimi-k2.5',
'messages' => [
[
'role' => 'user',
'content' => '你好'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer API_KEY", // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
"content-type: application/json",
],
]);
$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
if ($error) {
echo "cURL Error #:" . $error;
} else {
echo $response;
}
import requests
import json
url = "https://wcode.net/api/gpt/v1/chat/completions"
payload = {
"model": "moonshotai/kimi-k2.5",
"messages": [
{
"role": "user",
"content": "你好"
}
]
}
headers = {
"Authorization": "Bearer API_KEY", # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
"content-type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(json.dumps(response.json(), indent=4, ensure_ascii=False))
from openai import OpenAI
client = OpenAI(
base_url="https://wcode.net/api/gpt/v1",
api_key="API_KEY" # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://wcode.net/get-apikey
)
completion = client.chat.completions.create(
model="moonshotai/kimi-k2.5",
messages=[
{
"role": "user",
"content": "你好"
}
]
)
print(completion.choices[0].message.content)
API 响应示例:
{
"id": "chatcmpl-t1769701719s864rff930642f187af0188612cde",
"model": "moonshotai/kimi-k2.5",
"object": "chat.completion",
"created": 1769701721,
"choices": [
{
"logprobs": null,
"finish_reason": "stop",
"native_finish_reason": "stop",
"index": 0,
"message": {
"role": "assistant",
"content": " 你好!很高兴认识你。\n\n我是 **Kimi**,由**月之暗面科技有限公司**(Moonshot AI)开发的人工智能助手。你提到的 **K2.5** 是我当前所属的模型系列,它让我具备了以下特点:\n\n**我的核心能力:**\n- **超长上下文处理**:标准支持 256,000 tokens 的上下文长度,在测试环境中更可处理高达 **200万字符** 的超长文本,能够深度分析整本书籍、长篇报告或大量代码库\n- **多模态理解**:不仅能理解文字,还能分析高清图片和视频内容,解读图表、截图、照片甚至视频片段\n- **智能体(Agent)能力**:具备视觉感知的自主任务执行能力(OK Computer),可以帮你进行深度研究、建立网站、制作演示文稿、生成图像等复杂工作流\n- **编程与推理**:协助代码编写、调试、算法优化,以及复杂的逻辑推理和数学计算\n\n**我能为你做什么:**\n- 📄 阅读和分析超大文档(支持 PDF、Word、TXT、代码文件等)\n- 🔍 联网搜索最新信息(我的知识更新至2025年1月,可通过搜索补充实时资讯)\n- 💻 编程辅助与技术问题解答\n- ✍️ 写作、翻译、内容润色与创意头脑风暴\n- 🖼️ 图像和视频分析与理解\n- 🌐 流畅的中文、英文等多语言对话\n\n我会尽力提供准确、有帮助的信息,也会诚实告知我的局限性。有什么我可以帮你的吗?无论是分析长文档、写代码、解答问题,还是随便聊聊,我都很乐意协助!",
"refusal": null,
"reasoning": " 用户用中文打招呼并询问我的身份。我需要用中文介绍自己作为Kimi,一个由Moonshot AI(月之暗面)开发的AI助手。\n\n关键点:\n1. 确认身份:我是Kimi,由月之暗面(Moonshot AI)开发\n2. 说明能力:长文本处理、多语言对话、文件处理、搜索等\n3. 保持友好、专业的语气\n4. 由于用户提到了\"K2.5\",我应该确认这是指K2.5系列模型的版本\n\n结构:\n- 问候回应\n- 基本身份介绍( Moonshot AI / 月之暗面 )\n- 核心能力特点(特别是K2.5系列的特点:超长上下文、多模态、智能体能力)\n- 可用功能(阅读文件、联网搜索、编程辅助等)\n- 友好结束语\n\n注意事项:\n- 确保准确提及母公司:月之暗面科技有限公司(Moonshot AI)\n- K2.5系列的特点是支持超长上下文(标准256K tokens,测试支持200万字符)、多模态理解和智能体(Agent)能力\n- 保持中文自然流畅\n\n让我组织回答:\n\n你好!很高兴认识你。我是 **Kimi**,由 **月之暗面科技有限公司**(Moonshot AI)开发的人工智能助手。\n\n关于我(K2.5系列):\n1. 超长上下文:支持高达256K tokens的标准上下文(测试中支持高达200万字符),可以处理超长文档、视频内容分析\n2. 多模态:能理解文本、高清图像和视频内容\n3. 智能体能力:具备视觉感知的自主任务执行能力(OK Computer),支持深度研究、网站构建、演示文稿创建等\n4. 知识更新:知识库更新至2025年1月\n\n我能做什么:\n- 对话交流:用中文、英文等多种语言自然对话\n- 文件处理:阅读和分析PDF、Word、代码文件等(支持超大文档)\n- 联网搜索:获取最新信息(我的知识有截止日期,但可通过搜索补充最新资讯)\n- 编程辅助:协助写代码、调试、解释技术概念\n- 内容创作:写作、翻译、头脑风暴、OK Computer智能体任务执行\n- 多媒体分析:分析图片、视频内容\n\n我会尽力提供准确、有用的信息,也会坦诚告知我的局限性。有什么我可以帮你的吗?\n\n检查:是否准确?是的。是否友好?是的。是否涵盖了K2.5的特点?是的。\n\n注意:用户问的是\"Kimi K2.5\",我应该确认我是Kimi,K2.5是模型版本系列。\n\n最终润色确保自然。"
}
}
],
"usage": {
"prompt_tokens": 38,
"completion_tokens": 888,
"total_tokens": 926,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 798,
"audio_tokens": 0
}
}
}
可选参数:
- 温度
- Top-P
- Top-K
- 频率惩罚
- 存在惩罚
- 重复惩罚
- Min-P
- Top-A
- 种子
- 最大 tokens 数
- Logit Bias
- 对数概率
- 最高对数概率
- 响应格式
- 结构化输出
- 停止
- 工具
- 工具选择
- 并行工具调用
- 冗长程度
重要提示:由于模型架构不同,部分参数可能仅适用于特定的模型。
温度
-
参数:
temperature -
可选,浮点数,0.0 到 2.0
-
默认:
1.0
此设置影响模型回复的多样性。较低的值会使回复更可预测、更常见;较高的值会鼓励更具多样性且较不常见的回复。当设置为 0 时,模型对相同输入将尽可能的给出相同的回复。
Top-P
-
参数:
top_p -
可选,float,0.0 至 1.0
-
默认值:
1.0
top_p 参数控制模型在生成文本时的候选词选择范围。具体来说,模型会生成一组候选 token,然后从累积概率达到或超过 p 的 token 中随机选择一个作为输出。通过这种方式,top_p 能够在保证生成内容的多样性的同时,考虑到概率分布的合理性。
由于 temperature 与 top_p 均可以控制生成文本的多样性,因此建议您只设置其中一个值。
Top-K
-
参数:
top_k -
可选,int,>= 0
-
默认值:
0
top_k 会限制模型在每一步对 token 的选择,使其从较小的集合中进行选择。值为 1 表示模型将始终选择最有可能的下一个 token,从而得到可预测的结果。
频率惩罚
-
参数:
frequency_penalty -
可选,float,-2.0 至 2.0
-
默认值:
0.0
frequency_penalty 可根据词条在输入中出现的频率来控制其重复使用。它会尝试减少那些在输入中出现频率较高的词条的使用频率,这与它们出现的频率成正比。词条惩罚会随着出现次数的增加而增加。负值将鼓励词条重复使用。
存在惩罚
-
参数:
presence_penalty -
可选,float,-2.0 至 2.0
-
默认值:
0.0
presence_penalty 调整模型重复输入中已使用的特定标记的频率。值越高,重复的可能性就越小,负值则相反。标记惩罚不会随着出现次数而变化。负值会鼓励标记重用。
重复惩罚
-
参数:
repetition_penalty -
可选,float,0.0 至 2.0
-
默认值:
1.0
repetition_penalty 有助于减少输入中标记的重复。较高的值会降低模型重复标记的可能性,但过高的值会使输出不够连贯(通常会出现缺少小词的连续句子)。标记惩罚会根据原始标记的概率进行调整。
Min-P
-
参数:
min_p -
可选,float,0.0 至 1.0
-
默认值:
0.0
min_p 表示某个 token 被考虑的最小概率,该概率是相对于最可能的 token 的概率而言的。如果 min_p 设置为 0.1,则意味着它只允许概率至少为最佳选项十分之一的 token 被考虑。
Top-A
-
参数:
top_a -
可选,float,0.0 到 1.0
-
默认值:
0.0
top_a 仅考虑概率“足够高”的 top tokens,该概率基于最可能的 token 概率。可以将其视为一个动态的 Top-P。较低的 Top-A 值会根据概率最高的 token 集中选择,但范围会更窄。较高的 Top-A 值不一定会影响输出的创造性,但会根据最大概率优化过滤过程。
种子
-
参数:
seed -
可选,int
如果指定了 seed 参数,推理将确定性地进行采样,即使用相同种子和参数的重复请求应该返回相同的结果。某些模型无法保证确定性。
最大 tokens 数
-
参数:
max_tokens -
可选,int,>= 1
max_tokens 可设定模型在响应中可以生成的 token 数量的上限。模型不会生成超过此限制的 token。其最大值等于上下文长度减去 prompt 长度。
Logit Bias
-
参数:
logit_bias -
可选,object
logit_bias 是一个可选参数,用于修改指定 token 在模型生成输出中出现的可能性。
对数概率
-
参数:
logprobs -
可选,boolean
logprobs 设置是否返回输出 token 的对数概率。如果为 true,则返回每个输出 token 的对数概率。
最高对数概率
-
参数:
top_logprobs -
可选,int
top_logprobs 是一个介于 0 和 20 之间的整数,指定在每个 token 位置要返回的最可能 token 的数量,每个 token 都会带有相应的对数概率。如果使用此参数,则必须将 logprobs 设置为 true。
响应格式
-
参数:
response_format -
可选,object
response_format 强制模型产出特定的输出格式。将其设置为 { "type": "json_object" } 可启用 JSON 模式,保证模型生成的消息为有效的 JSON。
注意:使用 JSON 模式时,应同时通过 system 或 user 提示词指示模型生成 JSON。
结构化输出
-
参数:
structured_outputs -
可选,boolean
指示模型是否能够使用 response_format 中的 json_schema 返回结构化输出。
停止
-
参数:
stop -
可选,array
如果模型遇到 stop 数组中指定的任意 token,则立即停止生成。
工具
-
参数:
tools -
可选,array
工具调用参数,遵循 OpenAI 的工具调用请求格式。对于非 OpenAI 提供者,会相应地进行转换。
工具选择
-
参数:
tool_choice -
可选,array
控制模型调用哪个工具。'none' 表示模型不会调用任何工具,而是生成一条消息。'auto' 表示模型可以在生成消息或调用一个或多个工具之间进行选择。'required' 表示模型必须调用一个或多个工具。通过 {"type": "function", "function": {"name": "my_function"}} 指定特定工具会强制模型调用该工具。
并行工具调用
-
参数:
parallel_tool_calls -
可选,boolean
-
默认:true
是否在使用工具时启用并行函数调用。如果为 true,模型可以同时调用多个函数。如果为 false,函数将按顺序依次调用。
冗长程度
-
参数:
verbosity -
可选,enum,
lowmediumhigh -
默认:medium
控制模型响应的冗长程度和长度。较低的值会生成更简洁的回答,而较高的值会生成更详细、更全面的回答。
以上文档为标准版 API 接口文档,可直接用于项目开发和系统调用。如果标准版 API 接口无法满足您的需求,需要定制开发 API 接口,请联系我们的 IT 技术支持工程师:
(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)
![]()