Curso
La IA de código abierto vuelve a causar sensación: Moonshot AI ha lanzado recientemente Kimi K2, un modelo de lenguaje Mixture-of-Experts (MoE) con 32 000 millones de parámetros activados y un billón de parámetros totales.
En este blog, explicaré qué es Kimi K2, cómo acceder a él y te guiaré a través de casos prácticos de uso de Kimi K2. Exploraremos cómo Kimi K2 puede:
- Genera contenido web estructurado y adaptable
- Crea resultados gráficos como SVG.
- Facilita la visualización interactiva de datos y el análisis estadístico.
- Simula fenómenos científicos complejos.
- Desarrolla juegos atractivos
- Planifica itinerarios detallados con funciones interactivas.
Mantenemos a nuestros lectores al día sobre las últimas novedades en IA mediante el envío de The Median, nuestro boletín informativo gratuito de los viernes que resume las noticias más importantes de la semana. Suscríbete y mantente al día en solo unos minutos a la semana:
¿Qué es Kimi K2?
Kimi K2 es un modelo lingüístico diseñado por Moonshot AI, que cuenta con 32 000 millones de parámetros activados dentro de un amplio marco de 1 billón de parámetros totales. Kimi K2 está optimizado para tareas de agencia. Está diseñado para actuar, ejecutar y razonar a través de tareas complejas impulsadas por herramientas.
Kimi K2 está disponible en dos versiones:
- Kimi-K2-Base, un modelo básico para el ajuste personalizado; y
- Kimi-K2-Instruct, optimizado para chat de uso general y ejecución autónoma de tareas.
Kimi K2 muestra resultados prometedores en las pruebas comparativas, especialmente en la codificación agencial y el uso de herramientas:

Fuente: Kimi K2
En comparación con sus homólogos de código abierto, como DeepSeek V3, Qwen 2.5y LLaMA 4, Kimi K2 suele obtener mejores resultados en las pruebas de rendimiento, pero puede requerir una ingeniería de indicaciones cuidadosa para lograr resultados óptimos en la práctica, normalmente mediante un refinamiento iterativo. Incluso se ha descrito informalmente como «DeepSeek V3 con menos cabezas y más expertos», dada su arquitectura MoE de enrutamiento experto.
Aunque la infraestructura de la API aún está madurando y la documentación podría ser más clara, Kimi K2 destaca como una de las opciones más asequibles disponibles actualmente. Es ideal para programadores con experiencia que estén familiarizados con los flujos de trabajo basados en LLM, aunque los principiantes pueden encontrar una curva de aprendizaje más pronunciada.
¿Cómo acceder a Kimi K2?
Puedes acceder a Kimi K2 a través de la interfaz de chat y la API.
Kimi Chat
Puedes acceder a Kimi K2 a través de la interfaz de Kimi Chat:

A continuación, explicaré cómo configurar Kimi K2 a través de la API paso a paso, así que no dudes en pasar directamente a la sección de ejemplos.
Kimi K2 API
También puedes acceder a Kimi K2 a través de un punto final API. Actualmente, su uso es gratuito para consultas generales dentro del nivel gratuito, con un número determinado de consultas antes de pasar a un nivel basado en créditos.


Necesitarás una clave API, que puedes generar desde la Consola para programadores de Moonshot. Repasemos este proceso paso a paso.
Paso 1: Generar una clave API
A continuación se explica cómo acceder a la API de Moonshot para acceder al modelo Kimi K2:
- Inicia sesión en la consola Moonshot con con tu cuenta de Gmail.

- Haz clic en «Recargar» en la pestaña «Facturación» y añade los datos de tu tarjeta. Para este tutorial, con unos 5 dólares es suficiente. Recibirás 5 $ adicionales en forma de vale en la factura.
- Ve a la pestaña Claves API y haz clic en Crear clave API. Rellena el nombre de la clave API y el proyecto (mantén los valores predeterminados inicialmente) y guarda la clave API para su uso futuro.

Paso 2: Configuración de un entorno Python
Ahora, configuremos un entorno para todos nuestros experimentos locales:
conda create -n kimi python=3.10
conda activate kimi
Este código crea y activa un entorno Python denominado kimi.
Paso 3: Configuración de una variable global
Se recomienda exportar la clave API como una variable de entorno en tu terminal o guardarla en un archivo .env. A continuación se explica cómo guardarlo en tu entorno Python (kimi en este caso):
export MOONSHOT_API_KEY="your_api_key"
Para verificar si la API de Moonshot está correctamente configurada como variable global en tu entorno, ejecuta:
echo $MOONSHOT_API_KEY
Si ves el valor de la clave al ejecutar el comando anterior, puedes continuar; de lo contrario, primero configura la clave como variable global. Si estás configurando la clave API en un archivo .env, guárdala de la siguiente manera:
MOONSHOT_API_KEY=your_api_key
Ahora estamos listos para explorar las capacidades de Kimi K2.
Paso 4: Realizar una llamada API
Ahora que ya hemos configurado nuestra clave API, probemos una tarea básica de finalización de chat con el modelo Kimi K2.
from openai import OpenAI
import os
MOONSHOT_API_KEY = os.getenv("MOONSHOT_API_KEY", "your-moonshot-api-key")
client = OpenAI(
api_key=MOONSHOT_API_KEY,
base_url="https://api.moonshot.ai/v1"
)
def simple_chat(model_name: str):
messages = [
{"role": "system", "content": "You are Kimi, an AI assistant created by Moonshot AI."},
{"role": "user", "content": "Explain LLM to a 5-year-old."}
]
response = client.chat.completions.create(
model=model_name,
messages=messages,
stream=False,
temperature=0.6,
max_tokens=256
)
print(response.choices[0].message.content)
simple_chat("kimi-k2-0711-preview")
El script Python anterior configura el cliente API utilizando la clave API y el punto final proporcionados. La función simple_chat() envía una solicitud predefinida al modelo Kimi (kimi-k2-0711-preview) utilizando un formato de chat con mensajes del sistema y del usuario, que luego imprime la respuesta del asistente.

Ejemplo 1: Simulación de sitios web
A continuación, compartiré mi experiencia de primera mano probando Kimi K2 en diversos escenarios. Empecé generando una sencilla simulación de sitio web utilizando la interfaz de chat Kimi K2 ,, que permite a los usuarios previsualizar el código HTML generado. Este es el mensaje que utilicé:
: Crea una página de destino SaaS con numerosas funciones.
Kimi K2 tardó bastante más (unos 5 minutos) en generar el código en comparación con otros modelos que he probado recientemente (como Grok 4 o Gemini Diffusion). Sin embargo, a pesar de este retraso inicial, los gráficos y los elementos interactivos de la aplicación resultante fueron muy precisos. Además, Kimi K2 utilizó eficazmente sus capacidades de agencia para obtener una imagen relevante libre de derechos de autor de Unsplash para la página HTML.
Ejemplo 2: Generación de representaciones SVG
A continuación, probé a generar algunas representaciones SVG (Scalable Vector Graphics, gráficos vectoriales escalables). Aunque el modelo tardó algún tiempo en devolver una imagen SVG de buena calidad, finalmente hizo un buen trabajo.
Mensaje: Crea una representación SVG de una mariposa.
Al principio, le pedí al modelo que creara una representación de un dragón, y el resultado fue solo unas sombras y colores. Sin embargo, tras varias iteraciones, el modelo generó una buena representación de una mariposa.

Ejemplo 3: Análisis de un conjunto de datos con simulación
En este ejemplo, le pedí a Kimi K2 que analizara un conjunto de datos sencillo y presentara sus conclusiones a través de un panel de control HTML. Este es el mensaje que utilicé:
Mensaje: Crea un panel interactivo en HTML con una interfaz de usuario fluida y moderna que permita a los usuarios simular y visualizar los efectos del teletrabajo en los salarios de distintos puestos de trabajo, basándose en el conjunto de datos ds_salaries.csv proporcionado.
El panel de control debe incluir los siguientes componentes mejorados:
1. Controles de simulación dinámica (simulador de usuario):
Entradas deslizantes y campos numéricos adaptables para ajustar:
Prima remota (%)
Multiplicadores específicos del perfil del puesto
Inflación o deflación del salario base
Comentarios en tiempo real sobre cómo los cambios en los datos introducidos afectan al conjunto de datos.
Información sobre herramientas que explica el impacto de cada parámetro.
2. Gráficos de interacción y mapas de calor:
Gráfico de interacción entre salario y perfil del puesto × ratio de teletrabajo
Opciones para cambiar entre las vistas de barra, línea o mapa de calor.
Resalta los valores atípicos o las interacciones estadísticamente significativas.
3. Información estadística en tiempo real:
Resultados de regresión en tiempo real (OLS, ANOVA)
Resaltar los valores p y los umbrales de significación
Gráficos visuales de residuos o diagnósticos del modelo (si es posible)
4. Diseño de interfaz moderno:
Diseño optimizado para dispositivos móviles y sin dependencias, utilizando HTML/CSS/JS estándar.
Diseño tipo tarjeta, con secciones plegables para mayor claridad.
Animaciones fluidas, transiciones y cambio entre modo oscuro y claro.
Asegúrate de que todo el resultado esté listo para copiar y pegar en un único archivo index.html, sin dependencias externas. Incluye lógica de marcador de posición para cargar el CSV a través de un elemento <input type="file">. Bonus: añade tabla de vista previa CSV y opciones de descarga-exportación para datos simulados.
En , este experimento con Kimi K2, el modelo aceptó y procesó correctamente el conjunto de datos cargado, actualizando correctamente los controles de simulación en función de las variables derivadas de los datos. La interfaz de usuario admitía funciones como el cambio entre los modos oscuro y claro, lo que ofrecía una experiencia visual fluida.
Sin embargo, el resultado carecía de varios componentes analíticos fundamentales. No había gráficos de interacción, visualizaciones de mapas de calor ni información estadística en tiempo real, como resúmenes de regresión o resultados ANOVA. Aunque Kimi K2 gestionó bien la generación estructural y la lógica de la interfaz de usuario, sus limitaciones en el razonamiento estadístico y la visualización interactiva quedaron patentes en este caso de uso.
Ejemplo 4: Simulación científica
El equipo detrás de Kimi proporcionó un caso de uso para su interfaz de chat con el fin de explorar simulaciones científicas y obtener una vista previa de su código HTML dentro de la interfaz de chat. Estas son las indicaciones que probé:
Mensaje: Crear una simulación de galaxia con partículas en 3D

He intentado realizar algunas modificaciones en la simulación para ver cómo se adapta el modelo a cualquier cambio, como una vista superior con la rotación adecuada de las partículas y un tamaño variable de las mismas.
Mensaje revisado: Modifica la simulación actual de galaxia de partículas 3D para renderizar la galaxia desde una perspectiva superior (como se ve desde arriba del plano galáctico). Las estrellas y las armas deben aparecer como un patrón en espiral que se irradia hacia afuera, con una rotación alrededor del eje Z (perpendicular a la pantalla). Asegúrate de que:
Las posiciones de las estrellas se distribuyen en una espiral plana desde la vista superior.
La velocidad de rotación afecta a la rotación angular dentro del plano XY.
No se muestra la inclinación vertical ni el grosor del eje Y: aplana la dimensión Z.
La cámara/el punto de vista está fijo sobre la galaxia (perspectiva ortográfica o vista desde arriba).
Opcionalmente, añade una protuberancia brillante en el centro para simular el núcleo galáctico.
Mantén todos los controles existentes (número de estrellas, número de brazos, zoom, velocidad de rotación) y asegúrate de que la regeneración refleje el diseño de la vista superior.
La revisión de la indicación dio lugar a una visualización significativamente mejorada, lo que demuestra la capacidad del modelo para adaptarse rápidamente a las modificaciones de las indicaciones. Sin embargo, los controles deslizantes proporcionados en la vista previa eran puramente decorativos y no ofrecían ninguna interacción significativa ni tenían ningún impacto en la simulación real de la galaxia.
Ejemplo 5: Simulación de juegos
Inspirándome en la documentación original, intenté pedirle al modelo que generara un juego web similar al juego de dinosaurios al que quizá hayas jugado cuando se cae Internet. Esta es la consigna que utilicé:
Mensaje: Crea un juego de supervivencia con dinosaurios en 3D basado en la web.
Diseña un entorno prehistórico con árboles, rocas y acantilados de estilo low poly.
Animá al dinosaurio con movimientos sencillos como caminar, saltar y agacharse utilizando principios básicos de la física (gravedad, inercia).
El jugador controla al dinosaurio con las teclas WASD y la barra espaciadora para saltar obstáculos.
Utiliza texturas codificadas a mano para el terreno y el skybox con el fin de emular un estilo de «pintura rupestre» (al estilo de Altamira), utilizando patrones procedimentales en lugar de enlaces a imágenes.
Añade elementos de fondo como nubes en movimiento y pterosaurios volando para una mayor inmersión.
Haz que el terreno sea irregular y accidentado, con transiciones suaves entre los segmentos del terreno.
Genera obstáculos aleatorios como cactus, pozos de lava u otros dinosaurios.
La puntuación aumenta cuanto más tiempo sobrevive el dinosaurio; se muestra en la parte superior izquierda con un contador al estilo de Los Picapiedra.
Añade audio ambiental: golpes de tambor graves y sonidos de la selva.
Opcional:
Incluye un modo nocturno con luciérnagas y ojos brillantes en los arbustos.
Utiliza Three.js o Babylon.js si es necesario, pero recurre a WebGL/Canvas puro si deseas mantener la dependencia cero.
Para mi sorpresa, la versión inicial de este juego era inutilizable. Intenté regenerarlo utilizando una indicación más refinada y más larga, sin salir de la ventana de contexto. Este fue el resultado:
El resultado fue ligeramente mejor, pero la mecánica del juego no funcionaba como se esperaba. Esta observación pone de relieve que las indicaciones únicas pueden dar lugar a problemas de rendimiento al desarrollar proyectos de software completos, lo que sugiere que la utilización de Kimi K2 dentro de un marco agentivo, con indicaciones y ajustes iterativos, suele dar mejores resultados y más fiables, tal y como menciona el equipo en la sección de limitaciones.
Ejemplo 6: Planificador de vacaciones
En este ejemplo, exploré el ángulo de búsqueda web de Kimi K2 pidiéndole que creara un itinerario y lo compartiera en formato HTML.
Mensaje: Me siento agotado mental y físicamente, y estoy buscando un retiro de bienestar de 5 días que me ayude a rejuvenecer en profundidad y a resetear mi mente y mi cuerpo. Vivo en San Francisco y estoy dispuesto a viajar dentro y fuera de Estados Unidos. Empieza por buscar retiros de bienestar que se ajusten a tus objetivos de salud, como aliviar el estrés, desconectar de los dispositivos electrónicos, practicar yoga y comer sano, y que se adapten a tu horario flexible. Da prioridad a las opciones que incluyan inmersión en la naturaleza, tratamientos de spa y actividades de mindfulness, como meditación o ejercicios de respiración.
Una vez que hayas encontrado el retiro ideal, planifica todo: los preparativos del viaje (vuelos o transporte local), las reservas de alojamiento, las sesiones diarias de yoga, las citas para masajes o spa, las comidas saludables (preferiblemente veganas o vegetarianas) y cualquier experiencia cultural o en la naturaleza que se pueda realizar en las cercanías (como paseos por el bosque, baños de sonido o ceremonias del té).
Además, comprueba la previsión meteorológica para el lugar elegido durante el periodo en el que podría viajar y sugiere las fechas óptimas. A continuación, elabora un itinerario diario completo, desglosado por horas, que incluya:
Rituales y sesiones matutinas
Comidas y plan de dieta
Actividades de la tarde
Rutinas para relajarse por la noche
Oportunidades de exploración local
También me gustaría un bonito mapa de la ruta que muestre mi salida de San Francisco y el destino del retiro, con marcadores para las paradas importantes, los lugares de interés o los momentos destacados.
Por último, en lugar de sincronizarlo con mi calendario o enviar correos electrónicos, por favor, compila el plan completo en una página HTML local de viajes con un diseño atractivo. La página HTML debe:
Conforme al estilo neobrutalista.
Utiliza un diseño llamativo y expresivo con contrastes intencionados.
Utiliza una paleta de colores terrosos pero intensos (verdes suaves, grises piedra, marrones intensos).
Incluye elementos dibujados a mano o ilustrados relacionados con el bienestar (por ejemplo, siluetas de yoga, motivos solares o lunares).
Incluye un mapa visual claro y un itinerario diario plegable.
Responde perfectamente tanto en dispositivos móviles como en ordenadores de sobremesa.
Presta mucha atención a la elección de las fuentes y al contraste.
Esta página HTML debe transmitir serenidad, modernidad y solidez, y servir como mi portal personal de planificación del bienestar.
La indicación me llevó unas dos iteraciones para redactar un itinerario y previsualizarlo en forma de página HTML. Sin embargo, la información obtenida a través de la herramienta de búsqueda web ayudó al modelo a elaborar un itinerario perfecto.
Conclusión
Kimi K2 es una incorporación destacada al ecosistema LLM de código abierto. Durante mis pruebas, obtuvo excelentes resultados en la generación visual y estructural, especialmente cuando se le guiaba mediante indicaciones paso a paso o refinamientos iterativos.
Dicho esto, Kimi K2 no es perfecto. Puede tardar en responder, algunos resultados (especialmente en simulaciones y en la lógica de los juegos) requieren varias iteraciones para obtener el resultado deseado y los elementos interactivos no siempre funcionan como se espera.
En general, Kimi K2 ofrece capacidades reales para los programadores dispuestos a experimentar. Si te sientes cómodo con los flujos de trabajo basados en LLM y deseas tener más control sobre el comportamiento de los agentes a un bajo costo, vale la pena explorar este modelo.

Soy una Google Developers Expert en ML(Gen AI), una Kaggle 3x Expert y una Women Techmakers Ambassador con más de 3 años de experiencia en tecnología. Cofundé una startup de tecnología sanitaria en 2020 y estoy cursando un máster en informática en Georgia Tech, especializándome en aprendizaje automático.



