Xiaomi MiMo-V2.5-Pro 現已在 Novita AI 上透過無伺服器 API (Serverless API) 提供,開發者可使用經驗證的模型 ID xiaomimimo/mimo-v2.5-pro,並透過 Novita 的 OpenAI 相容聊天補全端點 (chat completions endpoint) 進行長上下文文字工作流程、推理密集的程式碼任務、函式呼叫 (function calling) 以及結構化輸出 (structured output) 實驗。
快速設定
如果您已經擁有 Novita AI API 金鑰,並希望以最簡短且經過驗證的方式發出第一個請求,可以從此處開始。
pip install openai
export NOVITA_API_KEY="你的_NOVITA_API_KEY"
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "你是一位簡潔的軟體架構助理。",
},
{
"role": "user",
"content": "制定一個將 Python 大型單體應用遷移為服務的計畫大綱。",
},
],
max_tokens=2048,
temperature=0.7,
)
print(response.choices[0].message.content)
目前的 Xiaomi MiMo-V2.5-Pro 模型頁面 將此模型列為 Novita AI 無伺服器 API 選項,並顯示與 OpenAI 相容的基礎 URL https://api.novita.ai/openai。目前的 Novita AI 聊天補全 API 參考文件 則記載 REST 路徑為 /openai/v1/chat/completions。
Xiaomi MiMo-V2.5-Pro 是什麼?
Xiaomi MiMo-V2.5-Pro 是一個文字輸入、文字輸出的大型語言模型,適用於複雜的代理型 (agentic) 與軟體工程工作流程。在 Novita AI 上,API 模型 ID 為:
xiaomimimo/mimo-v2.5-pro
Novita AI 模型列表目前驗證了以下實作細節:
| 欄位 | 目前值 |
|---|---|
| 存取路徑 | 無伺服器 API |
| 端點家族 | OpenAI 相容聊天補全 |
| 基礎 URL | https://api.novita.ai/openai |
| 模型 ID | xiaomimimo/mimo-v2.5-pro |
| 上下文長度 | 1,048,576 tokens |
| 最大輸出 | 131,072 tokens |
| 輸入能力 | 文字 |
| 輸出能力 | 文字 |
| 函式呼叫 | 支援 |
| 結構化輸出 | 支援 |
| 推理 | 支援 |
| Anthropic API | 支援 |
根據 Xiaomi MiMo-V2.5-Pro Hugging Face 模型卡 的說明,MiMo-V2.5-Pro 是一個開源的混合專家 (Mixture-of-Experts) 語言模型,擁有 1.02 兆總參數、420 億活躍參數,以及高達 100 萬 tokens 的上下文視窗。請將上游的模型卡視為了解模型系列的有用背景資訊,並使用 Novita AI 模型頁面來獲取 Novita 專屬的模型 ID、定價、可用性及端點詳細資訊。
何時使用 MiMo-V2.5-Pro
當您的應用程式需要一個託管文字模型來處理長時間執行、指令密集的工作,而非簡短的一次性回答時,MiMo-V2.5-Pro 最為實用。適合的評估場景包括:儲存庫分析、多檔案重構計畫、長上下文文件合成、代理規劃、工具路由原型設計,以及結構化擷取任務。
適合使用的情境包括:
- 在 Novita AI 上需要經過驗證的 1,048,576 tokens 上下文視窗。
- 需要較高的最大輸出設定,以產出詳細計畫、程式碼審查、遷移大綱或多步驟推理軌跡。
- 需要函式呼叫支援,以將模型決策路由至應用程式工具。
- 需要結構化輸出支援,以產生下游服務可解析的 JSON 格式回應。
- 需要與 OpenAI 相容的聊天補全,以便重複使用現有的 SDK 模式。
請不要假設它對所有任務都是成本最低或延遲最低的選擇。對於簡短提示、高流量分類或簡單對話,請在將所有流量導向長上下文模型之前,先比較 Novita AI 模型庫 與 Novita AI 定價頁面 中的當前選項。
先決條件
在發出第一個請求之前,請準備以下四項:
- 一個 Novita AI 帳戶。
- 一個 Novita AI API 金鑰,並儲存在環境變數中(例如
NOVITA_API_KEY)。 - OpenAI Python SDK 或其他能呼叫 OpenAI 相容端點的 HTTP 客戶端。
- 檢查
xiaomimimo/mimo-v2.5-pro的當前定價與限制。
目前的 Novita AI 模型頁面顯示 MiMo-V2.5-Pro 的基於 tokens 的無伺服器定價:一般顯示價格為每百萬輸入 tokens $2、每百萬快取讀取 tokens $0.4、每百萬輸出 tokens $6。同時也列出了依輸入長度分級的定價:
| 輸入長度 | 每百萬 tokens 輸入價格 | 每百萬 tokens 輸出價格 | 每百萬 tokens 快取讀取價格 |
|---|---|---|---|
| 1 至低於 262,144 tokens | $1 | $3 | $0.2 |
| 262,144 至低於 1,048,576 tokens | $2 | $6 | $0.4 |
由於模型頁面與定價表可能變更,請在正式使用前,特別是當長提示可能觸發第二級定價時,確認模型頁面或定價頁面上的當前費率。
第一個 API 請求
最簡單的第一個呼叫是使用 OpenAI SDK,搭配 Novita AI 的基礎 URL 與 MiMo-V2.5-Pro 模型 ID。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{"role": "system", "content": "你是一位實用的程式碼助手。"},
{
"role": "user",
"content": "審查這個 API 設計,並列出主要可靠性風險。",
},
],
max_tokens=1024,
temperature=0.7,
)
print(response.choices[0].message.content)
如果您偏好 REST 呼叫,可以直接呼叫目前的聊天補全路徑:
curl --request POST \
--url https://api.novita.ai/openai/v1/chat/completions \
--header "Authorization: Bearer $NOVITA_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "xiaomimimo/mimo-v2.5-pro",
"messages": [
{
"role": "system",
"content": "你是一位實用的程式碼助手。"
},
{
"role": "user",
"content": "建立一個驗證支付 Webhook 整合的檢查清單。"
}
],
"max_tokens": 1024,
"temperature": 0.7
}'
在正式環境程式碼中,請將 API 金鑰保留在原始碼控制之外,將 max_tokens 設定為工作流程實際需要的數量,並記錄 token 用量,以便在長上下文提示開始主導成本時能及時察覺。
串流與長上下文使用注意事項
Novita AI 聊天補全參考文件中包含了 stream 與 stream_options 欄位,而 MiMo-V2.5-Pro 模型頁面驗證了 1,048,576 tokens 的上下文長度與 131,072 tokens 的最大輸出。請將這些限制視為工程上限,而非預設設定。
串流回應範例:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
stream = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{"role": "system", "content": "你撰寫簡潔的工程計畫。"},
{
"role": "user",
"content": "草擬一份針對失敗資料庫遷移的逐步回滾計畫。",
},
],
max_tokens=2048,
temperature=0.7,
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="")
對於長上下文提示,請保持以下實務作法:
- 將任務、輸出格式與停止條件放在對話的開頭附近。
- 將不相關的檔案或文件分成明確標示的區段。
- 要求模型引用所提供上下文中的區段名稱或檔案路徑,而非自行編造位置。
- 在開發初期使用較小的
max_tokens數值,僅在工作流程需要更長輸出時才調高上限。 - 從
usage物件中追蹤提示 (prompt)、補全 (completion) 與總 tokens 數(如果回應中包含該物件)。
函式呼叫範例
MiMo-V2.5-Pro 模型頁面驗證了對函式呼叫的支援,聊天補全參考文件也包含了帶有函式元資料的 tools 參數。當模型需要選擇應用程式動作(例如查詢內部票務、擷取帳戶狀態或建立部署任務)時,可以使用此功能。
import json
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
tools = [
{
"type": "function",
"function": {
"name": "create_deployment_ticket",
"description": "建立部署後續追蹤票務。",
"parameters": {
"type": "object",
"properties": {
"service": {
"type": "string",
"description": "需要後續追蹤的服務。",
},
"priority": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"summary": {
"type": "string",
"description": "簡短的票務摘要。",
},
},
"required": ["service", "priority", "summary"],
"additionalProperties": False,
},
"strict": True,
},
}
]
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "決定使用者提供的部署備註是否需要後續追蹤票務。",
},
{
"role": "user",
"content": "payment-service 部署後結帳延遲增加。建立一個高優先級後續追蹤。",
},
],
tools=tools,
max_tokens=1024,
temperature=0.2,
)
message = response.choices[0].message
if message.tool_calls:
tool_call = message.tool_calls[0]
args = json.loads(tool_call.function.arguments)
print(args)
else:
print(message.content)
在實際應用程式中,請在執行任何動作之前於伺服器端驗證工具參數。函式呼叫讓您的應用程式從模型獲得結構化決策,但不能取代授權、輸入驗證、稽核日誌或回滾控制。
結構化輸出範例
MiMo-V2.5-Pro 模型頁面也驗證了對結構化輸出的支援,Novita AI 聊天補全參考文件包含了帶有 JSON Schema 欄位的 response_format。當您希望模型回傳可解析的資料而非自由的散文時,請使用結構化輸出。
import json
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["NOVITA_API_KEY"],
base_url="https://api.novita.ai/openai",
)
response_format = {
"type": "json_schema",
"json_schema": {
"name": "migration_risk_report",
"schema": {
"type": "object",
"properties": {
"risk_level": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"main_risks": {
"type": "array",
"items": {"type": "string"},
},
"next_actions": {
"type": "array",
"items": {"type": "string"},
},
},
"required": ["risk_level", "main_risks", "next_actions"],
"additionalProperties": False,
},
"strict": True,
},
}
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "僅回傳結構化的遷移風險報告。",
},
{
"role": "user",
"content": "我們正在將計費任務從 cron 遷移至佇列,並改變重試行為。",
},
],
response_format=response_format,
max_tokens=1024,
temperature=0.2,
)
report = json.loads(response.choices[0].message.content)
print(json.dumps(report, indent=2))
如果在測試期間 JSON 解析失敗,請減少提示中的模糊性、降低 temperature、保持 schema 簡潔,並使用較短的輸入重試。在正式工作流程中,請先根據您自己的 schema 驗證解析後的物件,然後再使用它。
成本、延遲與限制注意事項
MiMo-V2.5-Pro 專為長上下文與代理型任務打造,因此成本控制至關重要。接近上限上下文層級的提示可能比簡短請求昂貴許多,而長輸出也會增加補全 token 成本。Novita AI 模型頁面目前列出了分層的輸入/輸出定價,因此在自動路由大量任務之前,請務必同時估算提示與補全 token。
請使用以下控制手段:
- 設定實際的
max_tokens上限,而非預設使用最大輸出限制。 - 僅擷取或摘要目前任務所需的上下文。
- 在架構允許的情況下快取或重複使用穩定的上下文。
- 監控每個功能、使用者與工作流程的 token 用量。
- 為網路呼叫加入逾時與重試機制。
- 若您的產品並非每個請求都需要 MiMo-V2.5-Pro,則可為簡短任務保留一個較小的備援模型。
延遲可能因提示長度、輸出長度、串流模式與目前服務狀況而異。對於使用者面向的應用程式,請在適當情況下串流較長的回答,並圍繞增量輸出設計 UI,而非單次阻斷式回應。
疑難排解
如果您的第一個 MiMo-V2.5-Pro 請求失敗,請優先檢查以下項目。
| 症狀 | 可能原因 | 解決方法 |
|---|---|---|
| 驗證錯誤 | 缺少或格式錯誤的 API 金鑰 | 在 REST 呼叫中傳送 Authorization: Bearer $NOVITA_API_KEY,或將 api_key 傳遞給 SDK 客戶端。 |
| 模型未找到 | 不正確的模型 ID | 使用 Novita AI 模型頁面上所列出的確切 ID xiaomimimo/mimo-v2.5-pro。 |
| 請求路徑錯誤 | 混合使用基礎 URL | 使用 OpenAI SDK 時使用 https://api.novita.ai/openai,使用 REST 時則使用 https://api.novita.ai/openai/v1/chat/completions。 |
| 上下文或輸出錯誤 | 提示加上輸出請求超過模型限制 | 將總提示長度保持在目前上下文視窗內,並將 max_tokens 設定在已驗證的最大輸出之下。 |
| 缺少工具呼叫 | 提示不需要工具,或工具 schema 不明確 | 明確要求模型做出工具決策,並保持函式 schema 簡潔。 |
| 結構化輸出解析失敗 | Schema 或提示過於寬鬆 | 使用 response_format,在適當時設定 strict,降低 temperature,並驗證結果。 |
| 意外成本 | 提示過長、輸出過大或觸發較高定價層級 | 檢查目前定價、記錄 token 用量,並減少上下文或最大輸出。 |
如需端點詳細資訊,請參閱 Novita AI 聊天補全 API 參考文件。如需模型專屬限制與定價,請參閱 Xiaomi MiMo-V2.5-Pro API 與 Playground 頁面。
下一步
從 Xiaomi MiMo-V2.5-Pro 模型頁面 開始,先在 Playground 中測試一個簡短提示,然後使用已驗證的模型 ID 將相同的提示移入您的 API 客戶端。當您準備好比較其他選項時,請使用 Novita AI 模型庫 與 Novita AI 定價頁面 檢查目前的定價、上下文視窗、輸出限制與功能支援。
對於代理型應用程式,請根據您自己的軌跡評估 MiMo-V2.5-Pro:儲存庫編輯、工具呼叫路由、結構化擷取、長上下文摘要,以及從模糊指令中恢復的能力。務必將評估與您應用程式的實際提示結合,而非依賴通用的基準測試宣稱。
