briefing-32 / README.md
mukunda1729's picture
Upload 2 files
c776726 verified

A newer version of the Gradio SDK is available: 6.14.0

Upgrade
metadata
title: briefing-32
emoji: πŸ“°
colorFrom: red
colorTo: gray
sdk: gradio
sdk_version: 5.42.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: A 32B-class AI-news briefing the maker runs every 2 hours.

briefing-32

A small-model AI-news briefing agent. Submission for the Hugging Face Build Small Hackathon (huggingface.co/build-small-hackathon) in the Backyard AI track.

What it is

This is a deliberate down-port of ai-news-agent, a personal cron that already runs every two hours on the maker's laptop to deliver an AI-news digest to WhatsApp. The production cron uses Groq Llama-3.3-70B for relevance scoring. Build Small forces the same workflow under 32B parameters.

The honest story for the Backyard AI track:

"I have used a personal AI-news briefing every two hours since spring 2026. The original uses a 70B model on a free Groq tier. Build Small asked me to live under 32B, on a laptop. So I split the single 70B scoring pass into two cheaper passes on Qwen3-32B β€” a binary relevance filter, then a graded ranker β€” and the digest quality holds up."

Pipeline

fetch (RSS Β· HN Β· arXiv Β· GitHub)
        β”‚
        β–Ό
pass 1 β€” binary relevance filter on Qwen3-32B
        β”‚
        β–Ό
pass 2 β€” graded 0–10 ranker on Qwen3-32B
        β”‚
        β–Ό
digest renderer on Qwen3-32B

Two small-model calls do the work one big-model call did before.

Sources (no Reddit / Bluesky)

  • RSS / Atom: Anthropic, OpenAI, DeepMind, Google AI, Meta AI, Mistral, xAI, HuggingFace, Latent Space, Import AI, The Rundown AI, Stratechery, Simon Willison, Karpathy, Lilian Weng, Linus Lee, and several more high-signal blogs and newsletters.
  • Hacker News: AI-tagged stories via the Algolia public API.
  • arXiv: newest cs.AI / cs.CL / cs.LG submissions.
  • GitHub: repos with topic:ai created in the last 14 days, sorted by stars.

Reddit and Bluesky public endpoints both 403-block traffic in 2026, so the port drops them. The production cron has the same scars in its logs.

Run locally

pip install -r requirements.txt
HF_TOKEN=hf_xxx python app.py

Then open the Gradio URL it prints. Click Run briefing.

Run as an HF Space

The repo is shaped like a standard Hugging Face Space. The README.md front-matter wires app.py as the entry point and pins the Gradio SDK. After deploy, the Space's "Settings β†’ Variables and secrets" gets one secret: HF_TOKEN (a read-permission token is plenty).

Model

Default model: Qwen/Qwen3-32B (Apache 2.0, 32B dense, native JSON mode), routed through HF Inference Providers.

Alternatives that fit Build Small's ≀32B cap and were considered: Qwen/Qwen3-30B-A3B, deepseek-ai/DeepSeek-R1-Distill-Qwen-32B, mistralai/Mistral-Small-24B-Instruct-2501. Swap in the sidebar.

Targeted bonus quests

The hackathon has six optional bonus quests. This submission targets:

  • Field Notes β€” a write-up about the 70B β†’ 32B down-port and what surprised me (see docs/down-port-notes.md after the build window).
  • Sharing is Caring β€” a captured agent trace published alongside the Space (see docs/sample-trace.md).
  • Off-Brand β€” custom Gradio theme + layout (see app.py).

Optional stretch: Llama Champion (a llama.cpp variant for the same pipeline) + Off the Grid (the llama.cpp variant doubles for that badge).

License

Apache 2.0.

Credit

Built by Mukunda Katta as an independent project for Build Small. The production cron it down-ports is MukundaKatta/ai-news-agent.