Comprender la limitación de velocidad de OpenAI
OpenAI hace cumplir límites de velocidad A nivel de clave API y dirección IP. Si estás forzando sus endpoints con más fuerza que un cacatúa contra un tejado de zinc, recibirás un error 429 ("Demasiadas solicitudes"). Esto significa que has excedido las solicitudes por minuto (RPM) o los tokens por minuto (TPM) permitidos.
Límites de velocidad típicos:
| Modelo | RPM predeterminadas | TPM predeterminado |
|---|---|---|
| GPT-3.5 | 3500 | 90,000 |
| GPT-4 | 500 | 40,000 |
Pero aquí está el truco: si usas varias direcciones IP, puedes eludir los límites a nivel de IP, ya que cada IP única tiene su propia cuota.
Cómo elegir la solución proxy adecuada
Hay más proxies que canguros en el interior del país, pero no todos son iguales. Aquí un breve resumen:
| Tipo de proxy | Ventajas | Contras | Mejor para |
|---|---|---|---|
| Proxies públicos gratuitos | Fácil, gratis, montones disponibles | Seguridad potencial, poco fiable, lenta y a menudo bloqueada. | Único, de baja prioridad |
| Residencial | Más difícil de bloquear, más legítimo | Costoso, más lento, a veces con límite de ancho de banda | Raspado persistente |
| Centro de datos | Rápido, barato, escalable | A menudo se incluye en la lista negra, lo que puede desencadenar la detección de abusos. | Tareas masivas y de alta velocidad |
| Proxies rotativos | Cambio automático, fácil de usar. | Puede ser costoso, IP repetidas ocasionalmente | Evitar los límites de velocidad |
Para comenzar sin abrir tu billetera, consulta ProxyRoller (https://proxyroller.com). Extrae y actualiza servidores proxy gratuitos de toda la web, sin necesidad de registrarse.
Configuración de proxies: paso a paso
1. Obtención de servidores proxy desde ProxyRoller
Para empezar, consigamos un nuevo lote de proxies gratuitos.
curl https://proxyroller.com/api/proxies?protocol=http
Obtendrás una matriz JSON de proxies, por ejemplo:
[
{
"ip": "154.16.192.70",
"port": "1080",
"protocol": "http"
},
...
]
Puedes filtrar por protocolo (http, https, socks4, socks5) según sea necesario.
2. Integración de proxies en solicitudes de Python
Toma un montón de proxies y recíclalos al realizar llamadas 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. Automatización de la rotación de proxy
Si busca eficiencia, automatice la rotación del proxy en cada solicitud o después de un error 429.
Lógica de muestra:
– Cargar proxies desde la API de ProxyRoller.
– En cada solicitud, elija el siguiente proxy.
– En caso de error 429, vuelva a intentarlo con un proxy diferente.
– Actualice periódicamente su lista de servidores proxy para evitar los que están inactivos.
Cómo afrontar los errores más comunes
a. Proxies muertos o lentos
Seamos realistas, los proxies gratuitos pueden ser más peligrosos que un oso en un gumtree. Siempre prueba los proxies antes de usarlos:
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. Proxies de bloqueo de OpenAI
OpenAI a veces bloquea los proxies, especialmente los gratuitos o de centros de datos. Si sigues recibiendo errores 403 o de conexión, actualiza tu lista de proxy desde ProxyRoller o considera un servicio residencial de pago para tareas críticas.
Hoja de trucos para el uso de ProxyRoller
| Característica | Cómo hacerlo |
|---|---|
| Obtener servidores proxy HTTP | curl https://proxyroller.com/api/proxies?protocol=http |
| Obtener HTTPS | curl https://proxyroller.com/api/proxies?protocol=https |
| Obtener SOCKS5 | curl https://proxyroller.com/api/proxies?protocol=socks5 |
| Recuento de proxy | Hasta 1000+ actualizados cada hora |
| Filtros | Filtrar por país, nivel de anonimato, protocolo |
Más documentos y guías: https://proxyroller.com/docs
Evitar los límites de velocidad con grupos de proxy
Si vas a toda máquina, configura un administrador de pool de proxy. Aquí tienes un pool rápido y sencillo con Python y 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()
Comparación de proxies gratuitos y de pago
| Atributo | Proxies gratuitos (ProxyRoller) | Proxies pagados |
|---|---|---|
| Costo | $0 | $10–$200/mes |
| Fiabilidad | Bajo-Medio | Alto |
| Velocidad | Variable, a menudo lento | Rápido |
| Tasa de bloqueo | Alto | Bajo |
| Anonimato | Medio | Alto |
| Tiempo de configuración | Instante | Minutos para configurar/crear cuenta |
Recursos adicionales
- Documentación sobre la limitación de velocidad de OpenAI
- API de proxy gratuita de ProxyRoller
- Documentación de ProxyRoller
- Guía de proxies de solicitudes de Python
- Compatibilidad con proxy SOCKS en solicitudes
Recuerda, amigo: usa los proxies con responsabilidad. No desprestigies internet: rótalo, valida y manténlo elegante. Si te limitan la velocidad, simplemente respira hondo, cambia de proxy y sigue adelante.
Comentarios (0)
Aún no hay comentarios aquí, ¡puedes ser el primero!