Files
ds_task_ai_news_bolade/README.md
T
boladeE 82fe3608d2 Refactor backend configuration and enhance news fetching functionality
- Introduced a Config dataclass in config.py to manage API keys, RSS feeds, and directory paths more effectively.
- Updated the NewsFetcher class to include retry logic for fetching articles from RSS feeds.
- Modified the EmbeddingGenerator and NewsRecommender classes to utilize the new configuration structure.
- Enhanced main.py to implement API token verification for secure access to news fetching and recommendations.
2025-04-16 17:55:36 +01:00

3.1 KiB

DS Task AI News

An AI-powered news application that fetches, processes, and recommends news articles based on your interests.

Overview

DS Task AI News is a web application that uses AI technologies to fetch, analyze, and recommend news articles. The application fetches news from various RSS feeds, processes them using AI, and provides personalized insights and recommendations.

Features

  • Latest News: View the latest news articles fetched from various RSS feeds.
  • News Recommendations: Get personalized news recommendations based on your interests.
  • AI Insights: Receive AI-generated insights about news articles.
  • Article Summaries: Get concise summaries of individual articles.

Technologies Used

  • FastAPI: Web framework for building APIs.
  • Jinja2: Template engine for rendering HTML.
  • Tailwind CSS: Utility-first CSS framework for styling.
  • feedparser: Library for parsing RSS feeds.
  • BeautifulSoup: Library for parsing HTML.
  • Cohere: API for generating embeddings.
  • Pinecone: Vector database for storing and retrieving embeddings.
  • Groq: API for generating insights and summaries.

Getting Started

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)
  • Internet connection

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/ds_task_ai_news.git
    cd ds_task_ai_news
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    
  3. Set up the required environment variables:

    • Create a .env file in the root directory with the following content:
      GROQ_API_KEY=your_groq_api_key
      PINECONE_API_KEY=your_pinecone_api_key
      PINECONE_ENVIRONMENT=your_pinecone_environment
      PINECONE_INDEX=your_pinecone_index
      
  4. Run the application:

  5. Open your web browser and navigate to http://localhost:8000.

Documentation

Project Structure

ds_task_ai_news/
├── backend/
│   ├── main.py
│   ├── news_fetcher.py
│   ├── embeddings.py
│   ├── vector_store.py
│   ├── recommender.py
│   ├── config.py
│   └── templates/
│       ├── base.html
│       ├── home.html
│       ├── news.html
│       └── recommendations.html
├── data/
│   ├── raw_news/
│   └── processed_news/
├── docs/
│   ├── API_Documentation.md
│   ├── Technical_Documentation.md
│   └── User_Guide.md
└── requirements.txt

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments