使用指南
限制与配额
会话超时
Sampling 会话有 30 分钟不活动超时。如果 30 分钟内没有 sampling 请求,会话过期。
创建新的 sampling client 继续:
sampling_client = training_client.save_weights_and_get_sampling_client()速率限制
触发速率限制时,API 返回 HTTP 429 和 RateLimitError。实现指数退避:
import asyncio
from mint import RateLimitError
async def call_with_backoff(fn, max_retries=5):
for attempt in range(max_retries):
try:
return await fn()
except RateLimitError:
if attempt == max_retries - 1:
raise
wait_time = 2 ** attempt
await asyncio.sleep(wait_time)长时间训练最佳实践
对于 RL 训练或其他长时间运行的工作负载:
- 每个 batch 创建新的 sampling client - 避免会话超时问题
- 在 25 分钟内完成 sampling - 在 30 分钟超时前留出缓冲
- 实现重试逻辑 - 用指数退避处理瞬时
RequestFailedError - 记录 request_id - 如果错误持续,保存用于调试
for batch in range(num_batches):
sampling_client = training_client.save_weights_and_get_sampling_client()
for step in range(max_steps):
result = await sample_with_retry(sampling_client, prompt, params)
await training_client.forward_backward_async(...)
await training_client.optim_step_async(...)