This is a tool that aggregates news articles relevant to a certain topic and summarizes it, presenting the key points from each article.
You can install and run this project using Docker or setting up locally using uv as package manager.
-
Install
Docker
InstallDockerfrom here. Be sure to update and get the latest version. -
Clone the Repository
git clone https://github.com/limjoobin/news-summarizer.git -
Build and run the container using
docker composedocker compose up --buildThis will build the images and run the container according to the specifications in
compose.yaml. When ready, the application will be running onhttp://localhost:8000. -
Stop the application
To stop the application (stop and remove all containers and network, and clean up the environment), dodocker compose down
-
Install
uv
Installuvfrom here. We will useuvas package and project manager. -
Clone the Repository
git clone https://github.com/limjoobin/news-summarizer.git -
Run the
news-scraperservicecd news-scraper/src uv run news_scraper.pyIf successful, the
news-scraperservice should be running athttp://localhost:8001. -
Run the
vllmserver
Run thevllmserver to serve thebart-large-cnnmodel for summarization. Be sure to installvllmdependencies beforehand.cd summarizer uv add vllm uv run vllm serve facebook/bart-large-cnn --host 127.0.0.1 --port 8003Note: The
vllmserver must be run on a Linux environment. If using Windows, run it from WSL2. If successful, thevllmserver should be running athttp://localhost:8003 -
Run the
summarizerservicecd summarizer/src uv run main.pyIf successful, the
summarizerservice should be running athttp://localhost:8002 -
Run the app frontend
cd app uv run app.pyIf successful, the app frontend should be running at
http://localhost:7860.
Visit the app frontend to use the service. Do note that there is a delay for each summary generated from the scraping and summarization.