This is a basic virtual assistant which you can interact with through text and voice.
Ask Zero to perform some commands and chat with them.
This project presents a virtual assistant with graphical interface (GUI), which interacts with the user through text or speech, using Hugging Face models.
The environment allows dynamic interactions, having integrated functions which can be activated using natural language.
To be able to use Zero, it's required to have:
- Python (3.10 or higher)
- Hugging Face API token
- Installing the libraries in
requirements.txt - Installing or configuring a Tkinter theme (Go to
themes/readme.txtfor more details)
- It's capable to interact through text or audio and execute commands
- It uses Tkinter for GUI and Qwen's Qwen2.5-Coder-32B-Instruct on Hugging Face for chatting
The layout is composed by an animated image which changes states depending on if Zero is speaking or not, boxes for the user and the assistant, and buttons which provide the options to send a text message or an audio message. It's also possible sending the message by pressing the Enter key.
Below is an example of a chat interaction:
To activate commands, you need to start your text or audio with "Zero," so that she can differentiate your intention.
Here is an example of command activation:
In order to execute the project locally, follow the steps below:
- Clone the repository using
git cloneor download it as a ZIP file - (Optional) Create a virtual environment (this project is compatible with Anaconda environments)
- Install the libraries listed in the
requirements.txtfile (This can be done throughpip install -r requirements.txt)- If you're using a virtual environment, make sure to install the libraries inside it
- Create a Hugging Face account and API token (check documentation for more info)
- Create a
.envfile inchatfolder containing the following line:HUGGINGFACE_INFERENCE_TOKEN = "<your token here>"
- Get a Google Calendar API token and put the
credentials.jsonfile in theutilsfolder - Run the main program (
main.py)
Zero requires connection to the internet as both Hugging Face API and TTS/STT libraries need it. As a result, it cannot operate properly when you're offline.
There are also a few limitations provided by using Tkinter which are expected to be fixed in the later updates.
Here are a few steps planned to improve Zero's experience:
- Add more commands
- Personalise user experience
- Improve GUI
- Fix performance issues that might occur

