Mind Lab Toolkit (MinT)
使用指南

限制与配额

会话超时

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 训练或其他长时间运行的工作负载:

  1. 每个 batch 创建新的 sampling client - 避免会话超时问题
  2. 在 25 分钟内完成 sampling - 在 30 分钟超时前留出缓冲
  3. 实现重试逻辑 - 用指数退避处理瞬时 RequestFailedError
  4. 记录 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(...)

本页目录