Ubunlog Diego Germán González  

Cómo combinar software libre y grandes modelos de IA

Círculo rojo en Inksacpe

Continuando con la serie de artículos que venimos escribiendo sobre cómo combinar software libre y grandes modelos de IA, abordaremos la interacción más directa entre ellos. En los artículos anteriores habíamos creado un archivo de imagen con el modelo y lo habíamos editado con el programa. Usamos Inkscape, el editor de imágenes vectoriales.

Nuestro objetivo es evitar la uniformidad de los resultados artísticos de los modelos y usarlos para suplir la falta de habilidad de quienes tenemos dos manos izquierdas (o derechas, si somos zurdos).

Cómo combinar software libre y grandes modelos de IA

En los artículos anteriores habíamos utilizado un enfoque más tradicional, que consiste en interactuar con un «chatbot», pedirle que genere un archivo de imagen y trabajar con él de manera local en nuestro programa. Sin embargo, hay formas de hacer que interactúen con menos intervención por nuestra parte. Esto puede hacerse mediante:

  1. Scripts en Python.
  2. Uso de agentes.
  3. Uso del protocolo MCP.

Script en Python

Se llama script a un archivo de texto plano que contiene una serie de instrucciones escritas usando el lenguaje de programación Python. Este archivo se guarda con la extensión nombre_de_archivo.py.

Se llama script y no programa porque no hay un paso de compilación previo, ya que el código se lee, se traduce y se ejecuta línea por línea en tiempo real. El script contiene las instrucciones que ejecuta el intérprete.

Para ejecutar un script en Python tenemos que tener el intérprete instalado en nuestro ordenador y, en Ubuntu, por razones de seguridad, también es necesario crear un entorno virtual.

Los pasos son los siguientes:

Actualizamos el sistema:

sudo apt update

Instalamos los programas necesarios para crear el entorno virtual:


sudo apt install python3 python3-pip python3-venv

Creamos el directorio en donde funcionará el entorno virtual:

mkdir -p ~/aplicaciones

Entramos en el directorio:

cd ~/aplicaciones

Creamos el entorno virtual:

python3 -m venv aplicaciones

Activamos el entorno:

source aplicaciones/bin/activate

Actualizamos el gestor de paquetes pip:

python3 -m pip install --upgrade pip

Una vez creado el script, lo ejecutamos con:


python3 nombre_del_script.py

Si el script requiere la instalación de módulos adicionales, lo hacemos con el comando:

pip install nombre_modulo

Probablemente, el único que necesites instalar sea el de OpenAI:


pip install openai

Este programa crea un script en Python que, usando la API de OpenAI, utiliza un modelo de ChatGPT para crear un círculo en formato SVG. Cuando está hecho, lo descarga y lo abre con Inkscape.

Un par de aclaraciones:

  • La API de OpenAI es de pago. El pago mínimo es de 5 dólares, aunque, dependiendo del uso, rinde bastante. Por ejemplo, la traducción de un libro de texto no cuesta más que 20 centavos.
  • Para realizar el pago y obtener la API Key necesaria que permita autenticar el acceso al script, debes ir a esta página.

Antes de ejecutar el script, debes configurar la API Key con el comando:


export OPENAI_API_KEY="tu_clave_api"

La explicación del programa es la siguiente:

Líneas 2 a 10

Importa las bibliotecas necesarias para ejecutar el programa. Es posible que necesites instalar algunas con el comando pip.

  • os: Le permite al script acceder a variables de entorno del sistema operativo.
  • re: Se usa para trabajar con expresiones regulares y modificar textos.
  • shutil: Se usa para buscar programas instalados en el sistema.
  • subprocess: La usaremos para ejecutar Inkscape.
  • sys: Se utiliza para controlar la ejecución del script y salir ante errores.
  • xml.etree.ElementTree: La usamos para interpretar y validar documentos XML. Recordemos que el formato .svg utiliza XML para construir las imágenes.
  • pathlib: La necesitamos para trabajar con rutas y archivos.
  • openai: La necesitamos para comunicarnos con la API de OpenAI y es útil para trabajar con otros modelos de inteligencia artificial.

Líneas 13 y 14

La línea 13 establece que, a menos que se indique lo contrario, se usará el modelo gpt-6-astra.

La línea 14 determina la carpeta en la que se guardará el archivo resultante.

Líneas 17 a 19

Comprueba si la API Key está cargada o muestra un mensaje en caso de que no lo esté.

Líneas 22 a 25

Aquí se produce la conexión con el modelo y la autenticación usando la API Key.

Línea 27

Inicia un bloque de control de errores.

Líneas 28 a 45

Aquí se le indica al servidor el modelo que tiene que utilizar, las instrucciones que debe seguir y cómo debe interpretarlas. Luego se recupera el código (las imágenes .svg se construyen usando código XML), asegurándose de eliminar los saltos de línea al principio y al final.

Líneas 46 y 47

Esto se usa como un reaseguro para evitar que el modelo devuelva código en otro formato que no sea XML.

Líneas 43 a 63

Busca que exista un archivo SVG, comprueba si está completo y elimina el texto innecesario. También valida el código XML.

Líneas 65 a 67

Guardan el archivo en la ruta que establecimos previamente y nos informan cuál es.

Líneas 76 a 78

Busca el acceso a Inkscape y, cuando lo encuentra, abre el archivo con este programa. Si no lo encuentra, da un mensaje de error y, si lo encuentra, avisa que abrió el programa.

Las líneas finales se usan para determinar el tipo de error y mostrarlo en pantalla.

Algunos aspectos a tener en cuenta:

  • Es posible cambiar el modelo por cualquiera de los otros disponibles, según la documentación de OpenAI. Los modelos disponibles y sus identificadores se pueden consultar aquí.
  • Es posible modificar tanto las instrucciones como el rol para crear diseños más complejos.
  • Lo de abrir un archivo externo sin revisarlo previamente podría ser potencialmente peligroso. Lo damos como un ejemplo de lo que puede hacerse.

Para desactivar el entorno virtual, cerramos la terminal o escribimos:

deactivate

De todas formas, en nuestro próximo artículo veremos cómo generar un SVG utilizando un modelo local. Para instalar modelos locales utilizaremos Ollama.

Ollama AI es una herramienta para utilizar modelos de inteligencia artificial instalados en nuestro ordenador desde la terminal o la interfaz gráfica, siempre que nuestro hardware sea lo suficientemente potente para hacerlo. De todas formas, como dijimos, dado que los archivos SVG están construidos usando código XML, no se necesitan modelos tan potentes como los que se necesitan para generar imágenes. Te recomiendo los artículos que publiqué sobre Ollama en este mismo blog.

Artículo original

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.