diff --git a/aiserver.py b/aiserver.py index 31c77e5f..bf4eff5a 100644 --- a/aiserver.py +++ b/aiserver.py @@ -2087,12 +2087,21 @@ def load_model(use_gpu=True, gpu_layers=None, disk_layers=None, initial_load=Fal #Let's load the presets with open('settings/preset/official.presets') as f: presets = json.load(f) - if koboldai_vars.model in presets: - koboldai_vars.presets = presets[koboldai_vars.model] - elif koboldai_vars.model.replace("/", "_") in presets: - koboldai_vars.presets = presets[koboldai_vars.model.replace("/", "_")] + to_use = {} + #Check for 6B in title + if '6B' in koboldai_vars.model or '6.7B' in koboldai_vars.model or '1.3B' in koboldai_vars.model: + to_use['Recommended'] = presets['6B'] + for key in presets: + if key != '6B': + to_use[key] = presets[key] + elif '13B' in koboldai_vars.model: + to_use['Recommended'] = presets['13B'] + for key in presets: + if key != '13B': + to_use[key] = presets[key] else: - koboldai_vars.presets = {} + to_use = presets + koboldai_vars.presets = to_use # Set up Flask routes @app.route('/') diff --git a/settings/preset/official.presets b/settings/preset/official.presets index 3e3259de..482ef581 100644 --- a/settings/preset/official.presets +++ b/settings/preset/official.presets @@ -1,95 +1,8 @@ -{"EleutherAI_gpt-neo-1.3B": - { - "Storywriter": { - "temp": 0.72, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 0.725, - "top_k": 0, - "tfs": 1, - "rep_pen_slope": 2048, - "rep_pen_range": 0.18, - "typical": 1, - "top_a": 0, - "description": "Optimized settings for relevant output." - }, - "Coherent Creativity": { - "temp": 0.51, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 1, - "top_k": 0, - "tfs": 0.9, - "rep_pen_slope": 2048, - "rep_pen_range": 0, - "typical": 1, - "top_a": 0, - "description": "A good balance between coherence, creativity, and quality of prose." - }, - "Luna Moth": { - "temp": 2, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 0.235, - "top_k": 85, - "tfs": 1, - "rep_pen_slope": 2048, - "rep_pen_range": 0, - "typical": 1, - "top_a": 0, - "description": "A great degree of creativity without losing coherency." - }, - "Sphinx Moth": { - "temp": 2, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 0.175, - "top_k": 30, - "tfs": 1, - "rep_pen_slope": 2048, - "rep_pen_range": 0, - "typical": 1, - "top_a": 0, - "description": "Maximum randomness while still being plot relevant. Like Sphinx riddles!" - }, - "Emperor Moth": { - "temp": 1.25, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 0.235, - "top_k": 0, - "tfs": 1, - "rep_pen_slope": 2048, - "rep_pen_range": 0, - "typical": 1, - "top_a": 0, - "description": "Medium randomness with a decent bit of creative writing." - }, - "Best Guess": { - "temp": 0.8, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 0.9, - "top_k": 100, - "tfs": 1, - "rep_pen_slope": 512, - "rep_pen_range": 3.33, - "typical": 1, - "top_a": 0, - "description": "A subtle change with alternative context settings." - }, - "Pleasing Results": { - "temp": 0.44, - "genamt": 40, - "rep_pen": 1.2, - "top_p": 1, - "top_k": 0, - "tfs": 0.9, - "rep_pen_slope": 1024, - "rep_pen_range": 6.75, - "typical": 1, - "top_a": 0, - "description": "Expectable output with alternative context settings." - } - } +{ +"6B": + {"Best Guess":{"description":"\nA subtle change with alternative context settings.","genamt":40,"rep_pen":"1.2","rep_pen_range":512,"rep_pen_slope":"3.33","sampler_order":["5","0","2","3","1","4"],"temp":"0.8","tfs":1,"top_a":0,"top_k":"100","top_p":"0.9","typical":1},"Coherent Creativity":{"description":"A good balance between coherence, creativity, and quality of prose.","genamt":40,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":"0.51","tfs":"0.9","top_a":0,"top_k":0,"top_p":1,"typical":1},"Emperor Moth":{"description":"\nMedium randomness with a decent bit of creative writing.","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":"1.25","tfs":1,"top_a":0,"top_k":0,"top_p":"0.235","typical":1},"Luna Moth":{"description":"\nA great degree of creativity without losing coherency.","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":2,"tfs":1,"top_a":0,"top_k":85,"top_p":"0.235","typical":1},"Pleasing Results":{"description":"Expectable output with alternative context settings.","genamt":40,"rep_pen":"1.2","rep_pen_range":1024,"rep_pen_slope":"6.75","sampler_order":["5","0","2","3","1","4"],"temp":"0.44","tfs":"0.9","top_a":0,"top_k":0,"top_p":1,"typical":1},"Sphinx Moth":{"description":"Maximum randomness while still being plot relevant. Like Sphinx riddles!","genamt":40,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":"2","tfs":1,"top_a":0,"top_k":30,"top_p":"0.175","typical":1},"Storywriter":{"description":"Optimized settings for relevant output.","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":"0.18","sampler_order":["5","0","2","3","1","4"],"temp":"0.72","tfs":1,"top_a":0,"top_k":0,"top_p":"0.725","typical":1}}, +"13B": + {"Ace of Spades":{"description":"Expressive, while still staying focused.","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":7,"sampler_order":["3","2","0","5","1","4"],"temp":"1.15","tfs":"0.8","top_a":0,"top_k":0,"top_p":"0.95","typical":1},"All-Nighter":{"description":"Creative diction with room for embellishments.","genamt":40,"rep_pen":"1.1","rep_pen_range":400,"rep_pen_slope":"0.33","sampler_order":["2","0","5","3","1","4"],"temp":"1.33","tfs":"0.83","top_a":0,"top_k":13,"top_p":1,"typical":1},"Basic Coherence":{"description":"Keep things on track.","genamt":40,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":"0.33","sampler_order":["5","0","2","3","1","4"],"temp":"0.58","tfs":"0.87","top_a":0,"top_k":0,"top_p":1,"typical":1},"Fandango":{"description":"A rhytmic dance of prose, whoever takes the lead.","genamt":40,"rep_pen":"1.1","rep_pen_range":2048,"rep_pen_slope":"0.09","sampler_order":["2","0","3","5","1","4"],"temp":"0.86","tfs":1,"top_a":0,"top_k":20,"top_p":"0.95","typical":1},"Genesis":{"description":"Stable and logical, but with scattered creativity.","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":"0.09","sampler_order":["2","0","3","5","1","4"],"temp":"0.63","tfs":"0.975","top_a":0,"top_k":0,"top_p":"0.975","typical":1},"Low Rider":{"description":"\nReliable, aimed at story development.","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":"0.18","sampler_order":["2","0","3","5","1","4"],"temp":"0.94","tfs":"0.94","top_a":0,"top_k":12,"top_p":1,"typical":1},"Moonlit Chronicler":{"description":"Tells a tale with confidence, but variety where it matters.","genamt":40,"rep_pen":"1.1","rep_pen_range":0,"rep_pen_slope":0,"sampler_order":["0","4","1","3","5","2"],"temp":"1.25","tfs":"0.8","top_a":"0.78","top_k":"100","top_p":1,"typical":"0.95"},"Morpho":{"description":"Let the AI generate without constraints.","genamt":40,"rep_pen":1,"rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":"0.68","tfs":1,"top_a":0,"top_k":0,"top_p":1,"typical":1},"Ouroboros":{"description":"Versatile, conforms well to poems, lists, chat, etc.","genamt":40,"rep_pen":"1.1","rep_pen_range":404,"rep_pen_slope":"0.84","sampler_order":["0","5","3","2","1","4"],"temp":"1.07","tfs":"0.925","top_a":0,"top_k":"100","top_p":1,"typical":1},"Pro Writer":{"description":"Optimal setting for readability, based on AI-powered mass statistical analysis of Euterpe output.","genamt":40,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":"0.09","sampler_order":["3","2","5","0","1","4"],"temp":"1.34","tfs":"0.68","top_a":0,"top_k":0,"top_p":1,"typical":1}}, +"Custom": + {"Aces High":{"nan":"20B","genamt":50,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":"0.2","sampler_order":["2","4","5","3","1","0"],"temp":"0.7","tfs":"0.975","top_a":"0.05","top_k":10,"top_p":"0.975","typical":"0.985"},"Co-Writer":{"nan":"13B","genamt":150,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":"0.27","sampler_order":["2","0","3","5","1","4"],"temp":"0.55","tfs":"0.7","top_a":0,"top_k":14,"top_p":"0.9","typical":1},"Damn Decent":{"nan":"13B","genamt":60,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":"0.1","sampler_order":["1","0","2","4","3","5"],"temp":"1.1","tfs":"0.9","top_a":"0.35","top_k":0,"top_p":1,"typical":"0.9"},"Deez Nuts":{"nan":"20B","genamt":40,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["3","0","5","4","2","1"],"temp":2,"tfs":"0.987","top_a":0,"top_k":"100","top_p":1,"typical":"0.97"},"Emerald":{"nan":"13B","genamt":150,"rep_pen":"1","rep_pen_range":1024,"rep_pen_slope":"0.768","sampler_order":["4","3","2","0","1","5"],"temp":"1.2","tfs":"0.96","top_a":"0.01","top_k":43,"top_p":"0.94","typical":"0.98"},"Fever Dreams":{"nan":"13B","genamt":75,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":"0.99","tfs":1,"top_a":0,"top_k":0,"top_p":1,"typical":1},"Gojira":{"nan":"13B","genamt":25,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["3","5","0","2","1","4"],"temp":"1.22","tfs":"0.99","top_a":0,"top_k":"100","top_p":1,"typical":1},"Lycaenidae":{"nan":"13B","genamt":25,"rep_pen":"1.2","rep_pen_range":256,"rep_pen_slope":0,"sampler_order":["3","5","2","0","1","4"],"temp":"2","tfs":"0.99","top_a":0,"top_k":12,"top_p":"0.85","typical":1},"Monarch":{"nan":"13B","genamt":50,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["2","0","1","3","4","5"],"temp":"2","tfs":"0.977","top_a":0,"top_k":"100","top_p":"0.925","typical":"0.9"},"Monkey Business":{"nan":"6B\/13B","genamt":36,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":"0.18","sampler_order":["0","2","3","5","1","4\/5","0","2","3","1","4"],"temp":"1.2","tfs":"0.97","top_a":0,"top_k":"100","top_p":1,"typical":1},"Mothra":{"nan":"6B\/13B","genamt":40,"rep_pen":"1.1\/1.15","rep_pen_range":512,"rep_pen_slope":0,"sampler_order":["0","3","5","2","1","4"],"temp":"1.25","tfs":"0.9\/0.792","top_a":0,"top_k":"100","top_p":1,"typical":1},"Necro-Skullfucker":{"nan":"20B","genamt":150,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":"9.99","sampler_order":["0","3","1","4","2","5"],"temp":"2","tfs":1,"top_a":0,"top_k":"100","top_p":1,"typical":1},"Nymphalidae":{"nan":"13B","genamt":25,"rep_pen":"1","rep_pen_range":2048,"rep_pen_slope":0,"sampler_order":["5","0","2","3","1","4"],"temp":"1.17","tfs":1,"top_a":0,"top_k":0,"top_p":1,"typical":1},"Red Viper":{"nan":"20B","genamt":65,"rep_pen":"1","rep_pen_range":496,"rep_pen_slope":"0.72","sampler_order":["4","5","3","2","1","0"],"temp":1,"tfs":"0.972","top_a":"0.06","top_k":0,"top_p":"0.975","typical":"0.966"},"Swansong":{"nan":"13B","genamt":150,"rep_pen":"1","rep_pen_range":0,"rep_pen_slope":0,"sampler_order":["4","3","5","1","2","0"],"temp":2,"tfs":"0.95","top_a":"0.05","top_k":"100","top_p":1,"typical":"0.95"},"Top Gun":{"nan":"20B","genamt":40,"rep_pen":"1","rep_pen_range":880,"rep_pen_slope":"0.2","sampler_order":["2","4","5","3","1","0"],"temp":"0.58","tfs":"0.919","top_a":"0.1","top_k":10,"top_p":"0.675","typical":"0.985"},"Trust":{"nan":"13B","genamt":40,"rep_pen":"1.15","rep_pen_range":2048,"rep_pen_slope":"9.99","sampler_order":["3","0","5","2","1","4"],"temp":"0.65","tfs":"0.85","top_a":0,"top_k":0,"top_p":"0.975","typical":1},"Weaver":{"nan":"13B","genamt":150,"rep_pen":"1.2","rep_pen_range":2048,"rep_pen_slope":"0.54","sampler_order":["2","0","3","5","1","4"],"temp":1,"tfs":"0.875","top_a":0,"top_k":12,"top_p":"0.825","typical":1}} } \ No newline at end of file diff --git a/static/koboldai.js b/static/koboldai.js index b8add409..9301fb81 100644 --- a/static/koboldai.js +++ b/static/koboldai.js @@ -191,20 +191,32 @@ function do_presets(data) { option.value=""; option.text="presets"; select.append(option); + presets = data.value; for (const [key, value] of Object.entries(data.value)) { - presets[key] = value; - var option = document.createElement("option"); - option.value=key; - option.text=key; - select.append(option); + var option_group = document.createElement("optgroup"); + option_group.label = key; + for (const [preset, preset_value] of Object.entries(value)) { + var option = document.createElement("option"); + option.value=key+"|"+preset; + option.text=preset; + option.title = preset_value.description; + option_group.append(option); + } + select.append(option_group); } } function selected_preset(data) { - if ((data.value == undefined) || (presets[data.value] == undefined)) { + + preset_key = data.value.split("|")[0]; + preset = data.value.split("|")[1]; + if ((data.value == undefined) || (presets[preset_key] == undefined)) { return; } - for (const [key, value] of Object.entries(presets[data.value])) { + if (presets[preset_key][preset] == undefined) { + return; + } + for (const [key, value] of Object.entries(presets[preset_key][preset])) { if (key.charAt(0) != '_') { var elements_to_change = document.getElementsByClassName("var_sync_model_"+key); for (item of elements_to_change) { @@ -216,6 +228,7 @@ function selected_preset(data) { } } } + socket.emit("var_change", {"ID": "model_selected_preset", "value": data.value}); } function update_status_bar(data) { diff --git a/templates/settings flyout.html b/templates/settings flyout.html index c150d122..b327dfc1 100644 --- a/templates/settings flyout.html +++ b/templates/settings flyout.html @@ -37,7 +37,7 @@
Running Model: ReadOnly - +