agent: add sampling parameters (temperature, top_p, top_k)

Move temperature from a per-call parameter to an Agent field,
add top_p and top_k. All three are sent to the API via a new
SamplingParams struct, displayed on the F5 thalamus screen.

Defaults: temperature=0.6, top_p=0.95, top_k=20 (Qwen3.5 defaults).

Also adds top_p and top_k to ChatRequest so they're sent in the
API payload. Previously only temperature was sent.

UI controls for adjusting these at runtime are not yet implemented.

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
ProofOfConcept 2026-04-04 13:48:24 -04:00 committed by Kent Overstreet
parent 22f955ad9f
commit dd009742ef
7 changed files with 53 additions and 8 deletions

View file

@ -48,6 +48,14 @@ impl App {
}
lines.push(Line::raw(""));
// Sampling parameters
lines.push(Line::styled("── Sampling ──", section));
lines.push(Line::raw(""));
lines.push(Line::raw(format!(" temperature: {:.2}", self.temperature)));
lines.push(Line::raw(format!(" top_p: {:.2}", self.top_p)));
lines.push(Line::raw(format!(" top_k: {}", self.top_k)));
lines.push(Line::raw(""));
// Channel status from cached data
lines.push(Line::styled("── Channels ──", section));
lines.push(Line::raw(""));