Portada » Tecnología » Usar una IA en Mac con LocalAI

Usar una IA en Mac con LocalAI

Instalar una IA en Mac

Vamos a ver cómo se puede instalar una IA local en un Mac, tener instalada un motor de IA en local nos va a servir para generar textos con los que desarrollar contenidos sin tener que recurrir a sistemas externos expuestos a Internet.

Si bien esta IA local que vamos a comentar puede que tenga únicamente sentido para aquellos usuarios avanzados que sean desarrolladores ya que la forma en la que interactuaremos con ellas será mediante un servidor web que ejecutaremos en un container y las respuestas que obtendremos de la IA vendrán en formato Json, por lo que los usuarios de a pie no sabrán sacarle todo el provecho, mientras que los usuarios avanzados y desarrolladores sí.

Local First

Quizá debería comenzar sobre el por qué instalar una IA en local, no crees, ya que IAs como la de ChatGPT, Bing, Windows Copilot, Bard y otras son muy accesibles y cómodas de usar, sin complicarse nada en absoluto, pero claro, todo tiene su pega, la privacidad.

La exposición a Internet que conlleva sistemas como GPT de OpenAI, Windows Copilot, Google Bard y otros es algo relativamente nuevo, pero a buen seguro estas grandes empresas lo utilizarán, si no lo están haciendo ya, para ofrecernos una publicidad más certera e incitar al usuario consumo de ciertos contenidos y servicios que bien no podríamos necesitar o al menos de primera mano.

Es la ética vista con la privacidad relativa a las búsquedas de Internet lo que asusta a muchos profesionales y observadores recelosos de sus datos, de sus intereses.

Conversar con una IA a través de Internet créeme que tarde o temprano nos traerá consecuencias, y no todas serán buenas.

Así que sin echar pestes sobre la Inteligencia Artificial y viéndola como una herramienta más en el proceso evolutivo del ser humano, la mejor opción es recurrir a su consumo de forma local.

Sí, cada día que pasa me convenzo más sobre la verdad del slogan «Local First», donde los usuarios seguidores de esta nueva corriente tecnológica priorizan el uso de recursos locales sobre recursos en la red y es que sólo de esa forma se protege en parte tu privacidad.

Así que tal y como hemos realizado en otras ocasiones vamos a tratar de cómo podemos instalar una IA local en nuestros Mac para que nos ayude en la creación de contenidos para cualquier fin.

Instalación de una IA en Mac

Para poder disfrutar de una IA de forma local precisamos de varios pasos y programas para poder instalar una IA en el Mac así que vamos a tratarlos todos uno a uno.

Editor de código

Si bien podemos utilizar el propio editor nano que incorpora el terminal del Mac, este es un editor muy parco que haríamos bien en aprender tenemos otras opciones fuera de la línea de comandos, como Visual Code, o también el más liviano SublimeText, el cual es «semigratuito», funcionará sin pedirnos nada durante un periodo de tiempo que ahora no recuerdo y luego nos recordará si queremos colaborar con la opción de pago. Ahí cada uno decide.

Puedes instalar el editor SublimeText desde la dirección: https://direccion.online/a0cbw

Instalar Docker

Docker es una aplicación muy curiosa y recurrida por los desarrolladores. Docker crea un pequeño sistema virtualizado a medida con unos recursos concretos, este «sistema virtualizado» se llama container y Docker puede gestionar muchos containers en nuestro sistema, en nuestro caso el «container» que vamos a usar es un contenedor que permite aceptar peticiones de navegador creando un servidor web en un puerto del Mac.

Instalamos Docker Desktop descargando el instalador desde la web oficial: https://direccion.online/a0bjw

Una vez instalado y antes de continuar deberemos asegurarnos de que esté arrancado y tengamos iniciada la sesión con nuestra cuenta de Docker.

Instalar Git

Instalamos Brew lo que posteriormente nos va a permitir instalar Git

Para ello desde la aplicación Terminal lanzamos:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Ahora es momento de instalar Git con el siguiente comando:

brew install git

Si lo deseamos podemos instalar la interfaz gráfica de Git con:

brew install git-gui

Deberíamos añadir Git al «path» del sistema con:

eval "$(/opt/homebrew/bin/brew shellenv)"

Crear directorio de trabajo

Creamos el directorio local y entramos en el:

mkdir /Users/TUNOMBREDEUSUARIO/DEV/ia/
cd /Users/TUNOMBREDEUSUARIO/DEV/ia/

Clonamos el repositorio LocalAI

Ahora ya podremos utilizar Git para clonar el repositorio de LocalAI en nuestro Mac con el siguiente comando de terminal

git clone https://github.com/go-skynet/LocalAI

Esto nos creará la carpeta LocalAI dentro del directorio «/Users/TUNOMBREDEUSUARIO/DEV/ia/»

image
Clonando el repositorio en local mediante el uso de Git

Accedemos al directorio con:

cd LocalAI

Creamos el container

Si no lo teníamos arrancado ahora es el momento de arrancar Docker Desktop en el Mac y volvemos a la Terminal, desde donde estando dentro del directorio LocalAI lanzaremos el comando:

docker compose up -d --pull always

Podríamos recibir un error:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Esto es debido a que no hemos arrancado o esperado a que arrancase Docker del todo, así que en ese caso tocaría arrancarlo y/o esperar a que esté corriendo.

image 19
Creando el container

El proceso de pulling llevará un rato, claro que todo dependerá de la potencia de la máquina, en mi caso más de 20 minutos, pues son unos cuantos gigabytes lo que debe descargar y «pulir», no menos de 15 Gb.

Listar los modelos de IA disponibles

Ahora vamos a probar que lo hemos realizado todo hasta aquí correctamente, para ello vamos a listar los modelosd e IA disponibles.

Se trata lanzar en la misma ventana de terminal que estábamos trabajando el siguiente comando:

curl http://localhost:8080/models/available

Esto nos tirará por pantalla sin control alguno todos los modelos disponibles, veremos algo tal cual así:

image 26
Modelos disponibles

Instalar un modelo

Vamos a proceder a seleccionar un modelo y descargarlo, entraremos a la carpeta «models».

cd models 

Ahora, siguiendo en la terminal copia pega esto en tu terminal, recuerda pulsar enter.

curl --location 'http://localhost:8080/models/apply' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "TheBloke/dolphin-2.2.1-mistral-7B-GGUF/dolphin-2.2.1-mistral-7b.Q4_0.gguf"
}'

Se nos crearán diferentes ficheros dentro de models, nosotros vamos a utilizar los nuestros, para crearlos utiliza el siguiente comando.

touch lunademo-chat.tmpl
touch lunademo-chat-block.tmpl
touch lunademo-completion.tmpl
touch lunademo.yaml

Con el comando touch abremos creado los ficheros vacíos, tocará editarlos, aquí es donde podemos utilizar nano desde dentro de la propia terminal o SublimeText o cualquier editor buscando la carpeta desde el Finder.

Editamos el primero de los ficheros lunademo-chat.tmpl dejando su contenido con el siguiente código:

<|im_start|>{{if eq .RoleName "assistant"}}assistant{{else if eq .RoleName "system"}}system{{else if eq .RoleName "user"}}user{{end}}
{{if .Content}}{{.Content}}{{end}}
<|im_end|>

Para lunademo-chat-block.tmpl

{{.Input}}
<|im_start|>assistant

Para lunademo-completion.tmpl:

{{.Input}}

Para lunademo.yaml:

backend: llama
context_size: 2000
name: lunademo
parameters:
model: dolphin-2.2.1-mistral-7b.Q4_0.gguf
template:
chat: lunademo-chat-block
chat_message: lunademo-chat
completion: lunademo-completion

Ahora vamos a reiniciar el contenedor de Docker

docker compose restart

Para probar la IA local que hemos instalado en el Mac podemos desde el propio terminal lanzarle un:

curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "lunademo",
"messages": [{"role": "user", "content": "How are you?"}],
"temperature": 0.9
}'
Scroll al inicio