- 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.
- Removed data directories from .gitignore to streamline ignored files.
- Updated RSS_FEEDS in config.py to uncomment specific sources for news fetching.
- Enhanced README.md with a clearer project overview, features, technologies used, and installation instructions.
- Updated vector dimension in config.py from 4096 to 1024 for Cohere embeddings.
- Modified main.py to serve HTML responses for the home page, news fetching, and recommendations.
- Improved error handling and ensured articles have links in the responses.
- Cleaned up news_fetcher.py by removing unnecessary print statements.
- Updated recommender.py to refine insights generation and summary extraction.
- Added Jinja2 for templating and improved the project structure for better organization.
- Included API documentation for better understanding of endpoints and usage.
- Implemented NewsFetcher class to fetch articles from RSS feeds and clean HTML content.
- Added EmbeddingGenerator for generating embeddings using Cohere API.
- Created VectorStore for storing and retrieving articles using Pinecone.
- Developed NewsRecommender for analyzing articles and generating insights with Groq.
- Set up FastAPI application with endpoints for fetching news and providing recommendations.
- Configured logging for better traceability and debugging.
- Updated .gitignore to include environment variables and data directories.
- Added requirements.txt for project dependencies.