flsteven87/InfoEssence

Steven

Steven Wu

GlobalNews for Taiwan

GlobalNews for Taiwan is an advanced news aggregation and summarization system designed to provide Taiwanese readers with concise, relevant international news in Traditional Chinese. This project leverages AI technologies to collect, summarize, and present global news in a format tailored for the Taiwanese audience.

Features

News Aggregation: Collects news from various international sources using RSS feeds.
AI-Powered Summarization: Utilizes OpenAI's GPT models to generate concise summaries and titles in Traditional Chinese.
Important News Selection: Automatically selects the most relevant and important news items for the Taiwanese audience.
Instagram Post Generation: Creates engaging Instagram-ready posts from selected news items.
Image Generation: Generates relevant images for news articles using AI.
Web Interface: Provides a user-friendly web interface for browsing summarized news.

Technology Stack

Backend: Python
Database: PostgreSQL
ORM: SQLAlchemy
API: OpenAI GPT-4
Web Framework: Streamlit
Image Generation: DALL-E (via OpenAI API)

Setup and Installation

Clone the repository:
Install dependencies:
Set up environment variables: Create a .env file in the root directory and add the following:
Initialize the database:
Run the application:

Usage

The main script supports various operations that can be executed as modules.

Updating RSS Feeds

To update the RSS feeds:
python -m src.main --update

Fetching Latest News

To fetch and process the latest news articles:
python -m src.main --fetch

Selecting Important News

To select a specific number of important news items (e.g., 5):
python -m src.main --choose 5

This will select the 5 most important news items and save them to a CSV file in the chosen_news directory.

Generating Instagram Posts

Instagram posts are automatically generated for the chosen news items and saved to a CSV file in the instagram_posts directory.

Running the Web Interface

To start the Streamlit web interface:
streamlit run src/app.py

Typical Workflow

A typical workflow might look like this:
Update RSS feeds
Fetch latest news
Choose important news items
View results in the web interface

Project Structure

src/: Contains the main source code
config/: Configuration files (config.yaml, rss_feed.yaml)
database/: Database models and operations
services/: Core services for news processing
utils/: Utility functions
requirements.txt: List of Python dependencies
.gitignore: Specifies intentionally untracked files to ignore

License

MIT

Acknowledgements

OpenAI for providing the GPT models used in summarization
All the news sources that provide RSS feeds
Like this project

Posted Mar 30, 2025

Contribute to flsteven87/InfoEssence development by creating an account on GitHub.