Llama-Swap: La solución definitiva al problema más molesto de los LLM locales
BBetter Stack
컴퓨터/소프트웨어가전제품/카메라AI/미래기술
Transcript
00:00:00Nuestra configuración de modelo local funciona genial, hasta que necesitamos un modelo diferente.
00:00:04Ahora estamos cerrando el servidor llama, cambiando puertos, actualizando nuestra URL base de OpenAI, esperando
00:00:10recargas y simplemente esperando que nada falle.
00:00:13Todo porque nuestro modelo de código es muy grande para un chat rápido, y tu modelo pequeño es muy tonto
00:00:18para código real.
00:00:19LlamaSwap soluciona eso.
00:00:21Un punto de acceso, múltiples modelos, intercambio automático, y tus herramientas ni se enteran del cambio.
00:00:26Te mostraré cómo configurar esto en los próximos minutos.
00:00:34La mayoría de los desarrolladores de LLM locales acaban chocando con el mismo muro.
00:00:37Al principio usas algo conveniente, como Llama, LM Studio, algo que simplemente funcione.
00:00:44Porque funciona.
00:00:45Y sinceramente eso es genial, porque han mejorado mucho.
00:00:48Pero luego empezamos a querer más control.
00:00:51Quieres flags exactos de llama.cpp, ubicación de capas en GPU, quizás el tamaño del contexto, backends personalizados,
00:00:59o incluso modelos experimentales.
00:01:01Así que te acercas al servidor de llama puro, y eso se siente increíble.
00:01:06Hasta que te das cuenta de que acabas de cambiar un problema por otro.
00:01:09Ahora estás haciendo esto.
00:01:11Cierras tu servidor llama, luego inicias QuinCoder, y cinco minutos después, ¿qué
00:01:16estás haciendo?
00:01:17Estás cerrando tu servidor llama.
00:01:18Estás saltando entre estos modelos.
00:01:20Y cada vez que lo haces, algo espera, se reconecta, falla o usa el modelo equivocado en silencio.
00:01:26equivocado.
00:01:27Así que lo que realmente intentas hacer es mantener un punto de acceso al frente, y cambiar los modelos
00:01:31que quieras detrás de él.
00:01:33Ese es el vacío que llena LlamaSwap.
00:01:36Si disfrutas de las herramientas de código que aceleran tu flujo de trabajo, asegúrate de suscribirte.
00:01:39Sacamos videos constantemente.
00:01:41Ahora déjame mostrarte cómo funciona todo esto antes de hablar de ello.
00:01:44Ahora mismo LlamaSwap se está ejecutando localmente en un puerto.
00:01:48Mi cliente solo conoce esta URL base, no una URL para Quin, otra para small LM, otra
00:01:55URL para embeddings, solo una puerta principal.
00:01:58Aquí hay una configuración pequeña con dos modelos.
00:02:02Uno es QuinCoder, el otro es small LM2.
00:02:06Y cada uno tiene su propio comando.
00:02:09Cada uno tiene su propio archivo de modelo.
00:02:11Cada uno tiene su propio tamaño de contexto.
00:02:14Y la diferencia entre estos dos es que cada uno tiene también su propio TTL.
00:02:19Ahora le pediré algo al modelo de código.
00:02:22Envío una solicitud de chat normal al estilo OpenAI.
00:02:25El campo del modelo dice QuinCoder, de acuerdo, genial.
00:02:30Veamos los registros.
00:02:32Espera hasta que el backend esté sano y luego envía la solicitud.
00:02:36Ahora, esto es lo que no está sucediendo.
00:02:39No estoy cambiando la URL.
00:02:41No estoy reiniciando Open WebUI.
00:02:43No estoy editando esto en Cursor.
00:02:46Estoy cambiando un campo.
00:02:48Así que el modelo pasa de QuinCoder a small LM2, mismo endpoint, mismo cliente, diferente modelo.
00:02:55Y cuando el modelo está inactivo más allá de su TTL, LlamaSwap puede descargarlo para recuperar tu VRAM.
00:02:59Ese es todo el truco.
00:03:00Tus herramientas creen que están hablando con una sola API.
00:03:02LlamaSwap se encarga de la parte complicada entre bastidores para controlar realmente cómo va todo.
00:03:04O sea que,
00:03:09¿qué es LlamaSwap?
00:03:10Ya lo mostré aquí, ¿verdad?
00:03:11Piénsalo como un centro para tus modelos locales.
00:03:12Tus aplicaciones no hablan directamente con cada servidor de modelos.
00:03:13Hablan con LlamaSwap.
00:03:16Luego LlamaSwap mira el campo del modelo y decide qué debe suceder.
00:03:19Si el modelo ya está funcionando, reenviará la solicitud.
00:03:21Si el modelo no está funcionando, entonces iniciará la solicitud.
00:03:25Si otro modelo tiene que apartarse, lo detendrá.
00:03:28Luego tu cliente recibe una respuesta normal.
00:03:31Así que no hay que cambiar las URLs base cada 10 minutos.
00:03:35Hay un binario, un archivo de configuración, un endpoint de API estable.
00:03:38Está construido en Go y usa configuración YAML.
00:03:41Funciona como un proxy para APIs compatibles con OpenAI y Anthropic y puede estar
00:03:45frente a backends como llama.cpp, vLLM, TabbyAPI y más.
00:03:48Si tienes suerte, podrías tener 10 o 20 modelos en el disco, pero solo suficiente VRAM para mantener uno o
00:03:53frente a backends como llama cpp, vllm, tabby API y muchos más.
00:03:59Si tienes suerte, podrías tener 10 o 20 modelos en el disco, pero solo la VRAM
00:04:05suficiente para mantener uno o dos cargados.
00:04:06El TTL ayuda con eso.
00:04:08puede liberar esa memoria para la siguiente solicitud.
00:04:11Antes tenías que recordar qué se estaba ejecutando.
00:04:17Ahora la configuración lo recuerda por ti.
00:04:20Llegados a este punto, la pregunta obvia es ¿por qué no usar Llama u Olama o LM Studio o el simple
00:04:23servidor de Llama?
00:04:25Y la respuesta es, bueno, podrías hacerlo.
00:04:31LlamaSwap no reemplaza a estos todo el tiempo.
00:04:32Resuelve un problema muy específico.
00:04:35Comparado con Olama, LlamaSwap no es una tienda de modelos, un descargador o una CLI amigable.
00:04:37Ese no es el objetivo aquí.
00:04:40El punto es el control.
00:04:47Ese no es el punto aquí.
00:04:49El punto es el control.
00:04:50Se adapta mejor a una caja de desarrollo, un servidor doméstico, Docker o una máquina compartida donde las herramientas solo
00:04:55necesitan una API estable.
00:04:57Esto no es tan fácil como un “ollama run llama3”.
00:05:02Necesitas tus archivos de modelo.
00:05:07Necesitas entender tu backend.
00:05:09Necesitas escribir YAML.
00:05:13Necesitas saber qué flags se ajustan a tu GPU.
00:05:15No hay una galería de modelos incorporada que descargue y configure todo por ti.
00:05:17Así que, sinceramente, la configuración es un gran incordio.
00:05:19Pero para algunos desarrolladores, esto resuelve un dolor muy específico.
00:05:22El dolor de saber exactamente qué modelo quieres, pero perder el tiempo conectando y reconectando
00:05:26todo a su alrededor.
00:05:29Vale la pena probarlo si usas herramientas como Cursor, Continue, agentes personalizados o scripts locales.
00:05:32Esto va a ser útil, pero la configuración es más intensiva.
00:05:38Así que eso es LlamaSwap.
00:05:39Un endpoint de API estable, múltiples modelos locales detrás, intercambio automático, descargas por inactividad,
00:05:44control total del backend.
00:05:47La idea principal es simple.
00:05:49A tus clientes deja de importarles qué servidor de modelos se está ejecutando realmente.
00:05:54LlamaSwap se encarga de todo eso por ellos.
00:05:56Si disfrutas con herramientas de código como esta, asegúrate de suscribirte.
00:05:58Nos vemos en otro video.
00:06:02LlamaSwap se encarga de todo eso por ellos.
00:06:04Si disfrutas de herramientas de codificación como esta, asegúrate de suscribirte.
00:06:06Nos vemos en otro video.