使用 Kimi K2:更便宜的 Claude Code 和 MCP 整合,還有更多!

使用 Kimi K2:更便宜的 Claude Code 和 MCP 整合,還有更多!

重點摘要

1. 針對程式碼代理的進階訓練
工具使用訓練:模擬跨數千個工具與領域的多輪互動。
強化學習:結合可驗證任務的標準獎勵與不可驗證任務的基於評分表的自我評估。
頂尖編碼能力:在 LiveCodeBench 和 OJBench 等基準測試中表現出色,展現強大的問題解決與除錯能力。

2. 整合性與易用性
可透過 Claude Code、Hugging Face 和 API 存取,對開發者而言極具靈活性。
實惠的價格讓其強大功能能被廣泛使用者所使用。

Kimi K2 已將自身定位為新一代 AI 模型,具備卓越的編碼與工具使用能力。憑藉其混合專家(MoE)架構與先進的訓練技術,它在代理型任務(如編碼、除錯和工具管理)中承諾提供高效能。但它是否真的能兌現其作為頂尖程式碼代理的承諾?讓我們來探討其能力與表現。

Kimi K2 真的能改變 AI 代理的未來嗎?

Kimi K2 基本屬性

**類別 ** ** 詳細資訊**
基本資訊 320 億啟用參數,總計 1 兆參數。
開源
混合專家(MoE)
變體 基礎模型:供研究人員和開發者使用,最適合微調與自訂解決方案。
後訓練模型:適用於通用對話和代理任務。Reflex 級別可快速回應,無需深入思考。
能力 文字到文字
擅長中文和英文
硬體 硬碟空間:完整模型需 1.09 TB。

Kimi K2 出色的代理能力

  • 最佳化器:MuonClip 最佳化器,具備先進的不穩定性解決技術。
  • 代理能力
    • 工具使用訓練
      • 模擬跨數百個領域與數千個工具的多輪工具使用場景。
      • 由基於任務評分表的 LLM 評估器篩選資料。
    • 強化學習
      • 可驗證任務(如數學、編碼):標準獎勵訊號。
      • 不可驗證任務(如撰寫報告):基於評分表的自我評估。
      • 持續改進:透過同策略學習增強判斷力。

Kimi K2 的效能

kimi k2 性能

來自 Moonshot AI

根據基準測試,Kimi K2 是一款專業的頂尖模型,具有明確的優勢。其能力可分為三個不同的層級:

  • 第一層(主導):數學與 STEM
    這是 Kimi K2 最強的領域。它在大多數數學與科學基準測試(AIMEMATH-500HMMTZebraLogic)中達到最先進(SOTA)表現,顯示出其卓越的推理引擎。
  • 第二層(頂尖):編碼與工具使用
    Kimi K2 在編碼(LiveCodeBenchOJBench)和代理型任務上表現出色。其工具使用能力尤其令人印象深刻,在 Tau2 telecom 基準測試中取得巨大領先。雖然競爭力強,但在某些特定的代理編碼場景(SWE-bench)中略遜於 Claude 模型。
  • 第三層(競爭力):一般知識
    MMLU 等廣泛知識基準測試中,Kimi K2 表現良好,但通常不敵領先的專有模型(如 Claude Opus 4)。在簡單的問答任務中,其表現也落後於 GPT-4.1 等競爭對手。

簡而言之:Kimi K2 在 STEM、編碼和工具使用方面表現強勁,但在一般知識方面較不突出。

但它的價格是所有可比模型中最便宜的!

但它的價格是所有可比模型中最便宜的! 來自 Artificial Analysis

透過免費 Playground 使用 Kimi K2

您可以透過 Kimi Chat 介面使用 Kimi K2!

但是,您無法直接在此頁面上執行程式碼!

kimik2 playground

透過免費 Playground 使用 Kimi K2

透過 Hugging Face 使用 Kimi K2

1. 在 Hugging Face 網站 UI 中使用 Novita AI

步驟 1:設定 API 金鑰

  • 前往您的使用者帳號設定以管理 API 金鑰。
  • 將 Novita AI 的自訂 API 金鑰新增至 Hugging Face。

在 Hugging Face 中設定 API 金鑰

步驟 2:選擇推論 API 模式

  • 自訂金鑰模式:呼叫直接發送至推論提供者,使用您自己的 API 金鑰。
  • HF 路由模式:在此模式下,無需提供者令牌。費用會計入您的 Hugging Face 帳戶,而非提供者帳戶。

選擇推論 API 模式

步驟 3:在模型頁面上探索相容的提供者

  • 模型頁面會顯示與所選模型相容的第三方推論提供者(與目前模型相容的提供者,依使用者偏好排序)。

在模型頁面上探索相容的提供者

值得注意的是,不建議從 Hugging Face 下載此模型進行本地部署。320 億啟用參數 ** 和總計 1 兆參數 **,它目前是世界上最大的開源模型。在本地執行該模型需要大量的 2,254.25 GB VRAM,大約相當於 28 個 H100/A100 GPU

透過 API 使用 Kimi K2

Novita AI 整合了 Anthropic API,以便在 Claude Code 中使用 kimi k2,
超越許多業界提供者。
它還提供具備 **131K 上下文 **、**131K 最大輸出 **、**2.01 秒延遲 **、**11.06 TPS 吞吐量 ** 的 API,輸入成本 $0.57,輸出成本 $2.30,為最大化 Kimi K2 的程式碼代理潛力提供強大支援。

Novita AI

步驟 1:登入並進入模型庫

登入您的帳戶,然後點擊 模型庫 按鈕。

登入並進入模型庫

立即試用 Kimi K2 Instruct!

步驟 2:選擇您的模型

瀏覽可用選項,選擇符合您需求的模型。

選擇您的模型

步驟 3:開始免費試用

開始免費試用,探索所選模型的功能。

開始 Kimi K2 Instruct 免費試用

步驟 4:取得您的 API 金鑰

為了透過 API 進行驗證,我們將為您提供一個新的 API 金鑰。進入「設定」頁面,即可按照圖片指示複製 API 金鑰。

獲取 API 金鑰

步驟 5:安裝 API

使用您程式語言的套件管理器安裝 API。

安裝完成後,將必要的函式庫匯入您的開發環境。使用您的 API 金鑰初始化 API,開始與 Novita AI LLM 互動。以下是 Python 使用者使用聊天補全 API 的範例。

from openai import OpenAI
  
client = OpenAI(
    base_url="https://api.novita.ai/v3/openai",
    api_key="session_1g0vYAKH0Oir6vI6y4PZIGyFLVvuJiJDx0jZiEeYivQFmDr15mi83mWi-_bdrs0C-Q2hk281SCn1f4oUB49loQ==",
)

model = "moonshotai/kimi-k2-instruct"
stream = True # or False
max_tokens = 65536
system_content = ""Be a helpful assistant""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }

chat_completion_res = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "system",
            "content": system_content,
        },
        {
            "role": "user",
            "content": "Hi there!",
        }
    ],
    stream=stream,
    max_tokens=max_tokens,
    temperature=temperature,
    top_p=top_p,
    presence_penalty=presence_penalty,
    frequency_penalty=frequency_penalty,
    response_format=response_format,
    extra_body={
      "top_k": top_k,
      "repetition_penalty": repetition_penalty,
      "min_p": min_p
    }
  )

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

步驟 6:監控 LLM API 指標

系統性評估有助於根據特定需求決定最佳部署策略。

  • 回應時間:衡量典型請求的端到端延遲。
  • 吞吐量:測試並行請求處理能力。
  • 可靠性:監控長時間運行的正常運作時間和錯誤率。
  • 品質:比較不同部署方法的輸出一致性。

您可以透過 LLM 指標控制台 檢視這些指標。

透過 Claude Code 與 Fast MCP 使用 Kimi K2

第一部分:環境設定與必要條件

1.1 系統需求檢查

開始之前,請確保您的系統符合以下要求:

Windows 系統:

  • Windows 10 或更高版本
  • Node.js 18+
  • Python 3.8+
  • PowerShell 或命令提示字元存取

Mac 系統:

  • macOS 10.15 或更高版本
  • Node.js 18+
  • Python 3.8+
  • 終端機存取

驗證指令:

# 檢查 Node.js 版本
node --version

# 檢查 Python 版本
python --version
# 或
python3 --version

1.2 取得 Novita AI API 金鑰

  1. 前往 Novita AI 網站 並建立帳戶
  2. 登入您的儀表板
  3. 導航至「金鑰管理」部分
  4. 點擊「建立新金鑰」以產生您的 API 金鑰
  5. 重要:立即複製並安全儲存 API 金鑰(僅顯示一次)

立即試用 Novita AI

第二部分:Claude Code 安裝

2.1 Windows 安裝流程

開啟命令提示字元或 PowerShell 並執行:

# 全域安裝 Claude Code
npm install -g @anthropic-ai/claude-code

# 安裝 Windows 特定版本
npx win-claude-code@latest

2.2 Mac 安裝流程

開啟終端機並執行:

# 全域安裝 Claude Code
npm install -g @anthropic-ai/claude-code

2.3 安裝驗證

# 檢查 Claude Code 版本
claude --version

# 檢視說明資訊
claude --help

第三部分:環境變數設定

3.1 Windows 環境設定

方法 1:暫時設定(僅目前工作階段)

set NOVITA_API_KEY=Your_Novita_API_Key
set ANTHROPIC_MODEL=moonshotai/kimi-k2-instruct
set ANTHROPIC_SMALL_FAST_MODEL=moonshotai/kimi-k2-instruct

方法 2:永久設定

  1. 右鍵點擊「本機」→「內容」
  2. 點擊「進階系統設定」
  3. 點擊「環境變數」
  4. 在「使用者變數」中新增上述變數

3.2 Mac 環境設定

方法 1:暫時設定(僅目前工作階段)

export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="Your_Novita_API_Key"
export ANTHROPIC_MODEL="moonshotai/kimi-k2-instruct"
export ANTHROPIC_SMALL_FAST_MODEL="moonshotai/kimi-k2-instruct"

方法 2:永久設定

# 編輯設定檔
nano ~/.zshrc

# 新增環境變數
export ANTHROPIC_BASE_URL="https://api.novita.ai/anthropic"
export ANTHROPIC_AUTH_TOKEN="Your_Novita_API_Key"
export ANTHROPIC_MODEL="moonshotai/kimi-k2-instruct"
export ANTHROPIC_SMALL_FAST_MODEL="moonshotai/kimi-k2-instruct"

# 重新載入設定
source ~/.zshrc

第四部分:Fast MCP 伺服器開發

4.1 Python 相依套件安裝

# 安裝 MCP SDK
pip install fastmcp

# 安裝其他相依套件
pip install requests uvicorn

4.2 建立 MCP 伺服器指令碼

建立名為 novita_mcp_server.py 的檔案:

import os
import json
from mcp.server.fastmcp import FastMCP
import requests
from typing import Dict, Any

# Validate API key
if not os.environ.get('NOVITA_API_KEY'):
    raise ValueError("NOVITA_API_KEY environment variable is required")

base_url = "https://api.novita.ai/v3"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}"
}

mcp = FastMCP("Novita_API")

@mcp.tool()
def list_models() -> str:
    """
    List all available models from the Novita API.
    """
    try:
        url = base_url + "/openai/models"
        response = requests.get(url, headers=headers, timeout=30)
        response.raise_for_status()
        data = response.json()["data"]
        
        text = "Available Models:\
\
"
        for model in data:
            text += f"ID: {model['id']}\
"
            text += f"Description: {model.get('description', 'N/A')}\
"
            text += f"Type: {model.get('model_type', 'N/A')}\
\
"
        
        return text
    except Exception as e:
        return f"Error fetching models: {str(e)}"

@mcp.tool()
def chat_with_model(model_id: str, message: str) -> str:
    """
    Send a message to a specific model and get a response.
    """
    try:
        url = base_url + "/openai/chat/completions"
        payload = {
            "model": model_id,
            "messages": [{"role": "user", "content": message}],
            "max_tokens": 2000,
            "temperature": 0.7
        }
        response = requests.post(url, json=payload, headers=headers, timeout=60)
        response.raise_for_status()
        
        content = response.json()["choices"][0]["message"]["content"]
        return content
    except Exception as e:
        return f"Error communicating with model: {str(e)}"

if __name__ == "__main__":
    mcp.run(transport="stdio")

第五部分:執行 MCP 伺服器

5.1 設定 Novita API 金鑰

# Windows
set NOVITA_API_KEY=your_actual_api_key_here

# Mac/Linux
export NOVITA_API_KEY="your_actual_api_key_here"

5.2 啟動 MCP 伺服器

# 執行伺服器
python novita_mcp_server.py

伺服器將啟動並透過 STDIO 監聽 MCP 協定通訊。

第六部分:Claude Code 整合

6.1 建立 MCP 設定

建立一個設定檔,讓 Claude Code 連接到您的 MCP 伺服器。將檔案儲存為 mcp_config.json,放在 Claude Code 專案的根目錄(執行 claude . 指令的目錄):

{
  "mcpServers": {
    "novita": {
      "command": "python",
      "args": ["path/to/novita_mcp_server.py"],
      "env": {
        "NOVITA_API_KEY": "your_api_key_here"
      }
    }
  }
}

6.2 啟動 Claude Code 並載入 MCP

導航至您的專案目錄,然後啟動 Claude Code:

# 導航至專案目錄
cd your-project-directory

# 啟動 Claude Code
claude .

第七部分:在 Claude Code 中使用 Kimi-K2

7.1 基本使用範例

範例 1:產生 Python 網路應用程式

Create a Flask web application with the following features:
- User authentication system
- Database integration using SQLAlchemy
- RESTful API endpoints
- Basic frontend with HTML templates

範例 2:程式碼分析與最佳化

Analyze the following codebase and suggest optimizations:
- Identify performance bottlenecks
- Recommend code structure improvements
- Suggest security enhancements

Kimi K2 無疑是 AI 程式碼代理領域中的強勁競爭者。其在工具使用與編碼方面的進階訓練,加上在基準測試中卓越的表現,使其成為大多數編碼場景的頂尖選擇。雖然它在某些情境下可能無法超越 Claude 等專有模型,但其親民的價格與靈活性,使其成為尋求高效能與合理成本的開發者的絕佳選擇。

常見問題

Kimi K2 在編碼任務中的表現如何?

它在 LiveCodeBench 和 OJBench 等編碼基準測試中表現出色,具備強大的除錯與工具使用能力。

Kimi K2 能否取代 GPT-4 或 Claude 等專有模型?

雖然具有競爭力,但在某些代理型編碼任務上略遜一籌,但其親民價格與靈活性能夠彌補這一點。

如何取得 Kimi K2 來執行編碼任務?

您可以透過 Claude Code、Novita AI API 或 Hugging Face 使用 Kimi K2。

Novita AI 是一個全合一雲端平台,能助您實現 AI 雄心。整合 API、無伺服器、GPU 實例——您所需的經濟高效工具。無需基礎設施,從免費開始,讓您的 AI 願景成真。

推薦閱讀