一、注册与获取API Key

Kimi 是由月之暗面(Moonshot AI)开发的国产大语言模型,以20万字超长上下文为核心特色。无论是整本小说、几十页PDF、还是长篇幅的技术文档,Kimi 都能一次性读完并分析。API兼容OpenAI格式,接入非常简单。

步骤1:注册账号

访问 https://kimi.moonshot.cn/,点击右上角登录/注册。支持手机号注册,注册后即可使用Web版体验 Kimi 的能力。

步骤2:进入开放平台

登录后,将鼠标悬停在右上角头像上,点击下拉菜单中的「开放平台」(或直接访问 https://platform.moonshot.cn/)。

  • 在开放平台左侧菜单点击「API Key 管理」
  • 点击「新建 API Key」
  • 给 Key 起个名字(如"开发测试"或"生产环境")
  • 创建后 Key 会展示一次,请立即复制保存
⚠️ 重要提醒:API Key 只在创建时展示一次,关闭弹窗后无法再次查看。务必复制到安全位置(密码管理器或 .env 文件)。如不慎丢失,只能删除重新创建。

步骤3:查看免费额度

Kimi的长文本能力在小程序场景里特别实用——比如做智能客服(能记住上下文)、合同助手、资料查询。本文将介绍如何把Kimi API接到小程序中。

💡 提示:Kimi API 完全兼容 OpenAI 的 API 格式,所以你可以直接用 openai Python 包或 openai Node.js SDK,只改 base_urlapi_key 即可无缝切换。

二、用curl测试(最快验证方式)

不管用什么语言开发,先用 curl 跑通一遍,确认 API Key 有效、网络通畅。Kimi API 的 base URL 为 https://api.moonshot.cn/v1

bash
curl https://api.moonshot.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer *** \
  -d '{
    "model": "moonshot-v1-auto",
    "messages": [
      {"role": "system", "content": "你是一个有用的助手"},
      {"role": "user", "content": "用一句话解释什么是API"}
    ]
  }'

如果成功,会返回类似下面的 JSON 结果:

json
{
  "id": "chatcmpl-xxx",
  "object": "chat.completion",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "API(应用程序编程接口)是不同软件组件之间约定的通信方式,它定义了一组规则,让一个程序可以请求另一个程序的数据或功能,无需了解其内部实现细节。"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 48,
    "total_tokens": 73
  }
}
⚠️ 注意:如果 curl 报 401 错误,请检查:API Key 是否完整复制(前后不能有空格)、Key 是否在开放平台被删除或停用、请求地址是否为 https://api.moonshot.cn/v1(注意是 moonshot 不是 kimi)。

三、用Python调用

Python 是调用 AI API 最常用的语言。Kimi 兼容 OpenAI SDK,直接用 openai 包即可。

安装依赖

bash
pip install openai

基础对话

python
from openai import OpenAI

# 初始化客户端(关键:把 base_url 改为 Kimi 的地址)
client = OpenAI(
    api_key="sk-你的API_KEY",
    base_url="https://api.moonshot.cn/v1"
)

# 发送对话请求
response = client.chat.completions.create(
    model="moonshot-v1-auto",
    messages=[
        {"role": "system", "content": "你是一个专业的编程助手"},
        {"role": "user", "content": "用Python写一个快速排序算法"}
    ]
)

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

流式输出(打字机效果)

流式输出可以让 AI 一边生成一边显示,响应更快、体验更好:

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的API_KEY",
    base_url="https://api.moonshot.cn/v1"
)

stream = client.chat.completions.create(
    model="moonshot-v1-auto",
    messages=[{"role": "user", "content": "讲一个程序员笑话"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

四、用Node.js调用

安装依赖

bash
npm install openai

基础对话

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-你的API_KEY',
  baseURL: 'https://api.moonshot.cn/v1'
});

async function main() {
  const response = await client.chat.completions.create({
    model: 'moonshot-v1-auto',
    messages: [
      { role: 'system', content: '你是一个有用的助手' },
      { role: 'user', content: 'Node.js如何读取文件?' }
    ]
  });
  console.log(response.choices[0].message.content);
}
main();

五、常用功能代码示例

1. 超长文档分析(Kimi 核心优势)

Kimi 最大的亮点是支持20万字超长上下文。你可以直接把整本书或几十页 PDF 内容传进去进行分析。这里演示用 Python 读取本地文件内容并让 Kimi 分析:

python
def analyze_long_document(file_path, question):
    \"\"\"读取长文档内容并让 Kimi 分析\"\"\"
    # 读取文件内容
    with open(file_path, "r", encoding="utf-8") as f:
        content = f.read()

    # 如果是 PDF,需要先用 PyMuPDF/pdfplumber 提取文本
    # 这里以 txt/md 文件为例

    response = client.chat.completions.create(
        model="moonshot-v1-128k",  # 128K 上下文版本
        messages=[
            {
                "role": "system",
                "content": "你是一个文档分析助手,基于用户提供的文档内容回答问题。"
            },
            {
                "role": "user",
                "content": f"以下是一份文档的内容:\n\n{content}\n\n"
                           f"请基于以上文档回答:{question}"
            }
        ],
        temperature=0.3  # 分析类任务使用较低温度
    )
    return response.choices[0].message.content
💡 注意:对于超长文档,建议使用 moonshot-v1-128k 模型(实际支持约 20 万字符)。如果文档长度在 32K 以内,可以用 moonshot-v1-32k 节省成本。对于不确定长度的任务,直接用 moonshot-v1-auto 让系统自动选择最合适的模型。

2. AI 翻译(保留格式)

python
def translate_text(text, target_lang="中文"):
    \"\"\"将文本翻译为目标语言,保留原格式\"\"\"
    response = client.chat.completions.create(
        model="moonshot-v1-auto",
        messages=[{
            "role": "user",
            "content": f"请将以下内容翻译成{target_lang},严格保留原文格式(包括换行、标点、Markdown标记):\n\n{text}"
        }],
        temperature=0.1
    )
    return response.choices[0].message.content

3. AI 写作助手

python
def generate_article(topic, style="专业", word_count=800):
    \"\"\"根据主题和风格生成文章\"\"\"
    response = client.chat.completions.create(
        model="moonshot-v1-auto",
        messages=[{
            "role": "user",
            "content": f"请以{style}的风格,写一篇约{word_count}字的文章。主题:{topic}。"
                       f"要求:有吸引人的标题、有清晰的分段结构、有具体案例或数据支撑。"
        }]
    )
    return response.choices[0].message.content

4. 多轮对话(带上下文记忆)

python
def chat_with_memory(user_message, history=None):
    \"\"\"多轮对话,保留上下文\"\"\"
    messages = [
        {"role": "system", "content": "你是一个智能助手,回答简洁准确。"}
    ]
    if history:
        # 只保留最近 10 轮对话
        for h in history[-10:]:
            messages.append(h)
    messages.append({"role": "user", "content": user_message})

    response = client.chat.completions.create(
        model="moonshot-v1-auto",
        messages=messages
    )
    return response.choices[0].message.content

六、常见错误及解决

错误代码 原因 解决方案
401 Unauthorized API Key 无效或已过期 检查 Key 是否完整、前后有无空格;去开放平台确认 Key 状态
403 Forbidden IP 不在白名单或账户受限 在开放平台「安全设置」中配置白名单 IP;检查账户是否欠费
429 Too Many Requests 请求频率超过限制 降低请求频率,添加 sleep 或使用指数退避策略
400 Invalid URL 请求地址写错 确认 base_url 为 https://api.moonshot.cn/v1,不是 kimi.moonshot.cn
400 context_length_exceeded 输入内容超过模型上下文限制 缩短文档长度,或换用 moonshot-v1-128k 超大上下文版本
503 Service Unavailable 服务端暂时不可用 等待几秒后重试,一般会自动恢复
timeout / 连接超时 网络问题 检查网络环境,设置更长的 timeout 参数
💡 最佳实践:生产环境建议添加重试机制。Python 可用 tenacity 库实现指数退避重试(如失败后等待 1s、2s、4s 递增),最多重试 3 次。同时建议在代码中捕获 openai.APIError 等异常,确保程序不会因一次请求失败而崩溃。

七、价格与免费额度

Kimi API 目前采用按量计费模式,以下是参考价格(具体以开放平台最新公告为准):

项目 说明
新用户赠送 注册即送额度(具体金额以平台活动为准),可用于初期开发和测试
moonshot-v1-auto 自动选择最合适的模型,按实际使用模型计费
moonshot-v1-8k 适合短文本对话,价格最低
moonshot-v1-32k 适合中等长度文档,性价比高
moonshot-v1-128k 支持20万字超长上下文,适合整书分析、大型文档处理
计费方式 按 tokens 计费(输入 + 输出),具体单价请参考开放平台定价页面

相较于其他国际大模型 API,Kimi 在中文理解、长文档处理方面有显著优势,价格也更具竞争力。特别适合需要处理大量中文文档、书籍、长文本分析的场景。

八、实际项目应用场景 & 代接服务

API 调通了,然后呢?以下是我们用 Kimi API 验证过的落地场景:

场景一:智能文档问答系统

上传整本PDF/Word/技术文档 → Kimi 自动理解内容 → 用户用自然语言提问,AI基于文档内容精准回答。适合企业知识库、法规文档查阅、学术文献分析。

  • 优势:Kimi 超长上下文直接读完整文档,无需 RAG 或分块
  • 接入方式:用户上传文件 → 后端提取文本 → 调用 Kimi API
  • 我们能帮做:整套知识库问答系统 ¥800 起

场景二:AI 写作与内容生成

对接公众号、博客、自媒体平台,自动生成文章、总结、摘要。Kimi 的中文写作能力优秀,适合中文内容创作。

场景三:多语言翻译与本地化

批量翻译文档、网站内容、产品说明。Kimi 在中文 ↔ 英文/日文/韩文等语言的翻译质量高,并且能保持原文排版和格式。

场景四:长合同/法律文档审查

将几十页的合同、协议全文输入 Kimi,让 AI 帮忙提取关键条款、标注风险点、生成摘要。20万字上下文足以覆盖绝大多数合同文档。

场景五:AI 客服与对话机器人

基于 Kimi 构建智能客服系统,支持长时间的多轮对话。适合电商、教育、SaaS 平台等需要与用户深度交流的场景。