/HubermanAnswers

Ask Dr. Andrew Huberman questions and receive answers directly from his podcast episodes.

Primary LanguagePythonApache License 2.0Apache-2.0

Alt text

Huberman Answers

If you’re looking for a quick answer to the topics discussed on the HubermanLab Podcast but don’t have time to listen to full episodes, you’ve come to the right place. This chatbot is a RAG-GPT system with OpenAI's GPT 3.5 Turbo, Langchain, ChromaDB, and Gradio, delivers pinpoint answers to your questions.

Submit your question and get insights on neuroscience, biology, and human performance directly from Dr. Andrew Huberman’s discussions. Each answer comes with the name and number of the podcast episode if you want to watch it.

Interface

Alt text

Data

This project utilizes .vtt transcripts from the Huberman Lab podcast, originally transcribed by Marko Simic. (Find his project here.)

Transcripts are stored in the data directory data/docs: For files that should be processed in advance. Vector database vectordb is generated within the data folder for the project's functionality.

Data Acquisition

  • Episodes were downloaded using the yt-dlp tool.
  • The obtained audio files were transcribed using OpenAI's Whisper medium.en model.

Usage

Huberman Answers is a project designed to run locally.

To run it, go through the following steps:

  1. Clone the repository and navigate to the project directory:
git clone https://github.com/NinoRisteski/HubermanAnswers.git
cd hubermananswers
  1. Create and activate a new virtual environment:
conda create --name hubermananswers python=3.9.6
conda activate hubermananswers
source venv/bin/activate
  1. Install the requirements:
pip install -r requirements.txt
  1. Open app_config.py and fill in your OpenAI API key.
  2. Run upload_data_manually.py to process data and create vectordb:
python3 src/upload_data_manually.py

Only initially to process the transcripts. Don't run it every time you run the app.

  1. Run the application:
  • In Terminal 1:
python3 src\serve.py

The serve.py module hosts the .vtt files in a server, making them accessible for user viewing.

  • In Terminal 2:
python3 src\hubermananswers_app.py

Don't forget to activate the environments in each terminal

  1. Finally, ask Huberman simple to complex questions and receive thoughtful answers along with the episode titles.

Credits

Marko Simic

  • For creating the Huberman Lab transcripts dataset.

Emanuel Risteski

  • For creating the visuals for the project.

Photo Credits:

  • I don't own the rights to the main black and white photo of Andrew Huberman. Photo credits go to Huberman Lab.

This project is created for experimental purposes only and is not affiliated with Dr. Andrew Huberman. It is not intended for commercial use.

Contact

Reach out on X or LinkedIn.