"""分类/标签模块测试""" from app.tagger import classify_article, tag_article, tag_articles from models import EnrichedArticle, Taxonomy def test_classify_article(db): categories = [ Taxonomy(name="科技", kind="category", keywords=["AI", "大模型", "芯片"]), Taxonomy(name="财经", kind="category", keywords=["股市", "基金", "财报"]), ] article = EnrichedArticle( rk_article_id=1, title="OpenAI 发布新一代大模型", ) assert classify_article(article, categories) == "科技" def test_tag_article(db): tags = [ Taxonomy(name="人工智能", kind="tag", keywords=["AI", "人工智能", "大模型"]), Taxonomy(name="半导体", kind="tag", keywords=["芯片", "半导体"]), ] article = EnrichedArticle( rk_article_id=1, title="OpenAI 发布新一代大模型", ) result = tag_article(article, tags) assert "人工智能" in result def test_tag_articles_integration(db): db.add_all([ Taxonomy(name="科技", kind="category", keywords=["AI", "大模型"]), Taxonomy(name="人工智能", kind="tag", keywords=["AI", "大模型"]), ]) article = EnrichedArticle(rk_article_id=1, title="OpenAI 发布 GPT-5 大模型") db.add(article) db.commit() count = tag_articles(db) assert count == 1 assert article.category == "科技" assert "人工智能" in article.tags