give gpt_oss_120b the safe (flag-dont-guess) system prompt #18
@@ -42,26 +42,27 @@ const LLAMA_FORMAT_INSTRUCTION: &str = "AUSGABEFORMAT: Antworte ausschließlich
|
||||
/// Default system prompt for the consolidation LLM. Used by all backends
|
||||
/// unless overridden via `with_system_prompt`.
|
||||
///
|
||||
/// Sandbox-validated against case `c414cf52` (3 runs each, fair pipeline
|
||||
/// with pre- and post-LLM gazetteer pass against the current vocab):
|
||||
/// - eliminates two hallucination classes the previous prompt produced —
|
||||
/// unmarked "Hypotonie" when the dictation said "Hypertonie" (0/3 vs 2/3),
|
||||
/// and inventing a unit ("35 ng/l") for a dictated value without unit
|
||||
/// (0/3 vs 2/3)
|
||||
/// - keeps Latin terms intact ("Punctum Maximum", "Apex Cordis", "Axilla"
|
||||
/// in 3/3 vs 2/3)
|
||||
/// - relies on the gazetteer for drug-name correction (Enoxaparin etc.) —
|
||||
/// the prompt no longer needs a separate "AKTIVE KORREKTUR" hammer-block
|
||||
/// because the gazetteer's pre-LLM pass repairs typical typos before the
|
||||
/// LLM ever sees them
|
||||
/// - block layout: AUFGABE / QUELLE / KORREKTUR-POLITIK / TREUE / CHRONOLOGIE
|
||||
/// / DOSIERUNGSSCHEMA / MARKIERUNGEN — each rule appears exactly once
|
||||
/// This is the "flag, don't guess" prompt: the model keeps the dictated
|
||||
/// (ASR) wording verbatim and only wraps uncertain stretches in `==...==`
|
||||
/// for the doctor to check. It must never substitute a term with a guess,
|
||||
/// drop a negation / finding / value, invert meaning, or invent facts —
|
||||
/// term repair is delegated to the gazetteer's pre-LLM pass, so the prompt
|
||||
/// stays purely about clinical fidelity.
|
||||
///
|
||||
/// It replaced an earlier permissive prompt that let the model rewrite
|
||||
/// terms and merely bracket the original — which, when the guess was wrong,
|
||||
/// inverted meanings, deleted negations, or invented drugs/doses. A/B'd in
|
||||
/// the experiments sandbox against 16 real alpha-test cases (full pipeline,
|
||||
/// three runs each, independently judged): it cut the per-run dangerous-error
|
||||
/// rate several-fold and eliminated the occasional empty-output run
|
||||
/// (reasoning length-exhaustion) the old prompt produced. Content-identical
|
||||
/// to [`LLAMA_SYSTEM_PROMPT`].
|
||||
const DEFAULT_SYSTEM_PROMPT: &str = include_str!("../../prompts/default_system_prompt.md");
|
||||
|
||||
/// Llama-specific system prompt. Currently identical to the default; kept
|
||||
/// as a separate file so adjustments for Llama-3.1's behaviour (e.g.
|
||||
/// stricter "do not hallucinate" wording) can be tuned independently of
|
||||
/// gpt-oss without forking the default for everyone.
|
||||
/// Llama system prompt. Content-identical to [`DEFAULT_SYSTEM_PROMPT`] — the
|
||||
/// default was replaced by this same "flag, don't guess" prompt. Kept as a
|
||||
/// separate file so Llama-3.1-specific wording can diverge later without
|
||||
/// forking the default for everyone.
|
||||
const LLAMA_SYSTEM_PROMPT: &str = include_str!("../../prompts/llama_system_prompt.md");
|
||||
|
||||
#[derive(Debug)]
|
||||
|
||||
Reference in New Issue
Block a user