
MinIO API文档快速入门
月之暗面(Moonshot AI)推出的 Kimi Chat 及其背后的 Kimi K2 模型,凭借其在超长上下文理解(高达128K tokens)和多模态处理能力上的卓越表现,迅速成为开发者和企业关注的焦点。无论是处理复杂文档分析、构建智能客服系统,还是开发多模态交互应用,Kimi K2 都展现出了强大的技术优势。为帮助开发者快速接入这一前沿能力,本指南将详细指导你如何获取 Kimi K2 API 密钥。通过分步操作说明,你将能够轻松获得调用权限,进而将 Kimi K2 的智能处理能力无缝集成到自己的应用和服务中,为用户创造更具价值的交互体验。
1.登录成功后,点击页面右上角头像或导航栏进入 “控制台”。然后点击左侧菜单“API key管理”,进入下图页面点击创建API key
2.完善信息点击确定
3.复制生成的密钥
安全警示:
为了成功运行上述代码,你可能需要准备:
1.Python 环境 或 Node.js 环境,我们推荐使用 Python 3.8 及以上版本的 Python 解释器;
2.OpenAI SDK,我们的 API 完全兼容 OpenAI 的 API 格式,因此你可以直接使用 Python 或 Node.js OpenAI SDK 进行调用,你可以通过如下方式来安装 OpenAI SDK:
pip install --upgrade 'openai>=1.0' #Pythonnpm install openai@latest #Node.js
如果您成功运行上述代码,且没有任何报错,那么您将看到类似如下的内容输出:
你好,李雷!1+1 等于 2。这是一个基本的数学加法问题。如果你有其他问题或需要帮助,请随时告诉我。
掌握了 API Key 并配置好环境,现在让我们开始进行核心的 API 调用。Kimi K2 API 主要围绕 Chat Completions
接口展开。
1. 纯文本对话
这是最基本也是最常用的功能:向模型发送一段或多段文本消息,并获取模型的文本回复。
from moonshot import Moonshot
# 步骤 1: 初始化客户端 - 替换 '你的API Key' 为你在控制台获取的真实 Key
client = Moonshot(api_key="你的API Key") # 例如: "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# 步骤 2: 构建对话历史 (messages)
# 每条消息是一个字典 (dict),包含 'role' (角色) 和 'content' (内容)
# role 可选: 'system' (系统设定), 'user' (用户), 'assistant' (模型之前的回复)
messages = [
{
"role": "system",
"content": "你是一个乐于助人的AI助手。你的回答需要简洁、清晰、有逻辑性。", # 设定AI的角色和行为
},
{
"role": "user",
"content": "请解释一下量子计算的基本原理是什么?它与传统计算机有什么主要区别?", # 用户的问题
},
]
# 步骤 3: 发起 API 请求
# 使用 chat.completions.create 方法
# 必选参数: model (指定模型), messages (对话历史)
# 可选参数: max_tokens (限制回复最大长度), temperature (控制随机性), top_p (控制多样性)等
completion = client.chat.completions.create(
model="moonshot-v1-8k", # 指定模型ID, 例如 'moonshot-v1-8k', 'moonshot-v1-32k', 'moonshot-v1-128k'
messages=messages,
max_tokens=1024, # 限制模型回复的最大token数
temperature=0.3, # 值越低(接近0)输出越确定/保守; 值越高(接近1)输出越随机/有创意
)
# 步骤 4: 提取模型回复
# 返回的 completion 对象包含多个属性,回复内容在 choices[0].message.content
response_text = completion.choices[0].message.content
# 打印模型回复
print("Kimi 的回答:")
print(response_text)
关键参数详解:
model
: 必选。指定要使用的模型。moonshot-v1-8k
: 支持上下文约 8K tokens。moonshot-v1-32k
: 支持上下文约 32K tokens。moonshot-v1-128k
: Kimi K2 核心优势! 支持上下文约 128K tokens,适合处理超长文档和复杂任务。messages
: 必选。一个列表 (list
),包含对话消息字典 (dict
)。role
: 消息发送者角色。system
用于设定助手的行为和背景;user
代表用户的输入;assistant
代表模型之前的回复(用于多轮对话)。content
: 该角色的消息文本内容。max_tokens
: 可选。限制模型在本次请求中生成的 最大 token 数量。注意:这个限制包括输入 (messages
) 和输出 (response
) 的总 tokens 不能超过模型本身的最大上下文长度 (如 128k)。设置合理的 max_tokens
可以控制成本和响应长度。temperature
: 可选 (默认值通常为 0.7)。取值范围 [0, 2]
。控制生成文本的随机性。top_p
: 可选 (默认值通常为 1.0)。取值范围 [0, 1]
。另一种控制多样性的方式,称为核采样 (nucleus sampling)。top_p
的 token 集合。例如 top_p=0.9
表示模型只考虑概率最高的那部分 token (它们的概率累加达到 90%),然后从这部分里随机选择。temperature
或 top_p
其中一个即可,不必同时调整。stream
: 可选 (True
/False
)。是否启用流式传输 (Server-Sent Events)。启用后 (stream=True
),响应会分块返回,适合需要实时显示结果的场景(如聊天界面)。处理流式响应代码稍复杂一些(见下文进阶部分)。stop
: 可选。一个字符串列表 (list[str]
)。指定一个或多个序列,当模型生成遇到这些序列时,会停止生成。例如 stop=["\n", "。"]
表示遇到换行或句号就停止。用于更精确地控制输出格式。2. 文件上传与处理 (多模态)
Kimi K2 的核心亮点之一是能够理解上传文件的内容(如 PDF, DOCX, XLSX, PPTX, TXT, 图片等)。这极大地扩展了其应用场景。
调用步骤:
files
API 将你的文件上传到平台,获取一个临时的 file_id
。messages
时,在 user
消息的 content
中,使用特定的格式 @file-{file_id}
来引用你上传的文件。你可以要求模型读取文件内容、总结、回答问题、提取信息等。from moonshot import Moonshot
import os
client = Moonshot(api_key="你的API Key")
# 步骤 1: 上传文件
# 指定要上传的文件路径 (替换为你的实际文件路径)
file_path = "./path/to/your/file.pdf" # 支持 PDF, DOCX, XLSX, PPTX, TXT, 图片等
# 使用 files.create 方法上传
# 参数: file (一个打开的文件对象), purpose (固定为 'file-extract')
with open(file_path, "rb") as file_to_upload:
uploaded_file = client.files.create(file=file_to_upload, purpose="file-extract")
# 获取上传文件的唯一标识符 (file_id)
file_id = uploaded_file.id
print(f"文件已上传,ID: {file_id}")
# 步骤 2: 在对话中引用文件并提问
messages = [
{
"role": "system",
"content": "你是一个专业的文档分析助手。请根据用户提供的文档回答问题。"
},
{
"role": "user",
# 使用 @file-{file_id} 格式引用上传的文件,并提问
"content": f"请阅读附件中的文档:@file-{file_id}。\n\n总结这份文档的主要观点,并列出三个关键论据。"
}
]
# 步骤 3: 发起对话请求 (与非文件调用相同)
completion = client.chat.completions.create(
model="moonshot-v1-128k", # 处理长文档强烈推荐使用 128k 模型
messages=messages,
max_tokens=2048,
temperature=0.2 # 文件分析任务通常需要更确定性的输出
)
# 步骤 4: 提取并打印回复
response_text = completion.choices[0].message.content
print("Kimi 的文档分析结果:")
print(response_text)
# (可选) 步骤 5: 删除上传的文件 (如果需要清理)
# client.files.delete(file_id)
文件处理要点:
moonshot-v1-128k
)支持多模态文件解析。user
的 content
中,清晰地指明哪个问题针对哪个文件(尤其在引用多个文件时)。Kimi K2 API 为开发者打开了一扇通往强大国产大模型能力的大门。通过本文的指南,你应该已经掌握了:
持续探索:
https://platform.moonshot.cn/docs
) 是获取最新模型列表、API 详细参数、限制说明、最佳实践和更新公告的权威来源。务必定期查阅。prompt
) 的设计、参数的调整。多尝试不同的 system
设定、提问方式、temperature
值,找到最适合你应用场景的组合。Kimi K2 的 128K 上下文和文件处理能力使其在处理复杂、信息密集的任务上具有独特优势。无论是构建智能知识助手、自动化文档处理流水线,还是开发创新的对话应用,Kimi K2 API 都提供了坚实可靠的基础。现在就开始你的集成之旅,释放国产大模型的潜能吧!
参考资料: