ZARA (Zingi Autonomous Response Assistant) is a virtual assistant built with Customtkinter GUI and backed by Hugging Face models. It can answer questions and perform tasks using natural language processing. 🌐
ZARA can handle various queries and tasks, including:
- Opening applications (e.g., "open chrome") 🖥️
- Coding tasks (e.g., "make a simple hi program in java") 💻
- Riddles and puzzles 🧩
- Temperature inquiries (e.g., "current temperature at New York") ☀️❄️
- Navigation and travel queries (e.g., "take me from Mumbai to Goa") 🗺️
✈️ - Playing music (e.g., "play 'Let me love you'") 🎵🎶
- Setting alarms and timers ⏰⏳
- Answering general knowledge questions (e.g., "tallest building in the world") 🏢
⁉️ - Engaging in casual conversation (e.g., "what is your name?") 💬
zara.mp4
Users can interact with ZARA by saying "Hey Zara" or by typing in the GUI. ZARA's responses are accompanied by Text-to-Speech (TTS) output for a more interactive experience. 🗨️🔊
To use ZARA, you'll need to set up API keys by creating a .env
file in the project directory with the following keys:
HUGGINGFACEHUB_API_TOKEN
: Hugging Face API key from https://huggingface.co/settings/tokensNEWSAPI_KEY
: NewsAPI.org API key from https://newsapi.org/WOLFARM_API
: Wolfram Alpha API key from https://developer.wolframalpha.com/PORCUPINE_API
: Picovoice Porcupine API key from https://console.picovoice.ai/
-
Clone the repository:
git clone https://github.com/meet244/ZARA.git cd ZARA
-
Install required Python packages:
pip install -r requirements.txt
-
Run the application:
python main.py
This project relies on various Python modules to achieve its functionality. Here is a list of the modules that are being used:
json
: For working with JSON data.time
: For time-related operations.pygame
: For creating games and multimedia applications.os
: For interacting with the operating system.pyaudio
: For working with audio.requests
: For making HTTP requests.wolframalpha
: For querying Wolfram Alpha computational knowledge engine.re
: For regular expressions.subprocess
: For running subprocesses.wikipedia
: For interacting with Wikipedia articles.datetime
: For working with dates and times.BeautifulSoup
: For parsing HTML and XML documents.dotenv
: For loading environment variables from a file.streamlit
: For creating interactive web applications.langchain
: A library related to language generation.pvporcupine
: For keyword detection.pyttsx3
: For text-to-speech conversion.speech_recognition
: For speech recognition.customtkinter
: A modern and customizable python UI-library based on Tkinter.PIL
: For working with images.markdown2
: For converting Markdown to HTML.threading
: For working with threads.pywhatkit
: For performing various tasks using the web.pyautogui
: For programmatically controlling the mouse and keyboard.
ZARA uses the following libraries and APIs:
- CustomTkinter: https://customtkinter.tomschimansky.com/
- Hugging Face: https://huggingface.co/
- OpenAssistant API: https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5
Feel free to contribute, report issues, and give suggestions!
Note: This project is not affiliated with the services and APIs mentioned above. 🚫📡