+
+ {/* CPU Threads */}
+
+
+ CPU Threads
+ {textSettings.threads || specs?.cpu_cores_physical || 4}
+
+
updateTextSetting("threads", parseInt(e.target.value))}
+ min="1"
+ max="64"
+ step="1"
+ />
+
+ Lower = less oversaturation on GPU mode. Auto-detected: {specs?.cpu_cores_physical || 4} physical cores.
+
+
+
+ {/* Max Tokens */}
+
+
+ Max Tokens
+ {textSettings.maxTokens || 1024}
+
+
updateTextSetting("maxTokens", parseInt(e.target.value))}
+ min="128"
+ max="4096"
+ step="128"
+ />
+
+ Maximum tokens to generate per response.
+
+
+
+ {/* Top P */}
+
+
+ Top P
+ {textSettings.topP || 0.95}
+
+
updateTextSetting("topP", parseFloat(e.target.value))}
+ min="0"
+ max="1"
+ step="0.05"
+ />
+
+
+ {/* Top K */}
+
+
+ Top K
+ {textSettings.topK || 40}
+
+
updateTextSetting("topK", parseInt(e.target.value))}
+ min="1"
+ max="100"
+ step="1"
+ />
+
+
+ {/* Min P */}
+
+
+ Min P
+ {textSettings.minP || 0.05}
+
+
updateTextSetting("minP", parseFloat(e.target.value))}
+ min="0"
+ max="1"
+ step="0.01"
+ />
+
+
+ {/* Repeat Penalty */}
+
+
+ Repeat Penalty
+ {textSettings.repeatPenalty || 1.1}
+
+
updateTextSetting("repeatPenalty", parseFloat(e.target.value))}
+ min="0.5"
+ max="2.0"
+ step="0.05"
+ />
+
+
+ {/* KV Cache Type K */}
+
+
+
+
+
+ {/* KV Cache Type V */}
+
+
+
+
+
+ {/* Flash Attention Toggle */}
+
+
+
+
+ {/* Memory Lock (mlock) Toggle */}
+
+
+
+
+ {/* Memory Map (mmap) Toggle */}
+
+
+
+
+ {/* Seed */}
+
+
+ updateTextSetting("seed", e.target.value ? parseInt(e.target.value) : null)}
+ placeholder="Random"
+ className="m3-input"
+ style={{ marginTop: "6px", height: "40px" }}
+ />
+
+ Set for reproducible outputs. Leave empty for random.
+
+
+
+