Skip to content

Asistente inteligente para la terminal que utiliza modelos de Hugging Face para mantener conversaciones naturales y brindar respuestas útiles basadas en un rol asignado.

Notifications You must be signed in to change notification settings

VictorDiazJauregui/terminal-assistant

Repository files navigation

Asistente en terminal con Hugging Face 🤖

Descripción

Este proyecto es un asistente inteligente que funcionana directamente en la terminal, utilizando los modelos de Hugging Face. Está diseñado para mantener conversaciones naturales "con memoria" volatil, es decir, que no guarda información de conversaciones anteriores, y proporcionar respuestas útiles basadas en el rol que se le asigne.

Características principales

  • 🎯 Interfaz de terminal intuitiva.
  • 🔄 Historial de conversación.
  • 🌙 Indicador visual de "pensamiento" con animación lunar.
  • 🎨 Interfaz colorida y amigable usando chalk.
  • 🔐 Configuración segura mediante variables de entorno.

Configuración inicial

  1. Clona el repositorio:
    git clone git@github.com:aledjv22/terminal-assistant.git # SSH
    # git clone https://github.com/aledjv22/terminal-assistant.git # HTTPS
  2. Instala las dependencias:
    npm install
  3. Configurar las variables de entorno:
    1. Crear un archivo .env basado en .env.example.
    2. Configura las siguientes variables:
      HUGGING_FACE_TOKEN=tu_token_aquí (requerido)
      MODEL=modelo_a_usar (default: mistralai/Mixtral-8x7B-Instruct-v0.1)
      MAX_TOKENS=tokens_máximos (default: 1000)
      TEMPERATURE=temperatura (default: 0.1)
      SEED=semilla (default: 42)
      ROLE_SYSTEM_CONTENT=rol_del_asistente (default: '')

Uso

  1. Inicia el asistente:
    npm start
  2. Interactúa con el asistente:
    • Escribe tus preguntas o comentarios, las cuales aparecerán en azul.
    • El asistente mostrará un indicador lunar mientras "piensa".
    • Las respuestas aparecerán en verde.
  3. Para salir puedes utilizar cualquieras de las siguientes palabras:
    • exit
    • salir
    • chau
    • bye
    • adios
    • quit
    • q
    • s
    • goodbye

Configuración de Alias (Linux) 🔧

Para configurar un alias y poder ejecutar el asistente desde cualquier ubicación, sigue estos pasos:

  1. Navega hasta el directorio del proyecto:
    cd ruta/del/proyecto/terminal-assistant
  2. Obtén la ruta absoluta del directorio:
    pwd
    # Ejemplo de salida: /home/usuario/proyectos/terminal-assistant
  3. Copia la ruta obtenida y elige según tu shell:
    • Para Bash
      # Añade el alias al archivo .bashrc
      echo 'alias assistant="cd RUTA_OBTENIDA && npm start"' >> ~/.bashrc
      # Recarga el archivo .bashrc
      source ~/.bashrc
    • Para Zsh
      # Añade el alias al archivo .zshrc
      echo 'alias assistant="cd RUTA_OBTENIDA && npm start"' >> ~/.zshrc
      # Recarga el archivo .zshrc
      source ~/.zshrc
  4. Prueba el alias:
    assistant

Contribuciones

¡Todas las contribuciones son bienvenidas! 😊 Si encuentras algún error o tienes alguna idea para mejorar el proyecto, puedes:

  • Abrir una issue 🐞:
    • Ve a la sección de issues del repositorio.
    • Crea una nueva issue describiendo detalladamente el error o la sugerencia.
  • Realizar un pull request 🚀:
    • Haz un fork del repositorio.
    • Crea una nueva rama a partir de main.
    • Realiza tus cambios y asegúrate de que todo funcione correctamente.
    • Crea un pull request describiendo tus cambios.
    • Espera a que tu pull request sea revisado y aceptado.

¡Gracias por ayudar a mejorar este proyecto! 🎉

About

Asistente inteligente para la terminal que utiliza modelos de Hugging Face para mantener conversaciones naturales y brindar respuestas útiles basadas en un rol asignado.

Topics

Resources

Stars

Watchers

Forks