Prefill-tekniikka: pakotetaan LLM-vastaus alkamaan suoraan koodilla

Assistantin vastauksen alkuun syötetään valmiiksi backtick-koodiblokki,
jolloin malli jatkaa suoraan koodilla eikä tuota "Sure! Here is..."
-johdantotekstejä. Säästää tokeneita ja vastausaikaa.
strip_markdown_wrapper poistaa ``` -merkit jälkikäteen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jaakko Vanhala
2026-04-05 09:27:28 +03:00
parent b48eeb6f5f
commit 518c6dc5cb
2 changed files with 5 additions and 2 deletions

View File

@@ -254,7 +254,9 @@ pub async fn run_coder_inference(prompt: String, ws: Rc<RefCell<WebSocket>>, use
(prompt.clone(), default_system.to_string(), 128)
};
let formatted = format!("<|im_start|>system\n{}<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n<|im_start|>assistant\n", system_msg, actual_prompt);
// Prefill: aloitetaan vastaus ```-koodiblokkilla, jolloin malli jatkaa suoraan koodilla
// eikä tuota "Sure! Here is..." -johdantoa. strip_markdown_wrapper poistaa ``` jälkikäteen.
let formatted = format!("<|im_start|>system\n{}<|im_end|>\n<|im_start|>user\n{}<|im_end|>\n<|im_start|>assistant\n```\n", system_msg, actual_prompt);
// Inferenssi: käytetään välimuistissa olevaa mallia
let (generated_text, tokens_generated, gen_time) = MODEL_CACHE.with(|cache| {