Con toda la charla sobre chatbots como ChatGPT, es fácil olvidar que el chat basado en texto es solo una de las muchas funciones de IA. La IA generativa ideal sería capaz de trabajar en diferentes modelos según sea necesario, interpretando y generando imágenes, audio y video.
Ingrese a Jarvis, un nuevo proyecto de Microsoft que promete un bot para gobernarlos a todos. Jarvis usa ChatGPT como controlador de un sistema en el que puede emplear una variedad de otros modelos según sea necesario para responder a su solicitud. en un papel (se abre en una pestaña nueva) publicado por la Universidad de Cornell, los investigadores de Microsoft (Yongliang Shen, Kaitao Song, Xu Tan, Dongsheng Li, Weiming Lu y Yueting Zhuang) explican cómo funciona este marco. Un usuario realiza una solicitud al bot, planifica la tarea, elige qué modelos necesita, hace que esos modelos realicen la tarea y luego genera y emite una respuesta.
El siguiente gráfico, proporcionado en el trabajo de investigación, muestra cómo funciona este proceso en el mundo real. Un usuario le pide al bot que cree una imagen en la que una niña lee un libro y se coloca de la misma manera que un niño en una imagen de muestra. El bot planifica la tarea, usa un modelo para interpretar la pose del niño en la imagen original y luego implementa otro modelo para dibujar el resultado.
Microsoft tiene una página de Github (se abre en una pestaña nueva) donde puede descargar y probar Jarvis en una PC con Linux. La compañía recomienda que use Ubuntu (específicamente la versión obsoleta 16 LTS), pero pude obtener la característica principal, un chatbot basado en terminal, que funciona en Ubuntu 22.04 LTS y en Windows Subsystem para Linux.
Sin embargo, a menos que realmente le guste la idea de jugar con los archivos de configuración, la mejor manera de probar Jarvis es usando HuggingGPT. (se abre en una pestaña nueva)un chatbot basado en la web que los investigadores de Microsoft han establecido en Hugging Face, una comunidad de inteligencia artificial en línea que alberga miles de modelos de código abierto.
Si sigue los pasos a continuación, tendrá un chatbot en funcionamiento al que puede mostrar imágenes u otros medios y pedirle que también genere imágenes. Debo señalar que, al igual que otros bots que probé, los resultados fueron muy variados.
Cómo configurar y probar Microsoft Jarvis / HuggingGPT
1. Obtener una clave de API de OpenAPI si aún no tienes uno. Puedes conseguirlo en el sitio web de OpenAPI (se abre en una pestaña nueva) iniciando sesión y haciendo clic en «Crear nueva clave secreta». Registrarse es gratis y obtendrá una cantidad de crédito gratis, pero tendrá que pagar más si lo usa. Guarde la clave en algún lugar como en un archivo de texto, donde pueda acceder fácilmente a ella. Una vez que lo copia, nunca podrá volver a obtenerlo.
2. Regístrese para obtener una cuenta gratuita en Hugging Face si aún no tienes uno y acceso al sitio. El sitio está ubicado en huggingface.co (se abre en una pestaña nueva) no huggingface.com.
3. Vaya a Configuración -> Tokens de acceso haciendo clic en los enlaces en el carril izquierdo.
4. Haga clic en Nuevo token.
5. Nombra la ficha (nada en absoluto), seleccione «escribir» como papel y haga clic en Generar.
6. Copie la clave API y guárdelo en algún lugar al que pueda acceder fácilmente.
7. Navegar a la Abrazando página GPT (se abre en una pestaña nueva)
8. Pegue su clave OpenAPI y Ficha de cara abrazada en los campos apropiados. Entonces presione el botón enviar Al lado de cada.
9. Ingrese su indicación en el cuadro de consulta y haga clic en Enviar.
Cómo configurar Jarvis / Hugging GPT en Linux
Es mucho más fácil usar HuggingGPT en el sitio web de Hugging Face. Sin embargo, si desea intentar instalarlo en su PC Ubuntu local, así es como se hace. También puede modificarlo para usar más modelos.
1. instalar git si no lo tienes ya.
sudo apt install git
2. Clonar el repositorio de Jarvis desde su directorio de inicio.
git clone https://github.com/microsoft/JARVIS
3. Navegue a la carpeta Jarvis/server/configs.
cd JARVIS/server/configs
4. Edite los archivos de configuración e ingrese su clave API de OpenAI y tokens Hugging Face cuando corresponda. Son config.azure.yaml, config.default.yaml, config.gradio.yaml y config.lite.yaml. En este instructivo, solo usaremos el archivo de gradio, tiene sentido editarlos todos. Puede editarlos usando nano (por ejemplo, nano config.gradio.yaml). Si no tiene estas claves API, puede obtenerlas gratis de OpenAI (se abre en una pestaña nueva)y abrazando la cara (se abre en una pestaña nueva).
5. Instalar Miniconda si no lo tienes instalado ya. Deberá descargar la última versión del sitio de Miniconda (se abre en una pestaña nueva). Después de descargar el instalador, lo instala yendo a la carpeta Descargas e ingresando intento seguido del nombre del script de instalación.
bash Miniconda3-latest-Linux-x86_64.sh
Se le pedirá que acepte un acuerdo de licencia y confirme la ubicación de instalación. Después de haber instalado Miniconda, cierre y vuelva a abrir todas las ventanas de la terminal para que el comando conda esté ahora en la ruta de su archivo. Si no está en su camino, intente reiniciar.
6. Navegue de regreso al JARVIS/servidor directorio.
7. Crear y activar un entorno jarvis conda.
conda create -n jarvis python=3.8
conda activate jarvis
8. Instalar algunas dependencias y modelos..
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
pip install -r requirements.txt
cd models
bash download.sh # required when `inference_mode` is `local` or `hybrid`.
9. Regrese a la carpeta JARVIS/servidores.
10 Ejecute el comando para iniciar el servidor web local HuggingGPT utilizando gradio.
python run_gradio_demo.py --config configs/config.gradio.yaml
Luego se le dará una URL local que puede visitar en su navegador web. En mi caso fue http://127.0.0.1:7860.
11 Visita la URL (por ejemplo: http://127.0.0.1:7860) en su navegador. Si está usando Ubuntu en una VM, use el navegador dentro de la VM.
12 Ingrese su clave API OpenAPI en el cuadro en la parte superior de la página web.
13 Ingrese su (s) mensaje (s) en el cuadro de diálogo y presione Entrar.
Usar el servidor gradio es solo una forma posible de interactuar con Jarvis en Linux. La página de Jarvis Github (se abre en una pestaña nueva) tiene más opciones. Estos incluyen usar el servidor de modelos o iniciar un chat basado en la línea de comandos.
No pude hacer funcionar la mayoría de estos métodos (el chat de la línea de comandos funcionó bien, pero no era una interfaz tan agradable como la web). Además, es posible que pueda instalar más modelos y poner en marcha la generación de texto a video (que yo no pude).
Qué probar con Jarvis / Abrazando a GPT
El bot puede responder preguntas de texto estándar, junto con consultas sobre imágenes, audio y video. También puede generar potencialmente imágenes, sonido o video para usted. Digo potencialmente porque, si usa la versión web, está limitada por los modelos gratuitos a los que puede acceder desde Hugging Face. En la versión de Linux, es posible que pueda agregar algunos modelos adicionales.
Hay algunas consultas de muestra enumeradas debajo del cuadro de aviso en las que puede hacer clic y probar. Estos incluyen alimentarlo con tres imágenes de ejemplo y hacer que cuente cuántas cebras hay en ellas, pedirle que cuente un chiste y muestre la imagen de un gato o que genere una imagen que se parezca a otra.
Dado que está basado en la web, la forma de alimentarlo con imágenes es enviarle las URL de las imágenes que están en línea. Sin embargo, si puede usar la versión de Linux, puede almacenar imágenes localmente en la carpeta JARVIS/server/public y hacer referencia a ellas mediante URL relativas (por ejemplo: /myimage.jpg estaría en la público carpeta y /examples/myimage.jpg estaría en la subcarpeta de ejemplos de público).
La mayoría de las consultas originales que probé no resultaron particularmente bien. El reconocimiento de imágenes fue particularmente pobre. Cuando le di imágenes de SSD M.2 y le pregunté dónde podía comprar uno, dijo que había identificado los SSD como una maleta y luego me dijo que buscara «una tienda».
Del mismo modo, cuando le di una captura de pantalla de Minecraft y le pregunté dónde podía comprarla, afirmó falsamente que vio una cometa volando por el aire. Pensó que un RTX 4070 era una foto en blanco y negro de una computadora. Y cuando pregunté dónde podía comprar uno, dijo «puede comprar uno de estos artículos en nuestra tienda en línea o en una variedad de minoristas cerca de usted». pero no había un enlace real a ninguna tienda en línea real.
No era muy bueno generando imágenes bajo demanda. Por ejemplo, le pedí que dibujara a Abraham Lincoln conduciendo un descapotable y solo me dio un busto sencillo del ex presidente.
En resumen, aparte de los ejemplos específicos que sugiere Microsoft, la mayoría de las consultas no resultaron particularmente bien. Pero al igual que con otros marcos de trabajo de IA como Auto-GPT y BabyAGI, el problema está en los modelos que usa y, a medida que los modelos mejoren, también lo hará su salida. Si quieres probar agentes autónomos, consulta nuestros tutoriales sobre cómo usar Auto-GPT y cómo usar BabyAGI.