Creating a Real Life Personal Ai Assistant | Python π
A sophisticated AI-powered personal assistant built with Python, featuring voice recognition, text-to-speech, real-time search capabilities, and a modern GUI interface.
- Voice Recognition: Real-time speech-to-text conversion
- Text-to-Speech: Natural voice responses
- Real-time Search: Web search capabilities for up-to-date information
- Image Generation: AI-powered image creation
- Modern GUI: Beautiful PyQt5-based interface with dark theme
- Chat Interface: Interactive conversation with message history
- Automation: Task automation capabilities
- Multi-modal: Support for text, voice, and image interactions
- Python 3.8 or higher
- Windows 10/11 (recommended)
- Microphone and speakers
-
Clone the repository
git clone https://github.com/yourusername/Personal-AI-Assistant.git cd Personal-AI-Assistant -
Create virtual environment
python -m venv venv venv\Scripts\activate # On Windows
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
- Create a
.envfile in the project root - Add your API keys and configuration:
Assistantname=Zyra # Add other API keys as needed
- Create a
-
Run the application
python Main.py
Personal-AI-Assistant/
βββ Backend/ # Core AI functionality
β βββ Chatbot.py # Main chatbot logic
β βββ SpeechToText.py # Voice recognition
β βββ TextToSpeech.py # Voice synthesis
β βββ ImageGeneration.py # AI image creation
β βββ RealtimeSearchEngine.py # Web search
β βββ Automation.py # Task automation
β βββ Model.py # AI model management
βββ Frontend/ # User interface
β βββ GUI.py # PyQt5 GUI implementation
β βββ Graphics/ # UI assets and icons
β βββ Files/ # Temporary data files
βββ Data/ # Application data
βββ Main.py # Application entry point
βββ requirements.txt # Python dependencies
- Click the microphone icon to start voice interaction
- Speak naturally - the assistant will process and respond
- Use voice commands for hands-free operation
- Switch to Chat tab for text-based conversations
- View conversation history
- Send messages and receive AI responses
- General Questions: Ask about any topic
- Web Search: Get real-time information
- Image Generation: Create AI-generated images
- Task Automation: Automate repetitive tasks
- Voice Interaction: Natural conversation
Create a .env file with the following variables:
Assistantname=Zyra
# Add your API keys here- Modify
Assistantnamein.envto change the assistant's name - Customize the GUI appearance in
Frontend/GUI.py - Add new features in the
Backend/directory
Key dependencies include:
PyQt5- GUI frameworkspeech_recognition- Voice recognitionpyttsx3- Text-to-speechrequests- Web requestspython-dotenv- Environment variables
See requirements.txt for the complete list.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for AI capabilities
- PyQt5 community for GUI framework
- Python community for excellent libraries
- All contributors and testers
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the maintainers
- Repository: GitHub - Personal AI Assistant
- Documentation: Wiki
- Issues: Report Issues
Made with β€οΈ by [widushan]
Creating the future of personal AI assistance, one conversation at a time.