476 - ChatGPT en la terminal de Linux
Diferentes herramientas para exprimir #ChatGPT en la terminal de #Linux . #oye es de desarrollo propio, implementada en Rust, y que ya puedes utilizar.
A estas alturas del siglo, y con la repercusión que está teniendo ChatGPT en todos los medios, es completamente innegable que las IAs, han venido para quedarse. Con lo que tenemos dos opciones, o bien adoptarlas ya, o bien adoptarlas mas tarde. Así, que, desde mi punto de vista, cuanto antes lo adoptemos y empecemos a sacarle partido mejor que mejor. En este sentido, y como ya te habrás imaginado, uno de los primeros sitios donde quería meterla era, precisamente, en la terminal. Y por supuesto, tenía que ser de producción propia, y además implementado en Rust. Así que eso he hecho, he implementado un cliente para ChatGPT para la terminal de Linux.
ChatGPT en la terminal de Linux
Ventajas de utilizar chatGPT desde la terminal de Linux
El uso de una inteligencia natural desde el terminal de Linux es más liviano porque no requiere de una interfaz gráfica compleja para funcionar. En lugar de eso, se utiliza la línea de comandos, lo cual reduce la cantidad de recursos necesarios para su ejecución. De esta forma, se pueden utilizar los recursos del equipo de manera más eficiente, lo cual puede ser especialmente útil en sistemas con pocos recursos o en servidores.
Otra ventaja de utilizar una inteligencia natural desde el terminal de Linux es que se puede acceder a ella de forma instantánea. No es necesario abrir una aplicación específica ni esperar a que se cargue una interfaz gráfica compleja. Con solo abrir una terminal, se puede acceder al sistema de inteligencia natural y comenzar a utilizarlo inmediatamente.
La velocidad es otra ventaja importante de utilizar una inteligencia natural desde el terminal de Linux. Al utilizar la línea de comandos en lugar de una interfaz gráfica, se reduce la cantidad de procesamiento requerido para realizar una tarea. Esto puede acelerar significativamente el tiempo de respuesta y mejorar la eficiencia en el manejo de grandes cantidades de datos.
Al utilizar una inteligencia natural desde el terminal de Linux, no es necesario iniciar sesión cada vez que se quiera utilizar. Una vez que se ha iniciado sesión en el sistema, se puede acceder a la inteligencia natural desde la terminal sin necesidad de volver a ingresar las credenciales de inicio de sesión. Esto ahorra tiempo y esfuerzo en el acceso al sistema.
Otra ventaja importante de utilizar una inteligencia natural desde el terminal de Linux es que no está limitado el número de palabras que se pueden procesar. A diferencia de algunos sistemas que tienen un límite en la cantidad de datos que se pueden ingresar en una sola operación, el uso de la línea de comandos permite procesar grandes cantidades de datos sin restricciones. Esto puede ser especialmente útil en la manipulación de grandes conjuntos de datos o en el procesamiento de archivos complejos.
Como inconveniente, el uso de ChatGPT está en que tenemos un límite de 18 euros al mes, pero, lo único que nos indica es que hay que aprovecharlos al máximo.
Herramientas para la terminal
Existen diferentes clientes para utilizar ChatGPT desde la terminal de Linux, como los que te menciono a continuación,
Este último oye
es mi propio desarrollo, implementado en Rust, y que está en versiones incipientes del mismo. Hace falta darle un par de vueltas para exprimirlo al máximo, pero, estoy convencido, que con tu ayuda y consejos, podemos llevarlo a un siguiente nivel.
Como instalar oye
en Linux
Necesitas instalar Cargo
, lo cual es tan sencillo como ejecutar el siguiente comando,
curl https://sh.rustup.rs -sSf | sh -s -- -y
Una vez instalado Cargo
, el siguiente paso es instalar oye
. Esto es realmente sencillo. Tan solo tienes que ejecutar el siguiente comando,
cargo install oye
Recuerda que necesitas tener la ruta de los binarios de cargo
en el PATH
. Dependiendo de la shell que estás utilizando tendrás que modificar ~/.bashrc
o ~/.zshrc
, y añadir esta ruta. Por ejemplo, en mi caso, lo tengo de la siguiente forma,
export PATH=/usr/local/bin:/bin:/opt/bin:~/go/bin/:~/.cargo/bin:$PATH
Cómo obtener una clave API de ChatGPT
Una vez realizado esto si ejecutas oye
, verás que te da un feo error, algo similar a lo que te muestro a continuación,
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/ia.rs:113:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Esto es porque no has puesto la API de ChatGPT. Cuando la tengas tienes que modificar el archivo ~/.config/oye/config.yml
, y añadir la clave API, en token
.
log_level: debug
base_url: https://api.openai.com
endpoint: v1/chat/completions
models_endpoint: v1/models
token:
model: gpt-3.5-turbo
temperature: '1'
content: Eres un asistente útil. Generarás comandos '$SHELL' en función de la entrada del usuario. Tu respuesta debe contener SOLO el comando y NO una explicación. NUNCA uses saltos de línea para separar comandos, en su lugar usa ; o &&. El directorio de trabajo actual es '.'.
Como ves, también es posible modificar determinados parámetros para exprimir al máximo esta herramienta, que actualmente esté en su estado incipiente. Por ejemplo, puedes modificar el modelo que estás utilizando, así como la temperatura. La temperatura expresa la aleatoriedad de sus respuestas. Es decir, a mayor temperatura, las respuestas serán menos predecibles.
Hola Atareao, gran aportación gracias, cuando tenga un rato lo pruebo.
Una sugerencia, ¿Sería posible implementarlo como Bot de Telegram?, ya ha visto y probados varios y la verdad que no van nada mal y son rápidos y fáciles de acceder a ellos desde el móvil.
Saludos
Si, es muy sencillo hacer un bot de Telegram
Si os da este fallo al compilar:
error: failed to run custom build command for `openssl-sys v0.9.83`
Se soluciona instalado la librería:
$ sudo apt install libssl-dev
Muchas gracias
Si le metes un modelo Whisper para poder hablar directamente sin tener que escribirlo sería un boost tremendo. Sobre todo para los locos que hablamos solos 🙈
Yo doy +1
Muy interesante… voy a ver como se puede hacer y que opciones tiene…
Gracias por la sugerencia.
¿El token debe ir entre comillas simples o sin ellas?
Gracias, aún no puedo probarla, pero seguro y funciona genial, solo que aún me da el error del API de ChatGPT y no sé que estoy haciendo mal. Un saludo
No necesita comillas
Oye es rustico, sigo sin fiarme de IA en mi rusta de aprendizaje no va a esta en mi rustina, aunque tenga un resultado rustilante, aunque me temo que vamos a tener noticias de manera rustinaria sobre los avances de la IAs de turno cada dos por tres.
Gracias por la info.
He seguido los pasos y al ejecutar «oye», me sale lo siguiente. Imagino que tengo algo mal…
$ oye
2023-04-02T09:03:07.091155Z INFO oye: Question:
⡏ 🤔 2023-04-02T09:03:10.855568Z INFO oye: Command: Lo siento, no puedo generar un comando si no tengo información sobre lo que el usuario desea hacer. Por favor proporcione más detalles sobre lo que está buscando.
2023-04-02T09:03:10.855593Z INFO oye: Command: Lo siento, no puedo generar un comando si no tengo información sobre lo que el usuario desea hacer. Por favor proporcione más detalles sobre lo que está buscando.
? ¿Ejecuto Lo siento, no puedo generar un comando si no tengo información sobre lo que el usuario desea hacer. Por favor proporcione más detalles sobre lo que está buscando.?
> Si
No
[↑↓ to move, enter to select, type to filter]
tienes que decirle algo que quieras hacer…. Por ejemplo,
$ oye lista todos los archivos con extensión txt
Hola atareao, y al resto.
Lo primero, gracias por compartir tanta información, manuales, trucos, guías y demás. Nunca está de más recordarlo y agradecértelo.
He instalado ‘oye’ como indicas y no he tenido problemas. También he creado y copiado la clave API sin problemas. Ahora bien, cuando ejecuto oye obtengo el siguiente error: «Error: You exceeded your current quota, please check your plan and billing details.».
Es extraño porque lo tengo asociado con una cuenta con la que apenas he usado chatgpt. Sabes a qué se puede deber?
Gracias y un salud..o