Chuyển đến nội dung chính

Documentation Index

Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt

Use this file to discover all available pages before exploring further.

Xử lý rate limits bằng cách kiểm soát concurrency trước khi request rời khỏi ứng dụng của bạn. Khi CometAPI trả về 429, hãy retry với exponential backoff và jitter, sau đó giảm lưu lượng burst nếu việc retry lặp lại vẫn tiếp diễn.

Giới hạn concurrency

Ví dụ Python sau giới hạn số lượng request chat đồng thời bằng một async semaphore:
import asyncio
import os
from openai import AsyncOpenAI

client = AsyncOpenAI(
    api_key=os.environ["COMETAPI_KEY"],
    base_url="https://api.cometapi.com/v1",
)

semaphore = asyncio.Semaphore(5)

async def ask(prompt):
    async with semaphore:
        completion = await client.chat.completions.create(
            model="your-model-id",
            messages=[{"role": "user", "content": prompt}],
        )
        return completion.choices[0].message.content

async def main():
    prompts = ["Say hello.", "Write a title.", "Return one JSON key."]
    results = await asyncio.gather(*(ask(prompt) for prompt in prompts))
    print(results)

asyncio.run(main())
Kết quả là một mảng đầu ra của model:
[
  "Hello.",
  "A concise title",
  "{\"key\":\"value\"}"
]

Retry rate limits

Ví dụ JavaScript sau retry các phản hồi 429 với jitter:
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.COMETAPI_KEY,
  baseURL: "https://api.cometapi.com/v1",
});

async function sleep(milliseconds) {
  return new Promise((resolve) => setTimeout(resolve, milliseconds));
}

async function createCompletion() {
  for (let attempt = 0; attempt < 5; attempt += 1) {
    try {
      return await client.chat.completions.create({
        model: "your-model-id",
        messages: [{ role: "user", content: "Say hello." }],
      });
    } catch (error) {
      if (error.status !== 429 || attempt === 4) {
        throw error;
      }

      const delay = Math.min(30000, 1000 * 2 ** attempt);
      await sleep(delay + Math.random() * 1000);
    }
  }
}

const completion = await createCompletion();
console.log(completion.choices[0].message.content);
Phản hồi thành công chứa một chat completion thông thường:
{
  "choices": [
    {
      "message": {
        "content": "Hello."
      }
    }
  ]
}

Các lỗi phổ biến

LỗiCách khắc phục
Yêu cầu song song không giới hạnThêm semaphore, queue, hoặc worker pool.
Retry mọi lỗiChỉ retry 429 và các lỗi máy chủ tạm thời.
Không có metric theo từng modelGhi log route, model ID, status, và latency cho mỗi request.
Bão retryThêm jitter và giới hạn độ trễ retry tối đa.

Liên kết liên quan

Last modified on May 28, 2026