| |
| import json |
| import random |
| import pathlib |
|
|
| def generate(): |
| out_dir = pathlib.Path("data") |
| out_dir.mkdir(exist_ok=True) |
| |
| titles = [ |
| "Apple releases new MLX framework for Apple Silicon", |
| "How to use Rust in your backend", |
| "An introduction to QLoRA fine-tuning", |
| "Why we migrated from React to Vue", |
| "The future of AI is smaller models", |
| "Python 3.13 released with new features", |
| "Understanding Generalized Knowledge Distillation", |
| "Building a podcast generator with Edge-TTS" |
| ] |
| |
| with open("data/rank_log_filter.jsonl", "w") as f1, open("data/rank_log_score.jsonl", "w") as f2: |
| for i in range(100): |
| title = random.choice(titles) + f" - Part {i}" |
| source = random.choice(["hn", "arxiv", "github", "rss"]) |
| summary = "This is a synthetic summary about " + title |
| |
| is_relevant = any(k in title for k in ["MLX", "QLoRA", "AI", "models", "podcast"]) |
| verdict = "KEEP" if is_relevant else "DROP" |
| |
| if is_relevant: |
| score = random.randint(7, 10) |
| reason = "Highly relevant to our technical podcast about AI and ML on macOS." |
| reasoning = "This article explicitly mentions MLX and Apple Silicon. Since our audience is senior engineers interested in local AI, this is a strong KEEP." |
| else: |
| score = random.randint(1, 4) |
| reason = "Not relevant enough for the podcast theme." |
| reasoning = "This article is about a general topic that doesn't fit our core focus on AI, local models, or macOS development. It lacks deep technical signal." |
| |
| f1.write(json.dumps({ |
| "title": title, |
| "source": source, |
| "summary": summary, |
| "reasoning": reasoning, |
| "verdict": verdict |
| }) + "\n") |
| |
| f2.write(json.dumps({ |
| "title": title, |
| "source": source, |
| "summary": summary, |
| "reasoning": reasoning, |
| "score": score, |
| "reason": reason |
| }) + "\n") |
| |
| print("Generated synthetic data in data/rank_log_filter.jsonl and data/rank_log_score.jsonl") |
|
|
| if __name__ == "__main__": |
| generate() |
|
|