in ,

Hướng dẫn sửa lỗi 429 “Too Many Requests” khi dùng OpenAI API

Khi sử dụng OpenAI API, nhiều người dùng gặp phải lỗi HTTP 429 với thông báo “Too Many Requests”, ngay cả khi đây là lần đầu tiên họ thực hiện yêu cầu. Dưới đây là các nguyên nhân và cách giải quyết phổ biến cho vấn đề này.

Nguyên nhân gây ra lỗi 429 “Too Many Requests”

  1. Hết hạn dùng thử miễn phí: OpenAI cung cấp $18 tín dụng miễn phí cho các tài khoản đăng ký trước tháng 4 năm 2023. Tuy nhiên, các tín dụng này hết hạn vào ngày 1 tháng 4 năm 2023. Khi bạn hết tín dụng miễn phí hoặc tài khoản đã hết hạn, bạn sẽ gặp phải lỗi này ngay cả khi chưa sử dụng API.
  2. Sử dụng API Key trước khi nâng cấp tài khoản: Nếu bạn tạo API key trước khi thêm phương thức thanh toán vào tài khoản của mình, key đó sẽ không hoạt động. Việc nâng cấp tài khoản lên gói trả phí yêu cầu bạn phải tạo một API key mới để tiếp tục sử dụng.
  3. Cần thêm số dư vào tài khoản: Hiện tại, OpenAI yêu cầu bạn nạp tiền vào tài khoản trước khi sử dụng API. Nếu tài khoản của bạn không có tiền, bạn sẽ gặp lỗi 429 ngay lập tức khi thực hiện yêu cầu API.

Cách khắc phục lỗi 429

1. Thêm phương thức thanh toán

Để khắc phục lỗi 429 do hết hạn tín dụng miễn phí hoặc chưa thêm phương thức thanh toán, bạn cần nâng cấp tài khoản bằng cách thêm thẻ tín dụng hoặc ghi nợ vào hệ thống:

  • Truy cập trang Billing của OpenAI.
  • Chọn Add to credit balance và thêm tiền vào tài khoản của bạn.

2. Tạo API key mới sau khi nâng cấp tài khoản

Sau khi thêm phương thức thanh toán hoặc nâng cấp tài khoản, bạn cần tạo một API key mới:

  • Truy cập User Settings > API Keys.
  • Tạo API key mới và sử dụng nó thay vì key cũ.

3. Kiểm tra số dư tài khoản

Đảm bảo rằng tài khoản của bạn có số dư để tránh lỗi 429:

  • Truy cập trang Billing để kiểm tra số dư.
  • Nếu số dư tài khoản thấp, bạn có thể nạp tiền và chờ vài phút để API hoạt động trở lại.

Mã ví dụ với Node.js

Dưới đây là một đoạn mã đơn giản bằng Node.js để gọi OpenAI API:

import { Configuration, OpenAIApi } from "openai";

const configuration = new Configuration({
    apiKey: "YOUR_NEW_API_KEY",
});
const openai = new OpenAIApi(configuration);

async function callApi() {
    try {
        const response = await openai.createCompletion({
            model: "text-davinci-003",
            prompt: "Say this is a test",
            max_tokens: 100,
            temperature: 0,
        });
        console.log(response.data.choices[0].text);
    } catch (error) {
        console.error(error.response ? error.response.data : error.message);
    }
}

callApi();

Nếu bạn gặp lỗi này, hãy kiểm tra lại tài khoản của mình, thêm phương thức thanh toán nếu cần, và tạo API key mới để tiếp tục sử dụng OpenAI API.

Written by Linh Nguyễn

Leave a Reply

Exit mobile version