Módulo 3: LM Studio - Introducción
API Local Compatible con OpenAI
Descripción
LM Studio puede funcionar como servidor API local compatible con OpenAI. Esto te permite usar el código del Módulo 2 sin cambios.
Tiempo: 25 minutos
Dificultad: Media
🎯 Objetivos
- ✅ Iniciar servidor API local
- ✅ Verificar endpoint con curl
- ✅ Conectar con OpenAI SDK
- ✅ Reusar código del Módulo 2
🚀 Paso 1: Iniciar Servidor
En LM Studio:
- Tab ⚙️ Settings
- Section "Local Server"
- Click [Start Server]
Endpoint por defecto:
http://localhost:1234/v1
Puerto: 1234 (configurable en Settings)
✅ Paso 2: Verificar con Curl
# List models
curl http://localhost:1234/v1/models
# Output esperado:
{
"data": [
{
"id": "mistral-7b-instruct",
"object": "model"
}
]
}
💻 Paso 3: Conectar con Python
Código (drop-in replacement):
from openai import OpenAI
# Cambiar solo base_url y api_key
client = OpenAI(
base_url="http://localhost:1234/v1",
api_key="not-needed" # API key no necesaria (local)
)
# Resto del código IDÉNTICO al Módulo 2
response = client.chat.completions.create(
model="mistral-7b-instruct",
messages=[
{"role": "user", "content": "Hola"}
]
)
print(response.choices[0].message.content)
Todo el resto del código del Módulo 2 funciona sin cambios.
🔄 Paso 4: Migrar Chatbot Módulo 2
Cambio necesario (2 líneas):
# Era (Módulo 2):
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# Ahora (Módulo 3):
client = OpenAI(
base_url="http://localhost:1234/v1",
api_key="not-needed"
)
El resto del código (conversaciones, context, error handling) es idéntico.
📊 Comparación: Cloud vs Local
| Dimensión | OpenAI API | LM Studio Local |
|---|---|---|
| Costo | $0.50/1M tokens | $0 |
| Latency | 1.5s | 5-15s (CPU) |
| Privacidad | Cloud | 100% local |
| Calidad (7B) | GPT-3.5: 70% MMLU | Mistral: 62% MMLU |
| Setup | 5 min | 30 min |
🐛 Troubleshooting
Error: Connection refused
Causa: Servidor no iniciado
Solución:
- LM Studio → Settings → Start Server
- Verifica 🟢 "Server running"
Error: Model not found
Causa: Nombre de modelo incorrecto
Solución:
# Lista modelos disponibles
curl http://localhost:1234/v1/models
# Usa el "id" exacto en tu código
✅ Resumen
- Servidor API local en LM Studio
- Compatible 100% con OpenAI SDK
- Cambio mínimo:
base_url+api_key - Todo el código del Módulo 2 reutilizable
Siguiente: 06-migracion-codigo.md