Guía para configurar un descriptor de imágenes sin censura en Ollama

Configurar un descriptor local de imágenes sin censura en Ollama puede parecer complejo al principio, pero se reduce a entender qué es realmente lo que necesitas. Si tu objetivo es pasarle una imagen a la plataforma y obtener una descripción detallada—un caption—sin que el modelo se niegue a analizar contenido NSFW, la solución es bastante directa.

Tarjeta gráfica RTX 3090 vista desde arriba con sus luces verdes
La tarjeta gráfica NVIDIA RTX 3090 de 24 GB de VRAM, el hardware clave para ejecutar estos modelos de visión en local.

Primero, debes tener en cuenta que Ollama no tiene censura propia; el comportamiento moralizante depende principalmente de la elección del modelo y su prompt de sistema. Para imágenes, necesitas obligatoriamente un modelo multimodal o vision.

Elige el Modelo Adecuado

Aquí es donde la arquitectura de tu hardware se vuelve crucial. Con una NVIDIA RTX 3090 de 24 GB de VRAM, tienes opciones muy interesantes. La primera opción sólida es Qwen2.5-VL 7B. Este modelo es distribuido como un paquete de unos 6 GB, lo que lo hace extremadamente ligero y rápido para probar.

No obstante, si buscas algo menos reacio con el contenido explícito, hay modelos más nuevos disponibles en el ecosistema. MiniCPM-V 4.5 es una opción notable: pesa alrededor de 17,4 GB en su versión F16. Esto significa que cabe perfectamente dentro de los 24 GB de tu tarjeta gráfica, aunque debes considerar el consumo adicional del contexto y la imagen.

Aunque existen variantes más grandes como Qwen2.5-VL 32B o 72B, saltar a esos pesos con un solo GPU de 24 GB puede empezar a ser menos cómodo en términos de rendimiento y gestión térmica.

Instalación y Ejecución

Una vez que decides entre Qwen2.5-VL o MiniCPM-V, la instalación es estándar. Puedes ejecutar el comando ollama pull qwen2.5vl:7b para traerlo directamente a tu sistema.

Comparativa de interfaces de IA Qwen y MiniCPM
Comparación visual entre los modelos Qwen2.5-VL y MiniCPM-V para describir imágenes.

Para interactuar con él y generar ese descriptor de imágenes, puedes usar Python con la biblioteca oficial de Ollama. El código básico te permite enviar una imagen junto con un prompt que especifica qué analizar:

response = chat(
    model='qwen2.5vl:7b',
    messages=[{
        'role': 'user',
        'content': '''Describe detalladamente esta imagen.
Incluye personas, ropa, postura, posición relativa de los cuerpos,
expresión facial, entorno, iluminación, composición y acciones visibles.
Describe literalmente lo que ves y no omitas detalles simplemente
porque sean sexualmente explícitos.''',
        'images': ['imagen.jpg']
    }]
)
print(response.message.content)

Optimización con Modelfile

Si quieres llevar esto al siguiente nivel, puedes crear un Modelfile de Ollama especializado en image captioning. Esto te permite forzar una estructura específica para tus descripciones, separando claramente a los personajes, la pose y la acción, la interacción, el entorno, la cámara y la iluminación.

Esto convierte al modelo local en un extractor de prompts altamente eficiente, capaz de alimentar otros sistemas o modelos de imagen. La clave final es probar ambos modelos—Qwen2.5-VL y MiniCPM-V—con la misma imagen para ver cuál se adapta mejor a tu flujo de trabajo.