Skip to main content

An AI assistant powered by Llama models

Project description

Llama Assistant

🌟 Llama Assistant 🌟

Your Local AI Assistant with Llama Models

Website: llama-assistant.nrl.ai

Python Llama 3 License Version Stars Forks Issues

AI-powered assistant to help you with your daily tasks, powered by Llama 3.2. It can recognize your voice, process natural language, and perform various actions based on your commands: summarizing text, rephrasing sentences, answering questions, writing emails, and more.

This assistant can run offline on your local machine, and it respects your privacy by not sending any data to external servers.

Screenshot

Settings

Supported Models

TODO

  • 🖼️ Support multimodal model: moondream2.
  • 🗣️ Add wake word detection: "Hey Llama!".
  • 🛠️ Custom models: Add support for custom models.
  • 📚 Support 5 other text models.
  • 🖼️ Support 5 other multimodal models.
  • ⚡ Streaming support for response.
  • 🎙️ Add offline STT support: WhisperCPP (WIP - Experimental Code).
  • 🧠 Knowledge database: Langchain or LlamaIndex?.
  • 🔌 Plugin system for extensibility.
  • 📰 News and weather updates.
  • 📧 Email integration with Gmail and Outlook.
  • 📝 Note-taking and task management.
  • 🎵 Music player and podcast integration.
  • 🤖 Workflow with multiple agents.
  • 🌐 Multi-language support: English, Spanish, French, German, etc.
  • 📦 Package for Windows, Linux, and macOS.
  • 🔄 Automated tests and CI/CD pipeline.

Features

  • 🎙️ Voice recognition for hands-free interaction
  • 💬 Natural language processing with Llama 3.2
  • 🖼️ Image analysis capabilities (TODO)
  • ⚡ Global hotkey for quick access (Cmd+Shift+Space on macOS)
  • 🎨 Customizable UI with adjustable transparency

Note: This project is a work in progress, and new features are being added regularly.

Technologies Used

  • Python
  • Llama
  • SpeechRecognition
  • PyQt

Installation

Install from PyPI:

pip install llama-assistant
pip install pyaudio

Or install from source:

  1. Clone the repository:

    git clone https://github.com/vietanhdev/llama-assistant.git
    cd llama-assistant
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    pip install pyaudio
    

Speed Hack for Apple Silicon (M1, M2, M3) users: 🔥🔥🔥

  • Install Xcode:
# check the path of your xcode install
xcode-select -p

# xcode installed returns
# /Applications/Xcode-beta.app/Contents/Developer

# if xcode is missing then install it... it takes ages;
xcode-select --install
  • Build llama-cpp-python with METAL support:
pip uninstall llama-cpp-python -y
CMAKE_ARGS="-DGGML_METAL=on" pip install -U llama-cpp-python --no-cache-dir

# You should now have llama-cpp-python v0.1.62 or higher installed
# llama-cpp-python         0.1.68

Usage

Run the assistant using the following command:

llama-assistant

# Or with a
python -m llama_assistant.main

Use the global hotkey (default: Cmd+Shift+Space) to quickly access the assistant from anywhere on your system.

Configuration

The assistant's settings can be customized by editing the settings.json file located in your home directory: ~/llama_assistant/settings.json.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • The default model is Llama 3.2 by Meta AI Research.
  • This project uses LlamaCPP by Georgi Gerganov and contributors.

Star History

Star History Chart

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_assistant-0.1.25.tar.gz (7.7 MB view details)

Uploaded Source

Built Distribution

llama_assistant-0.1.25-py3-none-any.whl (382.5 kB view details)

Uploaded Python 3

File details

Details for the file llama_assistant-0.1.25.tar.gz.

File metadata

  • Download URL: llama_assistant-0.1.25.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for llama_assistant-0.1.25.tar.gz
Algorithm Hash digest
SHA256 aafc6bd4b193bf902136f3d94a41f10e26ea670fb46d166d7e86799d141c2228
MD5 4c7ead76c94b9f922217787499da0a07
BLAKE2b-256 6ce79fd32b48ba76e7726d7210ed7ee3e22a924433ec53371d7b5fed69c59afb

See more details on using hashes here.

File details

Details for the file llama_assistant-0.1.25-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_assistant-0.1.25-py3-none-any.whl
Algorithm Hash digest
SHA256 d02f0252d80f91cc0b8d9fde981bbc29fa1bc9abece45f5fd6c6fff95b5f5409
MD5 d6a40229b4c73af37c626452e875e9b1
BLAKE2b-256 010bdb53c94722f3da5c659ba191caeb25e24c0b282604a41b09e4a533377867

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page