Nova is a virtual web voice assistant implemented using ChatGPT 3.5 and Elevenlabs. It creates humanlike responses to your input and reads them out using some of the best AI text generation, voice transcription and text-to-speech technology available. The purpose of the project is to attempt to utilize the new major improvements in artificial intelligence to create a voice assistant that is more adaptive and more capable of humanlike behaviour and responses than voice assistants utilizing older technology.
- Python >=3.9
- For flight info: account on flightradar24
- OpenAI API (you will need an API key from OpenAI)
- Elevenlabs API key
- Conda or pip (for managing virtual environment)
- Node and Yarn
git clone https://github.com/hamid-nazar/AI-virtual-assistant.git
cd AI-virtual-assistant/backend
conda create --name myenv python=3.x
conda activate myenv
pip install -r requirements.txt
OPENAI_API_KEY = your_openai_api_key
ELEVENLABS_API_KEY = your_elevenlabs_api_key
EMAIL = your_flightradar_email
PASSWORD = your_flightradar_password
uvicorn main_2:app --reload
main.py
: Defines all the API endpoints that interact with the frontend of the application.chatGPT.py
: Sets up the generative AI model with system prompts and functions to respond to input. Also uses OpenAI voice transcription to transcribe audio messages.tasks.py
: Additional functions the chatGPT model can call upon via function calling. Descriptions of the functions for the model are found in function_descriptions.py.text_to_speech.py
: Converts response from OpenAI to speech using elevenlabs.database.py
: Stores messages of current session for the chatbot in JSON format. Also implements function to reset the messages.requirements.txt
: Lists all project-specific dependencies.
If yarn is not installed: npm install --global yarn
cd generative-AI/front
yarn install
yarn run dev
- React + Vite
- Tailwind CSS
- Axios