{"id":17998755,"url":"https://github.com/nrl-ai/llama-assistant","last_synced_at":"2025-05-15T03:04:51.166Z","repository":{"id":257802781,"uuid":"863668134","full_name":"nrl-ai/llama-assistant","owner":"nrl-ai","description":"AI-powered assistant to help you with your daily tasks, powered by Llama 3, DeepSeek R1, and many more models on HuggingFace.","archived":false,"fork":false,"pushed_at":"2025-03-02T15:59:14.000Z","size":19287,"stargazers_count":504,"open_issues_count":9,"forks_count":42,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-15T03:04:16.254Z","etag":null,"topics":["deepseek-r1","llama","llama-3-2","llama3","llava","moondream","owen","personal-assistant","private-gpt"],"latest_commit_sha":null,"homepage":"https://llama-assistant.nrl.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nrl-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-26T17:37:24.000Z","updated_at":"2025-05-12T12:32:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc8000d3-cf48-436d-b6e9-56f0de3f8d60","html_url":"https://github.com/nrl-ai/llama-assistant","commit_stats":{"total_commits":60,"total_committers":2,"mean_commits":30.0,"dds":0.01666666666666672,"last_synced_commit":"4b620fd8d16b56bf78dc66ea72a12cf76d123d02"},"previous_names":["vietanhdev/llama-assistant","nrl-ai/llama-assistant"],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrl-ai%2Fllama-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrl-ai%2Fllama-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrl-ai%2Fllama-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrl-ai%2Fllama-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nrl-ai","download_url":"https://codeload.github.com/nrl-ai/llama-assistant/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264765,"owners_count":22041793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deepseek-r1","llama","llama-3-2","llama3","llava","moondream","owen","personal-assistant","private-gpt"],"created_at":"2024-10-29T22:05:10.057Z","updated_at":"2025-05-15T03:04:51.146Z","avatar_url":"https://github.com/nrl-ai.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Llama Assistant\" style=\"width: 128px; max-width: 100%; height: auto;\" src=\"https://raw.githubusercontent.com/nrl-ai/llama-assistant/refs/heads/main/logo.png\"/\u003e\n  \u003ch1 align=\"center\"\u003eLlama Assistant\u003c/h1\u003e\n  \u003cp align=\"center\"\u003eLocal AI Assistant That Respects Your Privacy! 🔒\u003c/p\u003e\n\u003cp align=\"center\"\u003e\u003cb\u003eWebsite:\u003c/b\u003e \u003ca href=\"https://llama-assistant.nrl.ai/\" target=\"_blank\"\u003ellama-assistant.nrl.ai\u003c/a\u003e\u003c/p\u003e\n\u003c/p\u003e\n\n[![Llama Assistant](https://user-images.githubusercontent.com/18329471/234640541-a6a65fbc-d7a5-4ec3-9b65-55305b01a7aa.png)](https://www.youtube.com/watch?v=kyRf8maKuDc)\n\n![Python](https://img.shields.io/badge/python-3.9%2B-blue.svg)\n![Llama 3](https://img.shields.io/badge/Llama-3-green.svg)\n![DeepSeek](https://img.shields.io/badge/DeepSeek-R1-blue.svg)\n![License](https://img.shields.io/badge/license-MIT-orange.svg)\n![Version](https://img.shields.io/badge/version-0.1.0-red.svg)\n![Stars](https://img.shields.io/github/stars/nrl-ai/llama-assistant.svg)\n![Forks](https://img.shields.io/github/forks/nrl-ai/llama-assistant.svg)\n![Issues](https://img.shields.io/github/issues/nrl-ai/llama-assistant.svg)\n[![Downloads](https://static.pepy.tech/badge/llama-assistant)](https://pepy.tech/project/llama-assistant)\n[![Downloads](https://static.pepy.tech/badge/llama-assistant/month)](https://pepy.tech/project/llama-assistant)\n\n\u003ca href=\"https://www.producthunt.com/products/llama-assistant/reviews?utm_source=badge-product_review\u0026utm_medium=badge\u0026utm_souce=badge-llama\u0026#0045;assistant\" target=\"_blank\"\u003e\u003cimg src=\"https://api.producthunt.com/widgets/embed-image/v1/product_review.svg?product_id=610711\u0026theme=light\" alt=\"Llama\u0026#0032;Assistant - Local\u0026#0032;AI\u0026#0032;Assistant\u0026#0032;That\u0026#0032;Respects\u0026#0032;Your\u0026#0032;Privacy\u0026#0033;\u0026#0032;🔒 | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\n\nAI-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.\n\nThis assistant can run offline on your local machine, and it respects your privacy by not sending any data to external servers.\n\n[![Screenshot](https://raw.githubusercontent.com/nrl-ai/llama-assistant/refs/heads/main/screenshot.png)](https://www.youtube.com/watch?v=kyRf8maKuDc)\n\nhttps://github.com/user-attachments/assets/af2c544b-6d46-4c44-87d8-9a051ba213db\n\n![Settings](https://raw.githubusercontent.com/nrl-ai/llama-assistant/refs/heads/main/docs/custom-models.png)\n\n## Supported Models\n\n- 📝 Text-only models:\n  - [Llama 3.2](https://github.com/facebookresearch/llama) - 1B, 3B (4/8-bit quantized).\n  - [Qwen2.5-0.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct-GGUF) (4-bit quantized).\n  - [Qwen2.5-1.5B-Instruct](https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF) (4-bit quantized).\n  - [gemma-2-2b-it](https://huggingface.co/lmstudio-community/gemma-2-2b-it-GGUF-Q4_K_M) (4-bit quantized).\n  - And other models that [LlamaCPP](https://github.com/ggerganov/llama.cpp) supports via custom models. [See the list](https://github.com/ggerganov/llama.cpp).\n\n- 🧠 Text-only with reasoning models:\n  - [DeepSeek-R1-Distill-Qwen-1.5B](https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-1.5B-GGUF) (4/6-bit quantized).\n  - [DeepSeek-R1-Distill-Llama-8B](https://huggingface.co/bartowski/DeepSeek-R1-Distill-Llama-8B-GGUF) (4-bit quantized).\n\n- 🖼️ Multimodal models:\n  - [Moondream2](https://huggingface.co/vikhyatk/moondream2).\n  - [MiniCPM-v2.6](https://huggingface.co/openbmb/MiniCPM-V-2_6-gguf).\n  - [LLaVA 1.5/1.6](https://llava-vl.github.io/).\n  - Besides supported models, you can try other variants via custom models.\n\n## TODO\n\n- [x] 🖼️ Support multimodal model: [moondream2](https://huggingface.co/vikhyatk/moondream2).\n- [x] 🗣️ Add wake word detection: \"Hey Llama!\".\n- [x] 🛠️ Custom models: Add support for custom models.\n- [x] 📚 Support 5 other text models.\n- [x] 🖼️ Support 5 other multimodal models.\n- [x] ⚡ Streaming support for response.\n- [x] 🎙️ Add offline STT support: WhisperCPP.\n- [x] 🧠 Knowledge database: LlamaIndex\n- [x] ⌖ Screen Spot: Screen capture and analyze with OCR\n- [ ] 🔌 Plugin system for extensibility.\n- [ ] 📰 News and weather updates.\n- [ ] 📧 Email integration with Gmail and Outlook.\n- [ ] 📝 Note-taking and task management.\n- [ ] 🎵 Music player and podcast integration.\n- [ ] 🤖 Workflow with multiple agents.\n- [ ] 🌐 Multi-language support: English, Spanish, French, German, etc.\n- [ ] 📦 Package for Windows, Linux, and macOS.\n- [ ] 🔄 Automated tests and CI/CD pipeline.\n\n## Features\n\n- 🎙️ Voice recognition for hands-free interaction.\n- 💬 Natural language processing with Llama 3.2.\n- 🖼️ Image analysis capabilities (TODO).\n- ⚡ Global hotkey for quick access (Cmd+Shift+Space on macOS).\n- 🎨 Customizable UI with adjustable transparency.\n\n**Note:** This project is a work in progress, and new features are being added regularly.\n\n## Technologies Used\n\n- ![Python](https://img.shields.io/badge/Python-3.9%2B-blue?style=flat-square\u0026logo=python\u0026logoColor=white)\n- ![Llama](https://img.shields.io/badge/Llama-3.2-yellow?style=flat-square\u0026logo=meta\u0026logoColor=white)\n- ![SpeechRecognition](https://img.shields.io/badge/SpeechRecognition-3.8-green?style=flat-square\u0026logo=google\u0026logoColor=white)\n- ![yt](https://img.shields.io/badge/PyQt-5-41CD52?style=flat-square\u0026logo=qt\u0026logoColor=white)\n\n## Installation\n\n**Recommended Python Version:** 3.10.\n\n**Install PortAudio:**\n\n\u003cdetails\u003e\nInstall `PortAudio`_. This is required by the `PyAudio`_ library to stream\naudio from your computer's microphone. PyAudio depends on PortAudio for cross-platform compatibility, and is installed differently depending on the\nplatform.\n\n* For Mac OS X, you can use `Homebrew`_::\n\n      brew install portaudio\n\n  **Note**: if you encounter an error when running `pip install` that indicates\n  it can't find `portaudio.h`, try running `pip install` with the following\n  flags::\n\n      pip install --global-option='build_ext' \\\n          --global-option='-I/usr/local/include' \\\n          --global-option='-L/usr/local/lib' \\\n          pyaudio\n\n* For Debian / Ubuntu Linux::\n\n      apt-get install portaudio19-dev python3-all-dev\n\n* Windows may work without having to install PortAudio explicitly (it will get\n  installed with PyAudio).\n\nFor more details, see the `PyAudio installation`_ page.\n\n\n.. _PyAudio: https://people.csail.mit.edu/hubert/pyaudio/\n.. _PortAudio: http://www.portaudio.com/\n.. _PyAudio installation:\n  https://people.csail.mit.edu/hubert/pyaudio/#downloads\n.. _Homebrew: http://brew.sh\n\u003c/details\u003e\n\n**On Windows: Installing the MinGW-w64 toolchain**\n\n\u003cdetails\u003e\n- Download and install with instructions from [here](https://code.visualstudio.com/docs/cpp/config-mingw).\n- Direct download link: [MinGW-w64](https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-x86_64-20240113.exe).\n\u003c/details\u003e\n\n**Install from PyPI:**\n\n```bash\npip install pyaudio\npip install git+https://github.com/stlukey/whispercpp.py\npip install llama-assistant\n```\n\n**Or install from source:**\n\n\u003cdetails\u003e\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/nrl-ai/llama-assistant.git\ncd llama-assistant\n```\n\n2. Install the required dependencies and install the package:\n\n```bash\npip install pyaudio\npip install git+https://github.com/stlukey/whispercpp.py\npip install -r requirements.txt\npip install .\n```\n\n\u003c/details\u003e\n\n**Speed Hack for Apple Silicon (M1, M2, M3) users:** 🔥🔥🔥\n\n\u003cdetails\u003e\n\n- Install Xcode:\n\n```bash\n# check the path of your xcode install\nxcode-select -p\n\n# xcode installed returns\n# /Applications/Xcode-beta.app/Contents/Developer\n\n# if xcode is missing then install it... it takes ages;\nxcode-select --install\n```\n\n- Build `llama-cpp-python` with METAL support:\n\n```bash\npip uninstall llama-cpp-python -y\nCMAKE_ARGS=\"-DGGML_METAL=on\" pip install -U llama-cpp-python --no-cache-dir\n\n# You should now have llama-cpp-python v0.1.62 or higher installed\n# llama-cpp-python         0.1.68\n```\n\n\u003c/details\u003e\n\n## Usage\n\nRun the assistant using the following command:\n\n```bash\nllama-assistant\n\n# Or with a\npython -m llama_assistant.main\n```\n\nUse the global hotkey (default: `Cmd+Shift+Space`) to quickly access the assistant from anywhere on your system.\n\n## Configuration\n\nThe assistant's settings can be customized by editing the `settings.json` file located in your home directory: `~/llama_assistant/settings.json`.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the GPLv3 License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\n- This project uses [llama.cpp](https://github.com/ggerganov/llama.cpp), [llama-cpp-python](https://github.com/abetlen/llama-cpp-python) for running large language models. The default model is [Llama 3.2](https://github.com/facebookresearch/llama) by Meta AI Research.\n- Speech recognition is powered by [whisper.cpp](hhttps://github.com/ggerganov/whisper.cpp) and [whispercpp.py](https://github.com/stlukey/whispercpp.py).\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=nrl-ai/llama-assistant\u0026type=Date)](https://star-history.com/#nrl-ai/llama-assistant\u0026Date)\n\n## Contact\n\n- **Website:** [https://llama-assistant.nrl.ai/](https://llama-assistant.nrl.ai/).\n- **Contact Form:** [https://www.nrl.ai/contact](https://www.nrl.ai/contact).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrl-ai%2Fllama-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnrl-ai%2Fllama-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrl-ai%2Fllama-assistant/lists"}