CUMDEV News Anchor

The Threads "news anchor" persona for CUMDEV's trading bots (Kalshi perps, Alpaca stocks/crypto/options). This repo hosts the persona's live configuration -- system prompts, per-task generation settings, a curated few-shot example library, and the base model it wraps -- as persona_config.json. The bots pull this file at runtime (cached, with a safe fallback to a known-good default if the pull fails or is stale), so editing this file changes the bot's voice on Threads without a code redeploy.

What this is (and isn't)

This is a prompt-engineered persona, not a custom-trained model. It wraps an existing, capable instruction-tuned model (meta-llama/Llama-3.3-70B-Instruct, called via HF Inference Providers) with a carefully written system prompt per task, rather than fine-tuning new weights. That's a deliberate choice: a real fine-tune needs a curated training dataset, GPU training infrastructure, and an ongoing paid dedicated inference endpoint to host the resulting checkpoint -- a real recurring cost this project has deliberately deferred. Prompt-engineering a strong base model, backed by a genuinely large curated example library (see below), is the practical way to get most of the quality uplift of a real fine-tune -- consistent voice, format, and tone -- at zero added infrastructure cost.

Two levers, both free on the same router/token

  • A bigger base model. Upgraded from meta-llama/Llama-3.1-8B-Instruct to meta-llama/Llama-3.3-70B-Instruct (v1.2.0) -- confirmed live, side-by-side, to produce noticeably more natural phrasing and to actually honor format constraints (like "no quotes") the smaller model sometimes dropped. Same free HF Inference Providers router, same token, zero added cost.
  • A large few-shot example library. Each task below carries a curated examples array -- real (user, assistant) pairs written to demonstrate the exact voice, covering crypto, stocks, macro, and a range of tones. The calling code samples a fresh handful of these per real call and inserts them as genuine conversation turns between the system prompt and the real request (not text pasted into the system prompt) -- this is what actually teaches the model the pattern to imitate, on top of the written instructions. The library is deliberately larger than any one call needs, so it can keep growing over time (by editing this file) without touching any calling code.

Tasks

persona_config.json defines, per task, a system prompt, max_tokens/ temperature, and an examples library:

  • anchor_rewrite_headline -- rewrites a raw RSS/news headline into a short, punchy "breaking news" anchor line before it's posted (as a generated image card or text fallback). One post is always one story -- see the calling code's own "one post, one story" discipline.
  • anchor_commentary -- genuine analysis/reaction/"take" on a story, distinct from the headline rewrite -- used when the account has already covered a story (so re-posting the same headline would be a duplicate) but there's still something real to say about it, or as an engaging fallback on a slow news day.
  • anchor_draft_reply -- drafts a reply to another Threads post in the same voice, mentioning CUMDEV's own site only when it's actually relevant, never as reflexive self-promotion, always closing with 1-2 real hashtags.

Every task shares the same hard rule: never invent facts, numbers, or details not present in the source material -- only the delivery is restyled/generated, never the substance.

Usage

Consumed by src/data/threads_persona.py in the bettor repo. Not intended to be called directly by third parties, though the config format is simple enough to reuse: fetch persona_config.json, pick a task, sample a few examples pairs, and send the system prompt + sampled examples (as alternating user/assistant turns) + your own final user-turn content to any OpenAI-compatible chat-completions endpoint running the base_model above (or a comparable instruction-tuned model).

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support