Xiaomi MiMo-V2.5-Pro는 Novita AI의 서버리스 API를 통해 제공되므로, 개발자는 검증된 모델 ID xiaomimimo/mimo-v2.5-pro를 Novita의 OpenAI 호환 채팅 완성 엔드포인트와 함께 사용해 장문 컨텍스트 텍스트 워크플로우, 추론 중심 코딩 작업, 함수 호출, 구조화된 출력 실험을 수행할 수 있습니다.
빠른 설정
Novita AI API 키를 이미 보유하고 있으며 첫 요청까지의 가장 짧고 검증된 경로를 원할 때 사용하세요.
pip install openai
export NOVITA_API_KEY="YOUR_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": "You are a concise software architecture assistant.",
},
{
"role": "user",
"content": "Outline a migration plan for moving a Python monolith into services.",
},
],
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는 복잡한 에이전트 및 소프트웨어 엔지니어링 워크플로우를 위한 텍스트 입력, 텍스트 출력 대형 언어 모델입니다. 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 토큰 |
| 최대 출력 | 131,072 토큰 |
| 입력 기능 | 텍스트 |
| 출력 기능 | 텍스트 |
| 함수 호출 | 지원 |
| 구조화된 출력 | 지원 |
| 추론 | 지원 |
| Anthropic API | 지원 |
상위 출처인 Xiaomi MiMo-V2.5-Pro 허깅페이스 모델 카드에는 MiMo-V2.5-Pro가 총 1조 2천억 개의 매개변수, 활성 매개변수 420억 개, 최대 100만 토큰 컨텍스트 창을 갖춘 오픈소스 전문가 혼합(Mixture-of-Experts) 언어 모델로 설명되어 있습니다. 상위 모델 카드는 모델 제품군에 대한 유용한 배경 정보로 참고하고, Novita AI 특정 모델 ID, 가격, 가용성, 엔드포인트 세부 정보는 Novita AI 모델 페이지를 참고하세요.
MiMo-V2.5-Pro를 사용해야 하는 경우
MiMo-V2.5-Pro는 애플리케이션에서 짧은 단일 턴 답변이 아닌 장시간 실행되는 지시 중심 작업을 위한 호스팅 텍스트 모델이 필요할 때 가장 유용합니다. 적합한 평가 대상으로는 리포지토리 분석, 다중 파일 리팩토링 계획, 장문 컨텍스트 문서 종합, 에이전트 계획, 도구 라우팅 프로토타입, 구조화된 추출 작업이 있습니다.
다음 조건에 해당할 때 사용하세요:
- Novita AI에서 검증된 1,048,576 토큰 컨텍스트 창이 필요할 때
- 상세 계획, 코드 리뷰, 마이그레이션 개요, 다단계 추적 흔적을 위한 높은 최대 출력 설정이 필요할 때
- 애플리케이션 도구로 모델 결정을 라우팅하기 위한 함수 호출 지원이 필요할 때
- 다운스트림 서비스에서 파싱할 수 있는 JSON 유사 응답을 위한 구조화된 출력 지원이 필요할 때
- 기존 SDK 패턴을 재사용할 수 있도록 OpenAI 호환 채팅 완성이 필요할 때
모든 작업에 대해 가장 저렴하거나 지연 시간이 가장 짧은 선택이라고 가정하지 마세요. 짧은 프롬프트, 대량 분류, 간단한 채팅의 경우 장문 컨텍스트 모델에 모든 트래픽을 라우팅하기 전에 Novita AI 모델 라이브러리와 Novita AI 가격 페이지에서 현재 옵션을 비교하세요.
사전 요구 사항
첫 요청을 보내기 전에 다음 4가지를 준비하세요:
- Novita AI 계정
NOVITA_API_KEY와 같은 환경 변수에 저장된 Novita AI API 키- OpenAI 호환 엔드포인트를 호출할 수 있는 OpenAI Python SDK 또는 기타 HTTP 클라이언트
xiaomimimo/mimo-v2.5-pro에 대한 최신 가격 및 제한 확인
현재 Novita AI 모델 페이지에는 MiMo-V2.5-Pro의 토큰 기반 서버리스 가격이 나와 있습니다. 일반 표시 가격은 입력 토큰 100만 개당 $2, 캐시 읽기 토큰 100만 개당 $0.4, 출력 토큰 100만 개당 $6입니다. 또한 입력 길이에 따른 등급제 가격도 나와 있습니다:
| 입력 길이 | 100만 토큰당 입력 가격 | 100만 토큰당 출력 가격 | 100만 토큰당 캐시 읽기 가격 |
|---|---|---|---|
| 1 ~ 262,144 토큰 미만 | $1 | $3 | $0.2 |
| 262,144 ~ 1,048,576 토큰 미만 | $2 | $6 | $0.4 |
모델 페이지와 가격표는 변경될 수 있으므로, 특히 두 번째 등급이 적용되는 장문 프롬프트의 경우 프로덕션 사용 전 모델 페이지나 가격 페이지에서 현재 요금을 확인하세요.
첫 API 요청
가장 간단한 첫 호출은 Novita AI의 기본 URL과 MiMo-V2.5-Pro 모델 ID를 사용한 OpenAI SDK를 이용합니다.
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": "You are a practical coding assistant."},
{
"role": "user",
"content": "Review this API design and list the main reliability risks.",
},
],
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": "You are a practical coding assistant."
},
{
"role": "user",
"content": "Create a checklist for validating a payment webhook integration."
}
],
"max_tokens": 1024,
"temperature": 0.7
}'
프로덕션 코드의 경우 API 키를 소스 제어에서 분리하고, max_tokens를 워크플로우에 필요한 실제 양으로 제한하며, 토큰 사용량을 로깅해 장문 컨텍스트 프롬프트가 비용을 지배하기 시작하는 시점을 확인할 수 있도록 하세요.
스트리밍 및 장문 컨텍스트 사용 참고 사항
Novita AI 채팅 완성 레퍼런스에는 stream과 stream_options 필드가 포함되어 있으며, MiMo-V2.5-Pro 모델 페이지는 1,048,576 토큰 컨텍스트 길이와 131,072 토큰 최대 출력을 검증합니다. 이 제한을 엔지니어링 상한값으로 사용하되 기본 설정으로 사용하지 마세요.
스트리밍 응답의 경우:
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": "You write concise engineering plans."},
{
"role": "user",
"content": "Draft a step-by-step rollback plan for a failed database migration.",
},
],
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객체가 포함된 경우 프롬프트, 완성, 총 토큰을 추적하세요.
함수 호출 예제
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": "Create a deployment follow-up ticket.",
"parameters": {
"type": "object",
"properties": {
"service": {
"type": "string",
"description": "The service that needs follow-up.",
},
"priority": {
"type": "string",
"enum": ["low", "medium", "high"],
},
"summary": {
"type": "string",
"description": "A short ticket summary.",
},
},
"required": ["service", "priority", "summary"],
"additionalProperties": False,
},
"strict": True,
},
}
]
response = client.chat.completions.create(
model="xiaomimimo/mimo-v2.5-pro",
messages=[
{
"role": "system",
"content": "Decide whether the user's deployment note requires a follow-up ticket.",
},
{
"role": "user",
"content": "Checkout latency increased after the payment-service deploy. Create a high priority follow-up.",
},
],
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 스키마 필드가 포함된 response_format이 있습니다. 자유 형식 prose가 아닌 파싱 가능한 데이터를 모델이 반환하도록 하려면 구조화된 출력을 사용하세요.
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": "Return only a structured migration risk report.",
},
{
"role": "user",
"content": "We are moving billing jobs from cron to a queue and changing retry behavior.",
},
],
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 파싱이 실패하는 경우 프롬프트의 모호성을 줄이고, 온도를 낮추며, 스키마를 간결하게 유지하고 더 짧은 입력으로 재시도하세요. 프로덕션 워크플로우의 경우 파싱된 객체를 사용하기 전에 자체 스키마와 비교해 검증하세요.
비용, 지연 시간 및 제한 주의 사항
MiMo-V2.5-Pro는 장문 컨텍스트 및 에이전트 작업을 위해 구축되었으므로 비용 제어가 중요합니다. 최상위 컨텍스트 등급에 가까운 프롬프트는 짧은 요청보다 훨씬 비쌀 수 있으며, 긴 출력은 완성 토큰 비용도 증가시킵니다. Novita AI 모델 페이지에는 현재 등급제 입출력 가격이 나와 있으므로, 대량 작업을 자동으로 라우팅하기 전에 프롬프트와 완성 토큰을 모두 예상하세요.
다음 제어 방법을 사용하세요:
- 기본으로 최대 출력 제한을 사용하는 대신 실용적인
max_tokens상한을 설정하세요. - 현재 작업에 필요한 컨텍스트만 요약하거나 검색하세요.
- 아키텍처에서 지원하는 경우 안정적인 컨텍스트를 캐시하거나 재사용하세요.
- 기능, 사용자, 워크플로우별 토큰 사용량을 모니터링하세요.
- 네트워크 호출 주변에 타임아웃과 재시도를 추가하세요.
- 제품에서 모든 요청에 MiMo-V2.5-Pro가 필요하지 않은 경우 짧은 작업용으로 더 작은 대체 모델을 유지하세요.
지연 시간은 프롬프트 길이, 출력 길이, 스트리밍 모드, 현재 서비스 상태에 따라 달라질 수 있습니다. 사용자 facing 애플리케이션의 경우 적절할 때 더 긴 답변을 스트리밍하고, 단일 차단 응답이 아닌 점진적 출력을 기반으로 UI를 설계하세요.
문제 해결
첫 MiMo-V2.5-Pro 요청이 실패하는 경우 먼저 다음 항목을 확인하세요.
| 증상 | 가능한 원인 | 해결 방법 |
|---|---|---|
| 인증 오류 | API 키가 누락되었거나 형식이 잘못됨 | REST 호출의 경우 Authorization: Bearer $NOVITA_API_KEY를 전송하거나 SDK 클라이언트에 api_key를 전달하세요. |
| 모델을 찾을 수 없음 | 모델 ID가 잘못됨 | Novita AI 모델 페이지에 나열된 대로 정확히 xiaomimimo/mimo-v2.5-pro를 사용하세요. |
| 요청 경로 오류 | 기본 URL이 혼합됨 | OpenAI SDK의 경우 https://api.novita.ai/openai를, REST의 경우 https://api.novita.ai/openai/v1/chat/completions를 사용하세요. |
| 컨텍스트 또는 출력 오류 | 프롬프트와 출력 요청이 모델 제한을 초과함 | 총 프롬프트 길이를 현재 컨텍스트 창 내에 유지하고 max_tokens를 검증된 최대 출력보다 낮게 제한하세요. |
| 도구 호출 누락 | 프롬프트에 도구가 필요하지 않거나 도구 스키마가 불분명함 | 도구 결정을 명시적으로 만들고 함수 스키마를 간결하게 유지하세요. |
| 구조화된 출력 파싱 실패 | 스키마나 프롬프트가 너무 느슨함 | response_format을 사용하고, 적절할 때 strict를 설정하며, 온도를 낮추고 결과를 검증하세요. |
| 예상치 못한 비용 | 큰 프롬프트, 큰 출력, 상위 가격 등급 적용 | 현재 가격을 확인하고 토큰 사용량을 로깅하며 컨텍스트나 최대 출력을 줄이세요. |
엔드포인트 세부 정보는 Novita AI 채팅 완성 API 레퍼런스를 참고하세요. 모델별 제한 및 가격은 Xiaomi MiMo-V2.5-Pro API 및 플레이그라운드 페이지를 참고하세요.
다음 단계
Xiaomi MiMo-V2.5-Pro 모델 페이지에서 시작해 플레이그라운드에서 작은 프롬프트를 테스트한 후, 동일한 프롬프트를 검증된 모델 ID와 함께 API 클라이언트로 이동하세요. 대안을 비교할 준비가 되면 Novita AI 모델 라이브러리와 Novita AI 가격 페이지를 사용해 현재 가격, 컨텍스트 창, 출력 제한, 기능 지원을 확인하세요.
에이전트 스타일 애플리케이션의 경우 자체 추적 데이터를 기준으로 MiMo-V2.5-Pro를 평가하세요: 리포지토리 편집, 도구 호출 라우팅, 구조화된 추출, 장문 컨텍스트 요약, 모호한 지시에서의 복구. 일반적인 벤치마크 주장이 아닌 애플리케이션의 실제 프롬프트에 기반한 평가를 유지하세요.
