Ejecutar agentes de IA con vLLM
Qué cubre este artículo sobre vLLM
- Cómo ejecutar agentes de IA con vLLM.
- Por qué vLLM es mejor para producción y muchas solicitudes paralelas.
- Configuración, selección de modelos y API compatible con OpenAI.
- Ejemplos prácticos para agentes de alto rendimiento.
- Mejores prácticas para procesamiento por lotes y escalado.
Introducción: vLLM para agentes explicado de forma clara
vLLM es un servidor de inferencia de alto rendimiento para LLMs. Utiliza PagedAttention para una gestión eficiente de memoria y admite procesamiento por lotes para muchas solicitudes paralelas. Para agentes, esto significa respuestas más rápidas, más agentes en paralelo y mejor utilización de recursos.
Este artículo está dirigido a usuarios avanzados que quieren ejecutar agentes con vLLM. Encontrarás los fundamentos en vLLM y Ejecutar agentes de IA localmente.
¿Por qué necesito vLLM para agentes?
Imagina que tienes 10 agentes trabajando simultáneamente. Ollama procesa solicitudes secuencialmente, lentamente. vLLM agrupa solicitudes en lotes: todos los 10 agentes reciben respuestas al mismo tiempo. Para producción con muchos agentes, vLLM es la opción superior.
vLLM para agentes resumido
vLLM = Servidor LLM de alto rendimiento con PagedAttention y procesamiento por lotes. API compatible con OpenAI para frameworks de agentes. Para muchos agentes paralelos y producción.
La idea central es esta: más rápido, más agentes en paralelo, mejor utilización de GPU.
Para quién está dirigido este artículo
- Equipos de producción que ejecutan muchos agentes en paralelo.
- Especialistas en rendimiento que quieren optimizar el uso de GPU.
- Equipos de escalado que ejecutan agentes para muchos usuarios.
- Usuarios avanzados que utilizan vLLM para agentes.
Términos importantes
- vLLM - Inferencia de alto rendimiento. Cuándo es útil: para producción.
- PagedAttention - Optimización de memoria. Cuándo es útil: para eficiencia.
- Procesamiento por lotes - Muchas solicitudes simultáneamente. Cuándo es útil: para agentes paralelos.
- Ollama - Alternativa. Cuándo es útil: para configuración simple.
- API de OpenAI - API estándar. Cuándo es útil: para frameworks.
Configuración
1. Instalar vLLM
pip install vllm
2. Iniciar el servidor
# Modelo único
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3.1-8B-Instruct \
--port 8000
# Con GPU
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3.1-8B-Instruct \
--tensor-parallel-size 2 \
--port 8000
3. Conectar con framework de agentes
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
# Bucle de agente (como en LM Studio)
response = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "Task"}],
tools=tools,
tool_choice="auto"
)
Ejemplo práctico: Agentes paralelos
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(
base_url="http://localhost:8000/v1",
api_key="not-needed"
)
async def run_agent(agent_id, task):
"""Agente individual"""
response = await client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": task}],
tools=tools,
tool_choice="auto"
)
return response.choices[0].message
async def run_parallel_agents():
"""10 agentes en paralelo"""
tasks = [f"Task {i}" for i in range(10)]
agents = [run_agent(i, task) for i, task in enumerate(tasks)]
results = await asyncio.gather(*agents)
return results
# Todos los agentes se ejecutan en paralelo
results = asyncio.run(run_parallel_agents())
vLLM vs. Ollama
| Aspecto | vLLM | Ollama |
|---|---|---|
| Rendimiento | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Lotes | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| Configuración | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| GUI | ❌ | ❌ (CLI) |
| Múltiples modelos | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Producción | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| Mejor para | Muchas solicitudes paralelas | Configuración simple |
Consideraciones de seguridad
- API sin autenticación: La API de OpenAI no está protegida. Usa firewall para acceso externo.
- Memoria GPU: vLLM utiliza mucha memoria GPU. Se requiere monitoreo.
- Seguridad del modelo: Los modelos pueden ejecutar inyección de prompts. Consulta Inyección de prompts.
Trampas comunes
- Configuración más compleja: vLLM es más técnico que Ollama. Para configuración simple: Ollama.
- Memoria GPU: vLLM requiere mucha VRAM para procesamiento por lotes. Dimensiona adecuadamente.
- Formato de modelo: vLLM requiere formato HF, no GGUF. Diferentes modelos que Ollama.
- Sin GUI: vLLM es solo CLI/API. Para GUI: LM Studio.
- Sobredimensionado para configuraciones pequeñas: Para 1-2 agentes, Ollama es más simple.
Enlaces relacionados
- vLLM - vLLM en detalle.
- Ollama - Alternativa.
- Ejecutar agentes de IA localmente - Descripción general.
- Múltiples agentes - Agentes paralelos.
- Requisitos de hardware - Hardware.
Puntos clave:
- vLLM = Inferencia de alto rendimiento con PagedAttention y procesamiento por lotes.
- Mejor que Ollama para muchos agentes paralelos y producción.
- API compatible con OpenAI para frameworks de agentes.
- Configuración más compleja, pero mejor rendimiento.
- Para 1-2 agentes: Ollama es más simple.
Preguntas frecuentes
¿Qué es vLLM?
¿vLLM u Ollama?
¿Cuánto más rápido es vLLM?
¿Qué modelos puedo usar?
¿Cuánta VRAM necesito?
¿Soporta vLLM tool-calling?
¿Permanecen mis datos privados?
¿Cómo escalo vLLM?
Fuentes y lecturas adicionales
- vLLM - GitHub.
- vLLM Docs - Documentación.
- PagedAttention - Artículo.


