Optimiza Algoritmos con IA: Usando DeepSeek-V2 en Colab para Resolver "Contar Islas"
Inicia sesión para descargarSumérgete en el futuro de la programación con este tutorial práctico donde fusionamos la inteligencia artificial y la algoritmia. Aprende a configurar un entorno de desarrollo persistente en Google Colab con Ollama …
¡Hola, comunidad de "TuCodigoCotidiano"!
Hoy nos sumergimos en el fascinante mundo de la inteligencia artificial aplicada a la resolución de problemas algorítmicos. En este tutorial, te mostraremos cómo configurar y utilizar deepseek-coder-v2, un potente modelo de lenguaje enfocado en código, directamente desde Google Colab, y lo pondremos a prueba para resolver un desafío clásico: el problema de "Contar Islas" en una matriz.
Aprenderás a crear un entorno persistente en Google Drive para no tener que descargar el modelo cada vez, y luego implementaremos un ingenioso sistema evolutivo en Python que utiliza la IA para generar, evaluar y mejorar soluciones algorítmicas de forma autónoma.
Al final de este tutorial, no solo tendrás un sistema funcional para experimentar con la IA en la optimización de código, sino que también comprenderás las estrategias avanzadas de prompting y evaluación que hacen que estos modelos realmente brillen.
¡Prepárate para llevar tus habilidades de resolución de problemas al siguiente nivel con el poder de la IA!
Script 1: Configuración Definitiva de Ollama y DeepSeek-V2 en Google Colab
El primer paso es preparar nuestro entorno en Google Colab. El siguiente script está diseñado para ser eficiente y reutilizable: conecta tu Google Drive, crea una carpeta para almacenar el modelo de forma permanente y luego instala y ejecuta Ollama con deepseek-coder-v2. La primera vez descargará el modelo, pero en las siguientes ejecuciones, lo cargará instantáneamente desde tu Drive, ahorrándote mucho tiempo.
📜 Script de Configuración Persistente en Colab
# =======================================================================================
# SCRIPT DEFINITIVO PARA USAR 'deepseek-coder-v2' EN COLAB SIN DESCARGAS REPETIDAS
#
# Este script guarda el modelo en tu Google Drive la primera vez, y en las
# siguientes ejecuciones, lo reutiliza directamente desde ahí.
# =======================================================================================
# --- PASO 0: CONFIGURACIÓN ---
import os
import time
import sys
# Carpeta en tu Drive donde se guardará el modelo de forma permanente.
NOMBRE_CARPETA_DRIVE = "ollama_deepseek_model"
# Usamos EXACTAMENTE el nombre del modelo que te funciona.
NOMBRE_MODELO = "deepseek-coder-v2"
# ---------------------------------------------------------------------------------------
# --- PASO 1: CONECTAR GOOGLE DRIVE ---
print("🔌 PASO 1: Conectando con Google Drive...")
from google.colab import drive
# Usamos force_remount para asegurar una conexión limpia siempre.
drive.mount('/content/drive', force_remount=True)
time.sleep(5) # Pequeña pausa para que el sistema de archivos se estabilice.
print("✅ Google Drive montado.")
# --- PASO 2: PREPARAR ALMACENAMIENTO PERSISTENTE ---
print("\n🗂️ PASO 2: Preparando la carpeta en Google Drive...")
drive_ollama_path = f"/content/drive/MyDrive/{NOMBRE_CARPETA_DRIVE}"
os.makedirs(drive_ollama_path, exist_ok=True) # Crea la carpeta si no existe.
# Redirigimos a Ollama para que use la carpeta de Drive.
# Esto es lo que evita las descargas repetidas.
if os.path.islink('/root/.ollama') or os.path.exists('/root/.ollama'):
!rm -rf /root/.ollama
!ln -s "{drive_ollama_path}" /root/.ollama
print(f"✅ ¡Listo! Ollama ahora usará esta carpeta permanente: {drive_ollama_path}")
# --- PASO 3: INSTALAR OLLAMA (DE FORMA INTELIGENTE) ---
print("\n🛠️ PASO 3: Verificando si Ollama está instalado...")
# Solo lo instala si no lo encuentra, para ahorrar tiempo en futuras ejecuciones.
if not os.path.exists('/usr/local/bin/ollama'):
print("-> Instalando Ollama...")
!curl -fsSL https://ollama.com/install.sh | sh
print("✅ Ollama instalado.")
else:
print("✅ Ollama ya está instalado.")
# --- PASO 4: INICIAR SERVIDOR Y EJECUTAR EL MODELO ---
print("\n🚀 PASO 4: Iniciando servidor y ejecutando el modelo...")
# Iniciamos el servidor en segundo plano.
get_ipython().system_raw('nohup ollama serve &')
time.sleep(10) # Damos tiempo a que el servidor arranque bien.
print(f"-> Cargando el modelo '{NOMBRE_MODELO}'...")
# La primera vez lo descargará. Las siguientes, lo cargará desde tu Drive.
!ollama run {NOMBRE_MODELO} "Escribe una función en Python para calcular el factorial de un número."
print("-" * 50)
print("\n\n🎉 ¡PROCESO INICIAL FINALIZADO! 🎉")
print("El modelo ha sido ejecutado y ahora está guardado en tu Google Drive.")
Explicación del Código: Script de Configuración Persistente en Colab
Paso 1: Conectar Google Drive: Se monta tu unidad de Google Drive en el entorno de Colab, dándonos un lugar para guardar archivos de forma permanente.
Paso 2: Preparar Almacenamiento: Se crea una carpeta específica en tu Drive (ollama_deepseek_model). Luego, se utiliza un enlace simbólico (ln -s) para "engañar" a Ollama, haciéndole creer que su carpeta de modelos (/root/.ollama) está en el sistema de Colab, cuando en realidad está apuntando directamente a tu Google Drive. Esta es la clave para la persistencia.
Paso 3: Instalar Ollama: Se comprueba si Ollama ya está instalado. Si no es así, lo descarga e instala. Esto evita reinstalaciones innecesarias en futuras sesiones.
Paso 4: Iniciar Servidor y Modelo: Se inicia el servidor de Ollama en segundo plano (nohup ollama serve &). Luego, se ejecuta el modelo deepseek-coder-v2 con un prompt simple. La primera vez, esto provocará la descarga del modelo, que se guardará directamente en la carpeta de Google Drive. Las siguientes veces, Ollama encontrará los archivos del modelo en esa carpeta y los cargará al instante.
Script 2: Sistema Evolutivo para la Resolución de Algoritmos
Una vez que nuestro entorno está listo y el servidor de Ollama está corriendo, podemos ejecutar nuestro script principal. Este código define un sistema que propone soluciones a un problema algorítmico, las evalúa, y utiliza las mejores soluciones como inspiración para generar propuestas aún mejores, imitando un proceso de evolución.
📜 Código del Sistema Evolutivo con Estrategia de Prompt Avanzada
Comentarios y valoraciones
No hay comentarios aún. ¡Sé el primero en opinar!