Понимание ограничения скорости запросов в OpenAI
OpenAI обеспечивает соблюдение лимиты скорости на уровне ключа API и IP-адреса. Если вы будете слишком сильно нагружать их конечные точки, вы получите ошибку 429 (“Слишком много запросов”). Это означает, что вы превысили допустимое количество запросов в минуту (RPM) или токенов в минуту (TPM).
Типичные лимиты скорости:
| Модель | Обороты двигателя по умолчанию | TPM по умолчанию |
|---|---|---|
| ГПТ-3.5 | 3500 | 90,000 |
| ГПТ-4 | 500 | 40,000 |
Но вот в чем загвоздка: если вы используете несколько IP-адресов, вы можете обойти ограничения на уровне IP-адресов, поскольку каждый уникальный IP-адрес получает свою собственную квоту.
Выбор подходящего прокси-сервера
В австралийской глубинке гораздо больше прокси-серверов, чем кенгуру, но не все они одинаково хороши. Вот краткий обзор:
| Тип прокси | Плюсы | Минусы | Лучшее для |
|---|---|---|---|
| Бесплатные публичные прокси | Просто, бесплатно, много всего доступно | Ненадежный, медленный, часто блокируемый, потенциальная угроза безопасности. | Разовый, низкоприоритетный проект |
| Жилой | Сложнее заблокировать, более легитимно. | Дорогостоящий, медленный, иногда с ограничением пропускной способности. | Постоянное соскабливание |
| Центр обработки данных | Быстро, дешево, масштабируемо | Часто попадает в чёрный список, что может привести к обнаружению злоупотреблений. | Массовые, высокоскоростные задачи |
| Ротация прокси-серверов | Автоматическое переключение, простота использования | Может быть дорого, иногда повторяются IP-адреса. | Обход ограничений скорости |
Чтобы начать, не тратя много денег, ознакомьтесь с... ProxyRoller (https://proxyroller.com). Он собирает и обновляет бесплатные прокси-серверы со всего интернета, регистрация не требуется.
Настройка прокси: пошаговое руководство
1. Извлечение прокси из ProxyRoller
Для начала давайте получим новую порцию бесплатных прокси.
curl https://proxyroller.com/api/proxies?protocol=http
Вы получите JSON-массив прокси-объектов, например:
[
{
"ip": "154.16.192.70",
"port": "1080",
"protocol": "http"
},
...
]
Вы можете фильтровать по протоколу (http, https, socks4, socks5) по мере необходимости.
2. Интеграция прокси в Python Requests
Возьмите несколько прокси-серверов и переключайтесь между ними при выполнении API-запросов.
import requests
import itertools
proxies_list = [
{'http': 'http://154.16.192.70:1080'},
{'http': 'http://38.54.101.103:8080'},
# ... more proxies from ProxyRoller
]
proxies_cycle = itertools.cycle(proxies_list)
def openai_request(payload):
proxy = next(proxies_cycle)
response = requests.post(
"https://api.openai.com/v1/chat/completions",
headers={"Authorization": f"Bearer YOUR_OPENAI_KEY"},
json=payload,
proxies=proxy,
timeout=10
)
if response.status_code == 429:
print("Rate limited, switching proxy!")
return openai_request(payload) # Try next proxy
return response.json()
3. Автоматизация ротации прокси-серверов
Если вы стремитесь к эффективности, автоматизируйте ротацию прокси-серверов при каждом запросе или после ошибки 429.
Пример логики:
– Загрузка прокси-серверов из API ProxyRoller.
– При каждом запросе выбирайте следующий прокси-сервер.
– При ошибке 429 повторите попытку с другим прокси-сервером.
– Периодически обновляйте список прокси-серверов, чтобы исключать неработающие.
Как избежать распространенных ошибок
а. Неработающие или медленные прокси-серверы
Давайте будем честны, бесплатные прокси могут быть гораздо более сомнительными, чем дроппер на эвкалиптовом дереве. Всегда проверяйте прокси перед использованием:
def is_proxy_alive(proxy):
try:
requests.get("https://api.openai.com", proxies=proxy, timeout=3)
return True
except:
return False
working_proxies = [p for p in proxies_list if is_proxy_alive(p)]
b. Блокировка прокси-серверов OpenAI
OpenAI иногда блокирует прокси, особенно бесплатные или используемые в дата-центрах. Если вы постоянно получаете ошибки 403 или ошибки подключения, обновите список прокси в ProxyRoller или рассмотрите возможность использования платного сервиса для критически важных задач.
Шпаргалка по использованию ProxyRoller
| Особенность | Как-сделать |
|---|---|
| Получить HTTP-прокси | curl https://proxyroller.com/api/proxies?protocol=http |
| Получить HTTPS | curl https://proxyroller.com/api/proxies?protocol=https |
| Получите SOCKS5 | curl https://proxyroller.com/api/proxies?protocol=socks5 |
| Количество прокси | Более 1000 обновлений ежечасно. |
| Фильтры | Фильтрация по стране, уровню анонимности, протоколу. |
Дополнительные документы и руководства: https://proxyroller.com/docs
Обход ограничений скорости запросов с помощью пулов прокси.
Если вы настроены на полную мощность, настройте менеджер пула прокси. Вот простой и быстрый пример пула, созданный с помощью Python и ProxyRoller:
import threading
import queue
proxy_queue = queue.Queue()
for proxy in working_proxies:
proxy_queue.put(proxy)
def worker(task_payload):
while not proxy_queue.empty():
proxy = proxy_queue.get()
try:
resp = requests.post(
"https://api.openai.com/v1/chat/completions",
headers={"Authorization": f"Bearer {OPENAI_KEY}"},
json=task_payload,
proxies=proxy,
timeout=10
)
if resp.status_code == 200:
print("Success!", resp.json())
break
except Exception as e:
print(f"Proxy failed: {proxy}. Error: {e}")
threads = []
for payload in tasks:
t = threading.Thread(target=worker, args=(payload,))
t.start()
threads.append(t)
for t in threads:
t.join()
Сравнение бесплатных и платных прокси.
| Атрибут | Бесплатные прокси (ProxyRoller) | Платные прокси |
|---|---|---|
| Расходы | $0 | $10–$200/мес. |
| Надежность | Низкий–Средний | Высокий |
| Скорость | Изменчивый, часто медленный | Быстрый |
| Скорость блокировки | Высокий | Низкий |
| Анонимность | Середина | Высокий |
| Время настройки | Мгновенный | Время на создание/настройку аккаунта: несколько минут |
Дополнительные ресурсы
- Документация OpenAI по ограничению скорости запросов
- ProxyRoller Бесплатный прокси API
- Документация ProxyRoller
- Руководство по использованию прокси-серверов запросов Python
- Поддержка прокси-сервера SOCKS в запросах
Помни, дружище: используй прокси ответственно. Не порть репутацию интернета — меняй, проверяй и веди себя прилично. Если получишь ограничение на количество запросов, просто сделай глубокий вдох, смени прокси и продолжай.
Комментарии (0)
Здесь пока нет комментариев, вы можете стать первым!