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:

  1. Tab ⚙️ Settings
  2. Section "Local Server"
  3. 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ónOpenAI APILM Studio Local
Costo$0.50/1M tokens$0
Latency1.5s5-15s (CPU)
PrivacidadCloud100% local
Calidad (7B)GPT-3.5: 70% MMLUMistral: 62% MMLU
Setup5 min30 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