Spaces:
Running
Running
| import sys | |
| import os | |
| sys.path.append(os.getcwd()) | |
| from src.ingestion.database import get_session, Article | |
| from src.intelligence.classifier import load_classifier, classify_batch | |
| from src.intelligence.fake_news import load_fake_news_detector, detect_batch | |
| def debug_db(): | |
| session = get_session() | |
| if not session: | |
| print("Database session failed.") | |
| return | |
| articles = session.query(Article).limit(5).all() | |
| print(f"--- Database Check (Top {len(articles)}) ---") | |
| for a in articles: | |
| rc_len = len(a.raw_content) if a.raw_content else 0 | |
| cc_len = len(a.clean_content) if a.clean_content else 0 | |
| print(f"ID: {a.id} | Title: {a.title[:40]}... | Raw: {rc_len} | Clean: {cc_len}") | |
| print(f" Category: {a.category} | Fake: {a.is_fake} | Score: {a.credibility_score}") | |
| # Check model loading | |
| clf = load_classifier() | |
| detector, tokenizer = load_fake_news_detector() | |
| if articles: | |
| texts = [a.title + " " + (a.clean_content or "") for a in articles] | |
| print("\n--- Model Check on these articles ---") | |
| if clf: | |
| cats = classify_batch(texts, clf) | |
| print(f"Categories: {cats}") | |
| if detector and tokenizer: | |
| titles = [a.title for a in articles] | |
| contents = [a.clean_content or "" for a in articles] | |
| fakes = detect_batch(titles, contents, model=detector, tokenizer=tokenizer, sources=[a.source for a in articles]) | |
| print(f"Detections: {fakes}") | |
| session.close() | |
| if __name__ == "__main__": | |
| debug_db() | |