{"id":14964665,"url":"https://github.com/kiritoind/personal-voice-assistant-using-llm-functioncalling","last_synced_at":"2025-10-25T08:30:19.275Z","repository":{"id":251576038,"uuid":"837802573","full_name":"kiritoInd/Personal-Voice-Assistant-Using-LLM-FunctionCalling","owner":"kiritoInd","description":"The Personal Voice Assistant is a sophisticated AI-driven tool designed to interact with users through natural language. Leveraging a state-of-the-art language model (LLM), this assistant provides a seamless and intuitive experience by understanding and executing functions.","archived":false,"fork":false,"pushed_at":"2024-08-04T04:56:06.000Z","size":3600,"stargazers_count":18,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-10T18:03:58.915Z","etag":null,"topics":["groq-api","llama3","llm","python","speech-recognition","stt","tts","voice-assistant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiritoInd.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-04T04:42:30.000Z","updated_at":"2024-09-30T15:59:50.000Z","dependencies_parsed_at":"2024-08-04T06:45:15.375Z","dependency_job_id":"c169a76f-c388-4ac3-8b45-6a20d9c00962","html_url":"https://github.com/kiritoInd/Personal-Voice-Assistant-Using-LLM-FunctionCalling","commit_stats":null,"previous_names":["kiritoind/personal-voice-assistant","kiritoind/personal-voice-assistant-using-llm-functioncalling"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiritoInd%2FPersonal-Voice-Assistant-Using-LLM-FunctionCalling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiritoInd%2FPersonal-Voice-Assistant-Using-LLM-FunctionCalling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiritoInd%2FPersonal-Voice-Assistant-Using-LLM-FunctionCalling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiritoInd%2FPersonal-Voice-Assistant-Using-LLM-FunctionCalling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiritoInd","download_url":"https://codeload.github.com/kiritoInd/Personal-Voice-Assistant-Using-LLM-FunctionCalling/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219866281,"owners_count":16555908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["groq-api","llama3","llm","python","speech-recognition","stt","tts","voice-assistant"],"created_at":"2024-09-24T13:33:36.016Z","updated_at":"2025-10-25T08:30:18.470Z","avatar_url":"https://github.com/kiritoInd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Voice Assistant\n\nThis is a personal voice assistant that can perform various tasks such as playing music from YouTube, fixing errors, and chatting with you like a normal chatbot. The assistant is built using Python and leverages several libraries and APIs to provide its functionalities.\n\n# Preview\n\n[Watch the video](preview.mp4)\n\n## Features\n\n1. **Play Music from YouTube**: You can ask the assistant to play music from YouTube based on a search query.\n2. **Fix Errors**: The assistant can take a screenshot, extract text from the image, and attempt to fix any errors found in the text.\n3. **Chatbot**: The assistant can engage in normal conversations with you.\n\nError Fixing Process:\n\nWhen a user reports an error, the Personal Voice Assistant takes a screenshot of the current screen to capture the exact issue. This image is then processed using OpenCV to extract the text from the screenshot. The extracted text is sent to the LLaMA 3 language model, which analyzes the content and generates a relevant response or solution. The assistant then communicates the suggested fix or troubleshooting steps back to the user, ensuring a streamlined and effective resolution process.\n\n## Getting Started\n\n### Prerequisites\n\nMake sure you have Python installed on your system. You can download it from [python.org](https://www.python.org/).\n\n### Installation\n\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/kiritoInd/Personal-Voice-Assistant.git\n    cd Personal-Voice-Assistant\n    ```\n\n2. Install the required packages:\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n### Environment Variables\n\nCreate a `.env` file in the root directory of the project and add your Groq API key:\n```env\nGROQ_API_KEY=your_groq_api_key\n```\n## Running the Assistant\n### Run the following command to start the voice assistant:\n``` python main.py ```\n## Usage\n\n- **Start the Assistant**: Click the \"Start Bot\" button in the GUI to start the assistant.\n- **Trigger Word**: Say \"hello\" to activate the assistant.\n- **Commands**:\n  - **Play Music**: \"Play [song name] from YouTube.\"\n  - **Fix Error**: \"Can you fix this error?\"\n  - **Chat**: Engage in a normal conversation.\n\n## Adding More Functions\n\nYou can add more functionalities to the assistant through the function calling list. Learn more about function calling at [DataCamp's OpenAI Function Calling Tutorial](https://www.datacamp.com/tutorial/open-ai-function-calling-tutorial).\n\nYou can use the same for meta LLama3 \n\n## Adding More Functions\n\nYou can add more functionalities to the assistant through the function calling list. Learn more about function calling at [DataCamp's OpenAI Function Calling Tutorial](https://www.datacamp.com/tutorial/open-ai-function-calling-tutorial).\n\nTo add new functions, update the `function_calling_template` in the code:\n\n```python\nfunction_calling_template = \"\"\" \n    \u003ctools\u003e {\n    \"name\": \"Your Function\",\n    \"description\": \"Description of the function\",\n    \"parameters\": {\n        \"type\": \"object\",\n        \"properties\": {},\n        \"required\": [],\n    },\n    } \u003c/tools\u003e\n  \"\"\"\n```\n\n## Libraries and APIs Used\n\n- `json`\n- `speech_recognition`\n- `pyttsx3`\n- `groq`\n- `Pillow`\n- `opencv-python-headless`\n- `pytesseract`\n- `datasets`\n- `torch`\n- `transformers`\n- `soundfile`\n- `sounddevice`\n- `requests`\n- `beautifulsoup4`\n- `keyboard`\n- `tkinter`\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- [GroqApi](https://groq.com/)\n- [Meta](https://github.com/meta-llama/llama3)\n- [DataCamp](https://www.datacamp.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiritoind%2Fpersonal-voice-assistant-using-llm-functioncalling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiritoind%2Fpersonal-voice-assistant-using-llm-functioncalling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiritoind%2Fpersonal-voice-assistant-using-llm-functioncalling/lists"}