briefing-32 / config.py
mukunda1729's picture
Upload 9 files
9884451 verified
"""Config — model defaults, source list, tunables.
Build Small Hackathon constraints: model must be ≤32B params and runnable on
a laptop. Default is Qwen3-32B routed through HF Inference Providers so the
HF Space talks to a real open-weight model with predictable cost.
"""
from __future__ import annotations
import os
# Default model — Apache 2.0, 32B dense, native JSON mode.
DEFAULT_MODEL = os.getenv("BRIEFING_MODEL", "Qwen/Qwen3-32B")
# HF Inference Providers OpenAI-compatible router.
DEFAULT_BASE_URL = os.getenv("BRIEFING_BASE_URL", "https://router.huggingface.co/v1")
# Smart-batch threshold for the digest section. Below this, the UI says
# "nothing high-signal in the window" rather than rendering noise.
MIN_NEW_ITEMS = int(os.getenv("MIN_NEW_ITEMS", "3"))
# Per-source cap to bound prompt size.
PER_SOURCE_CAP = int(os.getenv("PER_SOURCE_CAP", "20"))
# Minimum relevance score (0-10) to make it into the digest.
MIN_RELEVANCE = int(os.getenv("MIN_RELEVANCE", "6"))
# Top-N items to put into the digest prompt after ranking.
DIGEST_TOP_N = int(os.getenv("DIGEST_TOP_N", "12"))
# ArXiv categories pulled live.
ARXIV_CATEGORIES = ["cs.AI", "cs.CL", "cs.LG"]
# GitHub trending topic filter.
GITHUB_TRENDING_TOPIC = "ai"
# RSS feeds — lab blogs + high-signal newsletters + YouTube channels.
RSS_FEEDS: list[tuple[str, str]] = [
# AI labs
("Anthropic", "https://www.anthropic.com/news/rss.xml"),
("OpenAI", "https://openai.com/news/rss.xml"),
("Google DeepMind", "https://deepmind.google/blog/rss.xml"),
("Google AI", "https://blog.google/technology/ai/rss/"),
("Meta AI", "https://ai.meta.com/blog/rss/"),
("Mistral", "https://mistral.ai/news/feed.xml"),
("xAI", "https://x.ai/blog/rss.xml"),
("HuggingFace", "https://huggingface.co/blog/feed.xml"),
# Newsletters / blogs
("Latent Space", "https://www.latent.space/feed"),
("Import AI", "https://importai.substack.com/feed"),
("The Rundown AI", "https://www.therundown.ai/feed"),
("Stratechery", "https://stratechery.com/feed/"),
("Simon Willison", "https://simonwillison.net/atom/everything/"),
("Andrej Karpathy", "https://karpathy.github.io/feed.xml"),
("One Useful Thing", "https://www.oneusefulthing.org/feed"),
("AI Snake Oil", "https://www.aisnakeoil.com/feed"),
("Last Week in AI", "https://lastweekin.ai/feed"),
("AI Tidbits", "https://aitidbits.substack.com/feed"),
("Linus Lee", "https://thesephist.com/posts.xml"),
("Lilian Weng", "https://lilianweng.github.io/index.xml"),
# YouTube (Atom feeds, no key required)
("YT: Yannic Kilcher", "https://www.youtube.com/feeds/videos.xml?channel_id=UCZHmQk67mSJgfCCTn7xBfew"),
]