I was going down the YouTube rabbit hole one night and thought to myself that I always find myself going down rabbit holes of interesting information and thoroughly enjoying it. So I made Rabbit Hole
, an AI based search engine using the Metaphor API that works just like Google or any other search engine where you enter a query and are prompted with results from the internet, but now you are able to find similar web pages based on which pages you find most interesting. Don't feel like reading a whole web page? Don't worry, Rabbit Hole
uses NLP (PyTorch and transformers) to summarize the webpage so you can save time. See how far you go down the rabbit hole!
- NextJS
- Typescript
- TailwindCSS
- Python
- Flask
- Transformers
- Pytorch
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Ensure you have the following installed on your local machine and have setup a Metaphor account
- Clone the repository:
git clone https://github.com/nickhansel/rabbit-hole.git
cd rabbit-hole
- Set up the environment:
make setup
NOTE: These commands only work on UNIX machines because of how the ports are handled. If you have a Windows machine you can do:
cd backend && pip install -r requirements.txt
python3 app.py
cd ../frontend && npm install
npm run dev
- To run the backend using Python:
make run-backend-py METAPHOR_KEY=your_api_key
- Or to run the backend using Python3:
make run-backend-py3 METAPHOR_KEY=your_api_key
- To run the frontend:
make run-frontend
- To run both the backend (with Python) and frontend with a single command:
make all-py METAPHOR_KEY=your_api_key
- Or to run both the backend (with Python3) and frontend with a single command:
make all-py3 METAPHOR_KEY=your_value
- To stop the backend:
make stop-backend
- To stop the frontend:
make stop-frontend
- Nick Hansel