Nova is a friendly and customizable AI assistant that supports multimodal interaction, including text, audio, and image processing. You can talk to it verbally or interact with it through text, and even ask it to describe what it sees through a connected camera.
- Wake Word: Nova stays in standby until you say its name -- then it wakes up and responds.
- Visual Task Trigger: sentence with "What do you see" or "Look at the camera" will trigger the image captioning using a photo taken by the connected camera.
- End the Chat: Say "Goodbye" to pause the conversation. Nova will return to standby mode, waiting to be called again.
Follow these simple steps to get your Nova assistant up and running:
git clone https://github.com/AloscariS/nova-ai-assistant.git
Open the folder nova-ai-assistant
in your preferred IDE.
Make sure you have Conda installed, then create the environment:
conda env create -f environment.yml
conda activate nova
Obtain your API keys from AIMLAPI and ElevenLabs, then create a .env
file in the root directory of the project.
Example .env
file:
AIML_API_KEY="<your-API-key>"
ELEVENLABS_API_KEY="<your-API-key>"
python assistant.py
You can configure how you interact with Nova directly from the command line:
-
Interaction Mode: Nova defaults to verbal interaction. If you prefer text mode, use -t argument:
python assistant.py -t
-
Voice Provider: The default voice model is from AIMLAPI. To use one of the ElevenLabs TTS models instead, use -el argument:
python assistant.py -el
You can personalize your experience even further:
- Assistant Name: Set a custom name for your assistant.
- LLM Model Parameters: Modify the model to interrogate, including temperature, max tokens, etc.
- Voice Speed: Adjust speaking speed to your preference.
- System Prompt: Customize the assistant's base personality and instructions.
These and other options can be fine-tuned by editing the relevant parts of the assistant.py
script.
Enjoy chatting with Nova! 🌟