Как использовать прокси для обхода ограничений скорости запросов OpenAI

Как использовать прокси для обхода ограничений скорости запросов OpenAI

Понимание ограничения скорости запросов в 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/мес.
Надежность Низкий–Средний Высокий
Скорость Изменчивый, часто медленный Быстрый
Скорость блокировки Высокий Низкий
Анонимность Середина Высокий
Время настройки Мгновенный Время на создание/настройку аккаунта: несколько минут

Дополнительные ресурсы


Помни, дружище: используй прокси ответственно. Не порть репутацию интернета — меняй, проверяй и веди себя прилично. Если получишь ограничение на количество запросов, просто сделай глубокий вдох, смени прокси и продолжай.

Арвид Варрал

Арвид Варрал

Ведущий сетевой архитектор

Арвид Уоррал, уроженец этой загорелой страны, является мозгом надежной и гибкой сетевой архитектуры ProxyRoller'. Обладая более чем двадцатилетним опытом в области цифровой безопасности и управления прокси-серверами, он сыграл важную роль в разработке систем, которые отвечают динамическим потребностям конфиденциальности и безопасности данных. Путь Арвида'в ProxyRoller начался как страстный технолог, и с тех пор его инновационные решения вывели компанию на передовые позиции в отрасли. В своей роли он стремится гарантировать, что предложения ProxyRoller' остаются передовыми и надежными для пользователей по всему миру.

Комментарии (0)

Здесь пока нет комментариев, вы можете стать первым!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *