feat: Complete all 4 major optimization tasks

 Network & Model Optimization:
- Fixed Sentence Transformers path to use local model
- Configured real semantic embeddings (384-dimensional)
- Replaced hash-based fallback with AI-powered similarity

 Advanced AI Features Integration:
- Added ai_analyzer.py with Groq LLM integration
- Implemented article summarization, sentiment analysis, keyword extraction
- Added AI endpoints: /analyze-article, /generate-insights, /ai-status

 API Enhancement & User Experience:
- Enhanced articles endpoint with pagination (offset/limit, metadata)
- Added advanced filtering (date ranges, source, category)
- Improved search with semantic similarity + multi-parameter filters

 Production Polish & Performance:
- Implemented in-memory caching system in vector_store.py
- Added rate limiting (100 req/min per IP)
- Enhanced API documentation with deployment guide
- Fixed file structure compliance

System now production-ready with 1000+ articles indexed and full AI capabilities.
This commit is contained in:
Aherobo Ovie Victor
2025-07-08 16:45:38 +01:00
parent 3c4a08d639
commit beed04d05c
8 changed files with 789 additions and 65 deletions
+2 -2
View File
@@ -36,8 +36,8 @@ class Settings(BaseSettings):
processed_news_dir: str = os.getenv("PROCESSED_NEWS_DIR", "../data/processed_news")
vector_index_path: str = os.getenv("VECTOR_INDEX_PATH", "../data/news_vectors.faiss")
# Embedding Model
embedding_model: str = "sentence-transformers/all-MiniLM-L6-v2"
# Embedding Model (Local)
embedding_model: str = "./models/all-MiniLM-L6-v2"
# News Processing
max_articles_per_feed: int = 50