YoutubeTranscriber allows you to import a list of Youtube URLs from a CSV file, embeds them using OpenAI and stores them in a vector database. You can then ask questions about the videos and it will return the most relevant videos.
In this project we use OpenAI embeddings and Supabase with pgvector as our vector database.
You can switch out either of these with your own preference.
-
Go to Supabase
-
Create your account, if you already don’t have it.
-
Once your account is created, click on All projects>Create Project
-
Put your project name, then it will give you a Supabase URL and a service key.
-
Copy .env.example file and rename it as .env
-
Change the Supabase URL and the key in the .env file
-
Now, click on your project name on Supabase, and click on the SQL Editor menu which is on the left sidebar.
-
Open schema.sql file in your IDE, copy it and paste in the Supabase's Query Editor, Hit Run.
-
Configure the
.envfile with your table name, openai key, and supabase keys. Make sure you changed the Supabase's URL and key in the step 6. -
Run
pip install -r requirements.txtto install the dependencies. -
Run the
python3 embed.pyscript to embed the youtube videos. -
Run the
python3 main.pyscript to ask questions about the videos.
If you have any questions, feel free to reach out to Jay on Twitter!