Populate model list from models endpoint

e7522bba763f405fa651729e41c42bb4e70b2f07

dylan <dylanbradshaw107@hotmail.com>

2 files changed, +20 -57Showing whitespace changes
public/index.html+3 -57
@@ -3094,66 +3094,12 @@
3094 <div data-for="api_key_nanogpt" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page.">3094 <div data-for="api_key_nanogpt" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you reload the page.">
3095 For privacy reasons, your API key will be hidden after you reload the page.3095 For privacy reasons, your API key will be hidden after you reload the page.
3096 </div>3096 </div>
3097 <div>
3097 <h4 data-i18n="NanoGPT Model">NanoGPT Model</h4>3098 <h4 data-i18n="NanoGPT Model">NanoGPT Model</h4>
3098 <select id="model_nanogpt_select">3099 <select id="model_nanogpt_select">
3099 <option value="chatgpt-4o-latest">ChatGPT 4o</option>3100 <option value="" data-i18n="-- Connect to the API --">-- Connect to the API --</option>
3100 <option value="o1-preview">OpenAI o1</option>
3101 <option value="o1-mini">OpenAI o1-mini</option>
3102 <option value="claude-3-5-sonnet-20241022">Claude 3.5 Sonnet</option>
3103 <option value="claude-3-5-sonnet-20240620">Claude 3.5 Sonnet Old</option>
3104 <option value="google/gemini-pro-1.5">Gemini 1.5 Pro</option>
3105 <option value="google/gemini-pro-1.5-exp">Gemini 1.5 Pro Exp</option>
3106 <option value="Meta-Llama-3-1-405B-Instruct-FP8">Llama 3.1 Large</option>
3107 <option value="nvidia/llama-3.1-nemotron-70b-instruct">Nvidia Nemotron</option>
3108 <option value="nousresearch/hermes-3-llama-3.1-405b">Hermes 3 Large</option>
3109 <option value="meta-llama/llama-3.2-90b-vision-instruct">Llama 3.2 Medium</option>
3110 <option value="x-ai/grok-beta">Grok 2</option>
3111 <option value="neversleep/llama-3.1-lumimaid-70b">Lumimaid v0.2</option>
3112 <option value="inflection/inflection-3-pi">Inflection 3 Pi</option>
3113 <option value="inflection/inflection-3-productivity">Inflection 3 Productivity</option>
3114 <option value="microsoft/wizardlm-2-8x22b">WizardLM-2 8x22B</option>
3115 <option value="accounts/fireworks/models/llama-v3p1-405b-instruct">Llama 3.1 Large</option>
3116 <option value="gpt-4o-2024-08-06">GPT 4o</option>
3117 <option value="accounts/fireworks/models/llama-v3p1-70b-instruct">Llama 3.1 Medium</option>
3118 <option value="llama-3.1-70b-instruct">Llama 3.1 Medium</option>
3119 <option value="llama-3.1-sonar-huge-128k-online">Perplexity Online</option>
3120 <option value="gpt-4o-mini">GPT 4o mini</option>
3121 <option value="meta-llama/llama-3.1-405b-instruct">Llama 3.1 Large</option>
3122 <option value="claude-3-opus-20240229">Claude 3 Opus</option>
3123 <option value="google/gemini-flash-1.5-exp">Gemini 1.5 Flash</option>
3124 <option value="google/gemini-flash-1.5">Gemini 1.5 Flash</option>
3125 <option value="llama-3.1-sonar-large-128k-online">Perplexity Online Medium</option>
3126 <option value="nousresearch/hermes-3-llama-3.1-405b:extended">Hermes 3 Large</option>
3127 <option value="gryphe/mythomax-l2-13b">MythoMax 13B</option>
3128 <option value="deepseek/deepseek-chat">DeepSeek V2.5</option>
3129 <option value="qwen/qwen-2.5-72b-instruct">Qwen2.5 72B</option>
3130 <option value="eva-unit-01/eva-qwen-2.5-14b">EVA Qwen2.5 14B</option>
3131 <option value="cognitivecomputations/dolphin-mixtral-8x7b">Dolphin 2.6 Mixtral 8x7b</option>
3132 <option value="gpt-4-turbo-preview">GPT 4 Turbo</option>
3133 <option value="gpt-4o">GPT 4o</option>
3134 <option value="gpt-3.5-turbo">GPT 3.5 Turbo</option>
3135 <option value="gemini-1.5-flash-001">Gemini 1.5 Flash</option>
3136 <option value="gemini-1.5-pro-001">Gemini 1.5 Pro</option>
3137 <option value="free-model">Playground</option>
3138 <option value="anthracite-org/magnum-v4-72b">Magnum v4 72B</option>
3139 <option value="thedrummer/rocinante-12b">Rocinante 12B</option>
3140 <option value="cognitivecomputations/dolphin-mixtral-8x22b">Dolphin 2.9.2 Mixtral 8x22B</option>
3141 <option value="meta-llama/llama-3.1-70b-instruct">Llama 3.1 70b Instruct</option>
3142 <option value="meta-llama/llama-3.1-8b-instruct">Llama 3.1 8b Instruct</option>
3143 <option value="sao10k/l3-euryale-70b">L3 Euryale 70B</option>
3144 <option value="mistralai/mistral-tiny">Mistral Tiny</option>
3145 <option value="mistralai/mistral-7b-instruct">Mistral 7B Instruct</option>
3146 <option value="meta-llama/llama-3-70b-instruct">Llama 3 70b Instruct</option>
3147 <option value="microsoft/wizardlm-2-7b">WizardLM-2 7B</option>
3148 <option value="cohere/command-r">Cohere: Command R</option>
3149 <option value="nousresearch/hermes-3-llama-3.1-70b">Nous Hermes 3 70B Instruct</option>
3150 <option value="mistralai/mistral-nemo">Mistral Nemo</option>
3151 <option value="meta-llama/llama-3.2-3b-instruct">Llama 3.2 3b Instruct</option>
3152 <option value="neversleep/llama-3-lumimaid-70b">Llama 3 Lumimaid 70B</option>
3153 <option value="anthracite-org/magnum-v2-72b">Magnum v2 72B</option>
3154 <option value="Meta-Llama-3-1-8B-Instruct-FP8">Llama 3.1 8B (decentralized)</option>
3155 </select>3101 </select>
31563102 </div>
3157 </div>3103 </div>
3158 <div id="perplexity_form" data-source="perplexity">3104 <div id="perplexity_form" data-source="perplexity">
3159 <h4 data-i18n="Perplexity API Key">Perplexity API Key</h4>3105 <h4 data-i18n="Perplexity API Key">Perplexity API Key</h4>
public/scripts/openai.js+17 -0
@@ -1641,6 +1641,23 @@ function saveModelList(data) {
1641 }1641 }
1642 }1642 }
1643 }1643 }
1644
1645 if (oai_settings.chat_completion_source == chat_completion_sources.NANOGPT) {
1646 $('#model_nanogpt_select').empty();
1647 model_list.forEach((model) => {
1648 $('#model_nanogpt_select').append(
1649 $('<option>', {
1650 value: model.id,
1651 text: model.id,
1652 }));
1653 });
1654
1655 if (!oai_settings.nanogpt_model && model_list.length > 0) {
1656 oai_settings.nanogpt_model = model_list[0].id;
1657 }
1658
1659 $('#model_nanogpt_select').val(oai_settings.nanogpt_model).trigger('change');
1660 }
1644}1661}
16451662
1646function appendOpenRouterOptions(model_list, groupModels = false, sort = false) {1663function appendOpenRouterOptions(model_list, groupModels = false, sort = false) {