ADA (Advanced Digital Assistant) is a proof-of-concept personal AI assistant that uses voice recognition, natural language processing, and various AI models to help with tasks, answer questions, and interact with your computer.
Original: Dan Isler's gist
- Voice activation with the keyword "Ada"
- Natural language interaction
- Integration with multiple AI models (GPT-4, Gemini 1.5)
- Text-to-speech responses using ElevenLabs
- Ability to run shell commands
- Web scraping and code generation
- Configuration management
- Image-to-Vue component generation
- main9_ada_personal_ai_assistant_v02.py: The main script that runs the AI assistant loop and manages interactions.
- llm.py: Handles interactions with various language models (GPT-4, Gemini 1.5).
- editor.py: Provides functionality for editing files.
- human_in_the_loop.py: Manages human interaction in the AI workflow.
- parsers.py: Contains utility functions for parsing JSON responses.
- voice_recorder.py: Handles continuous voice recording and transcription.
-
Clone the repository:
git clone [email protected]:witt3rd/ada.git cd ada
-
Install the required dependencies:
pip install .
-
Set up your environment variables in a
.env
file:GOOGLE_API_KEY=your_google_api_key OPENAI_API_KEY=your_openai_api_key ELEVEN_API_KEY=your_elevenlabs_api_key DEEPGRAM_API_KEY=your_deepgram_api_key
-
Run the main script:
python main.py
- Start the assistant by running the main script.
- Activate the assistant by saying "Ada" followed by your command or question.
- The assistant will process your request and respond using text-to-speech.
- Configure settings: "Ada, configure the assistant"
- Generate example code: "Ada, give me an example code for..."
- Create a Vue component from an image: "Ada, create a view component for this image"
- Run shell commands: "Ada, run this bash command..."
- Ask questions: "Ada, what is..."
- End the conversation: "Ada, exit"
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.