Downloads · 30 days
0
papylove/cumdev-news-anchor
cumdev-news-anchor is a machine learning model from papylove. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as llama3.3.
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…
Downloads · 30 days
0
Access
Public
Updated Sep 19, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.json14 KB · 71%
From the Hugging Face model README
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.
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.
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.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.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.
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).