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.
This commit is contained in:
boladeE
2025-04-16 17:55:36 +01:00
parent 0ff7dc52fd
commit 82fe3608d2
15 changed files with 191591 additions and 94 deletions
+4 -4
View File
@@ -1,10 +1,10 @@
import cohere
from typing import List, Dict, Any
from config import COHERE_API_KEY
from typing import List, Dict, Any, Optional
from config import config
class EmbeddingGenerator:
def __init__(self):
self.client = cohere.Client(COHERE_API_KEY)
def __init__(self, cohere_client: Optional[cohere.Client] = None):
self.client = cohere_client or cohere.Client(config.cohere_api_key)
def generate_embeddings(self, texts: List[str]) -> List[List[float]]:
"""Generate embeddings for a list of texts using Cohere."""