Ir al contenido

Configurando LM Studio

Para realizar el laboratorio práctico de este módulo, utilizaremos LM Studio.

Hemos elegido esta herramienta por dos beneficios clave que facilitan enormemente el desarrollo local:

  1. Descubrimiento inteligente: Se conecta a Hugging Face y te permite buscar y descargar modelos fácilmente.
  2. Servidor de inferencia: Nos permite levantar un servidor local que imita la API de OpenAI, lo cual es vital para conectar nuestro código en los siguientes pasos.
  1. Descargar: Ve a lmstudio.ai y descarga la versión para tu sistema operativo.

  2. Buscar modelo: Abre la aplicación y usa la lupa (Search) para buscar Qwen 2.5 Coder o el modelo de tu preferencia.

  3. Seleccionar un resultado: Al buscar, verás varios resultados en la columna izquierda. Selecciona el que tenga más descargas, proveedores oficiales o cuantizadores de alta reputación.

Verás que el mismo modelo tiene versiones con nombres como Q4_K_M, Q6_K o Q8_0. Esto es la cuantización (compresión). Para un equipo estándar (Procesador i5, memoria RAM 16GB), esta tabla te ayudará a elegir:

NivelPeso AproxRecomendaciónCalidad
Q2 - Q3Muy bajo❌ EvitarPierde mucha inteligencia.
Q4_K_M IdealMedioDescargarEl mejor balance calidad/velocidad.
Q8 / FP16Muy alto❌ ProhibidoRequiere hardware de servidor.

Una vez finalizada la descarga:

  1. Ve a la pestaña de Chat (icono de burbuja).
  2. Arriba al centro, selecciona el modelo que acabas de descargar.
  3. Observa la barra superior: te muestra el consumo de RAM en tiempo real.
  4. ¡Prueba enviando un “Hola mundo”!

Aquí es donde ocurre la magia para integrar con Python o Node.js.

  1. Ve a la pestaña Developer.
  2. Haz clic en el botón Server settings y habilita Local server.
  3. Copia la URL que aparece: http://localhost:1234.

Para verificar que tu servidor está listo para recibir peticiones de código, ejecuta este comando en tu terminal o Postman.

Petición (Request):

Petición (Request)
curl http://localhost:1234/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "qwen2.5-coder-7b-instruct",
"messages": [
{
"role": "system",
"content": "Eres un experto en Clean Code y Python. Responde de forma concisa."
},
{
"role": "user",
"content": "¿Qué es una List Comprehension en Python?"
}
],
"temperature": 0.7,
"max_tokens": -1,
"stream": false
}'

Respuesta esperada (Response):

Si todo funciona bien, recibirás un JSON con la respuesta del modelo.

Respuesta (Response)
{
"id": "chatcmpl-w4xt9689dzbus0bloa983",
"object": "chat.completion",
"created": 1767393287,
"model": "qwen2.5-coder-7b-instruct",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Una List Comprehension en Python es una forma concisa de crear listas. Permite generar una nueva lista aplicando una expresión a cada elemento de una lista o iterable existente, y opcionalmente filtrando los elementos según una condición.",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 53,
"total_tokens": 95
},
"stats": {},
"system_fingerprint": "qwen2.5-coder-7b-instruct"
}