Deprecate 01.ai chat completion source (#4327)
Signed| @@ -691,7 +691,7 @@ | ||
| 691 | 691 | </span> |
| 692 | 692 | </div> |
| 693 | 693 | </div> |
| 694 | 694 | <div class="range-block" data-source="openai,claude,aimlapi,openrouter,ai21,makersuite,vertexai,mistralai,custom,cohere,perplexity,groq,01ai,nanogpt,deepseek,xai,pollinations"> |
| 695 | 695 | <div class="range-block-title" data-i18n="Temperature"> |
| 696 | 696 | Temperature |
| 697 | 697 | </div> |
| @@ -743,7 +743,7 @@ | ||
| 743 | 743 | </div> |
| 744 | 744 | </div> |
| 745 | 745 | </div> |
| 746 | 746 | <div class="range-block" data-source="openai,claude,aimlapi,openrouter,ai21,makersuite,vertexai,mistralai,custom,cohere,perplexity,groq,01ai,nanogpt,deepseek,xai,pollinations"> |
| 747 | 747 | <div class="range-block-title" data-i18n="Top P"> |
| 748 | 748 | Top P |
| 749 | 749 | </div> |
| @@ -1995,7 +1995,7 @@ | ||
| 1995 | 1995 | <strong data-i18n="enable_functions_desc_4">Not supported when Prompt Post-Processing with "no tools" is used!</strong> |
| 1996 | 1996 | </div> |
| 1997 | 1997 | </div> |
| 1998 | 1998 | <div class="range-block" data-source="openai,aimlapi,openrouter,mistralai,makersuite,vertexai,claude,custom,01ai,xai,pollinations"> |
| 1999 | 1999 | <label for="openai_image_inlining" class="checkbox_label flexWrap widthFreeExpand"> |
| 2000 | 2000 | <input id="openai_image_inlining" type="checkbox" /> |
| 2001 | 2001 | <span data-i18n="Send inline images">Send inline images</span> |
| @@ -2788,7 +2788,6 @@ | ||
| 2788 | 2788 | <option value="custom" data-i18n="Custom (OpenAI-compatible)">Custom (OpenAI-compatible)</option> |
| 2789 | 2789 | </optgroup> |
| 2790 | 2790 | <optgroup> |
| 2791 | - <option value="01ai">01.AI (Yi)</option> | |
| 2792 | 2791 | <option value="ai21">AI21</option> |
| 2793 | 2792 | <option value="aimlapi">AI/ML API</option> |
| 2794 | 2793 | <option value="claude">Claude</option> |
| @@ -3572,23 +3571,6 @@ | ||
| 3572 | 3571 | <select id="model_custom_select" class="text_pole model_custom_select"></select> |
| 3573 | 3572 | </div> |
| 3574 | 3573 | </form> |
| 3575 | - <div id="01ai_form" data-source="01ai"> | |
| 3576 | - <h4> | |
| 3577 | - <a data-i18n="01.AI API Key" href="https://platform.lingyiwanwu.com/" target="_blank" rel="noopener noreferrer"> | |
| 3578 | - 01.AI API Key | |
| 3579 | - </a> | |
| 3580 | - </h4> | |
| 3581 | - <div class="flex-container"> | |
| 3582 | - <input id="api_key_01ai" name="api_key_01ai" class="text_pole flex1" value="" type="text" autocomplete="off"> | |
| 3583 | - <div title="Manage API keys" data-i18n="[title]Manage API keys" class="menu_button fa-solid fa-key fa-fw manage-api-keys" data-key="api_key_01ai"></div> | |
| 3584 | - </div> | |
| 3585 | - <div data-for="api_key_01ai" class="neutral_warning" data-i18n="For privacy reasons, your API key will be hidden after you click 'Connect'."> | |
| 3586 | - For privacy reasons, your API key will be hidden after you click 'Connect'. | |
| 3587 | - </div> | |
| 3588 | - <h4 data-i18n="01.AI Model">01.AI Model</h4> | |
| 3589 | - <select id="model_01ai_select"> | |
| 3590 | - </select> | |
| 3591 | - </div> | |
| 3592 | 3574 | <div id="xai_form" data-source="xai"> |
| 3593 | 3575 | <h4> |
| 3594 | 3576 | <a data-i18n="xAI API Key" href="https://console.x.ai/" target="_blank" rel="noopener noreferrer"> |
| @@ -1426,8 +1426,6 @@ | ||
| 1426 | 1426 | "prompt_post_processing_merge": "Fusionner les rôles consécutifs", |
| 1427 | 1427 | "prompt_post_processing_semi": "Semi-strict (rôles alternés)", |
| 1428 | 1428 | "prompt_post_processing_strict": "Strict (l'utilisateur d'abord, rôles alternés)", |
| 1429 | - "01.AI API Key": "01.Clé IA API", | |
| 1430 | - "01.AI Model": "01.Modèle IA", | |
| 1431 | 1429 | "Additional Parameters": "Paramètres supplémentaires", |
| 1432 | 1430 | "Import Advanced Formatting settings": "Importer les paramètres de formatage avancé\n\nVous pouvez également fournir des fichiers hérités pour les modèles Instruct et Context..", |
| 1433 | 1431 | "Master Import": "Master Import", |
| @@ -1619,8 +1619,6 @@ | ||
| 1619 | 1619 | "Do not proceed if you do not agree to this!": "Не продолжайте, если не согласны с этими условиями!", |
| 1620 | 1620 | "Relative (to other prompts in prompt manager) or In-chat @ Depth.": "Относительно других промтов в менеджере, либо на опред. глубину в чате.", |
| 1621 | 1621 | "prompt_manager_in_chat": "На глубине в чате", |
| 1622 | - "01.AI API Key": "Ключ от API 01.AI", | |
| 1623 | - "01.AI Model": "Модель 01.AI", | |
| 1624 | 1622 | "Load a custom asset list or select": "Загрузите набор внешних ресурсов или выберите", |
| 1625 | 1623 | "Install Extension": "Установить расширение", |
| 1626 | 1624 | "to install 3rd party extensions.": ", чтобы установить стороннее расширение.", |
| @@ -460,8 +460,6 @@ | ||
| 460 | 460 | "prompt_post_processing_merge": "合并相同角色连续的发言", |
| 461 | 461 | "prompt_post_processing_semi": "半严格(强制对话角色交替)", |
| 462 | 462 | "prompt_post_processing_strict": "严格(强制对话角色交替、用户最先)", |
| 463 | - "01.AI API Key": "01.AI API密钥", | |
| 464 | - "01.AI Model": "01.AI 模型", | |
| 465 | 463 | "Additional Parameters": "附加参数", |
| 466 | 464 | "Verifies your API connection by sending a short test message. Be aware that you'll be credited for it!": "通过发送简短的测试消息验证您的API连接。请注意,您将因此消耗额度!", |
| 467 | 465 | "Test Message": "发送测试消息", |
| @@ -1547,8 +1547,6 @@ | ||
| 1547 | 1547 | "Width of a node, in pixels at zoom level 1.0.": "縮放等級為 1.0 時,節點的像素寬度。", |
| 1548 | 1548 | "world_button_title": "角色背景設定\n「Shift+點選」可開啟「連結至世界資訊」彈窗", |
| 1549 | 1549 | "# of Beams": "# of Beams", |
| 1550 | - "01.AI API Key": "01.AI API 金鑰", | |
| 1551 | - "01.AI Model": "01.AI 模型", | |
| 1552 | 1550 | "Additional Parameters": "其他參數", |
| 1553 | 1551 | "All": "全部", |
| 1554 | 1552 | "Allow fallback models": "允許回退模型", |
| @@ -406,7 +406,6 @@ function RA_autoconnect(PrevApi) { | ||
| 406 | 406 | || (secret_state[SECRET_KEYS.COHERE] && oai_settings.chat_completion_source == chat_completion_sources.COHERE) |
| 407 | 407 | || (secret_state[SECRET_KEYS.PERPLEXITY] && oai_settings.chat_completion_source == chat_completion_sources.PERPLEXITY) |
| 408 | 408 | || (secret_state[SECRET_KEYS.GROQ] && oai_settings.chat_completion_source == chat_completion_sources.GROQ) |
| 409 | - || (secret_state[SECRET_KEYS.ZEROONEAI] && oai_settings.chat_completion_source == chat_completion_sources.ZEROONEAI) | |
| 410 | 409 | || (secret_state[SECRET_KEYS.NANOGPT] && oai_settings.chat_completion_source == chat_completion_sources.NANOGPT) |
| 411 | 410 | || (secret_state[SECRET_KEYS.DEEPSEEK] && oai_settings.chat_completion_source == chat_completion_sources.DEEPSEEK) |
| 412 | 411 | || (secret_state[SECRET_KEYS.XAI] && oai_settings.chat_completion_source == chat_completion_sources.XAI) |
| @@ -435,7 +435,6 @@ jQuery(async function () { | ||
| 435 | 435 | |
| 436 | 436 | const chatCompletionApis = { |
| 437 | 437 | 'openrouter': SECRET_KEYS.OPENROUTER, |
| 438 | - 'zerooneai': SECRET_KEYS.ZEROONEAI, | |
| 439 | 438 | 'groq': SECRET_KEYS.GROQ, |
| 440 | 439 | 'cohere': SECRET_KEYS.COHERE, |
| 441 | 440 | 'aimlapi': SECRET_KEYS.AIMLAPI, |
| @@ -17,7 +17,6 @@ | ||
| 17 | 17 | <div class="flex1 flex-container flexFlowColumn flexNoGap"> |
| 18 | 18 | <label for="caption_multimodal_api" data-i18n="API">API</label> |
| 19 | 19 | <select id="caption_multimodal_api" class="flex1 text_pole"> |
| 20 | - <option value="zerooneai">01.AI (Yi)</option> | |
| 21 | 20 | <option value="aimlapi">AI/ML API</option> |
| 22 | 21 | <option value="anthropic">Anthropic</option> |
| 23 | 22 | <option value="cohere">Cohere</option> |
| @@ -52,7 +51,6 @@ | ||
| 52 | 51 | <option data-type="mistral" value="mistral-small-latest">mistral-small-latest</option> |
| 53 | 52 | <option data-type="mistral" value="mistral-medium-latest">mistral-medium-latest</option> |
| 54 | 53 | <option data-type="mistral" value="mistral-medium-2505">mistral-medium-2505</option> |
| 55 | - <option data-type="zerooneai" value="yi-vision">yi-vision</option> | |
| 56 | 54 | <option data-type="openai" value="gpt-4.1">gpt-4.1</option> |
| 57 | 55 | <option data-type="openai" value="gpt-4.1-2025-04-14">gpt-4.1-2025-04-14</option> |
| 58 | 56 | <option data-type="openai" value="gpt-4.1-mini">gpt-4.1-mini</option> |
| @@ -163,10 +163,6 @@ function throwIfInvalidModel(useReverseProxy) { | ||
| 163 | 163 | throw new Error('Anthropic (Claude) API key is not set.'); |
| 164 | 164 | } |
| 165 | 165 | |
| 166 | - if (multimodalApi === 'zerooneai' && !secret_state[SECRET_KEYS.ZEROONEAI]) { | |
| 167 | - throw new Error('01.AI API key is not set.'); | |
| 168 | - } | |
| 169 | - | |
| 170 | 166 | if (multimodalApi === 'groq' && !secret_state[SECRET_KEYS.GROQ]) { |
| 171 | 167 | throw new Error('Groq API key is not set.'); |
| 172 | 168 | } |
| @@ -178,7 +178,6 @@ export const chat_completion_sources = { | ||
| 178 | 178 | COHERE: 'cohere', |
| 179 | 179 | PERPLEXITY: 'perplexity', |
| 180 | 180 | GROQ: 'groq', |
| 181 | - ZEROONEAI: '01ai', | |
| 182 | 181 | NANOGPT: 'nanogpt', |
| 183 | 182 | DEEPSEEK: 'deepseek', |
| 184 | 183 | AIMLAPI: 'aimlapi', |
| @@ -271,7 +270,6 @@ export const settingsToUpdate = { | ||
| 271 | 270 | nanogpt_model: ['#model_nanogpt_select', 'nanogpt_model', false, true], |
| 272 | 271 | deepseek_model: ['#model_deepseek_select', 'deepseek_model', false, true], |
| 273 | 272 | aimlapi_model: ['#model_aimlapi_select', 'aimlapi_model', false, true], |
| 274 | - zerooneai_model: ['#model_01ai_select', 'zerooneai_model', false, true], | |
| 275 | 273 | xai_model: ['#model_xai_select', 'xai_model', false, true], |
| 276 | 274 | pollinations_model: ['#model_pollinations_select', 'pollinations_model', false, true], |
| 277 | 275 | custom_model: ['#custom_model_id', 'custom_model', false, true], |
| @@ -365,7 +363,6 @@ const default_settings = { | ||
| 365 | 363 | perplexity_model: 'sonar-pro', |
| 366 | 364 | groq_model: 'llama-3.3-70b-versatile', |
| 367 | 365 | nanogpt_model: 'gpt-4o-mini', |
| 368 | - zerooneai_model: 'yi-large', | |
| 369 | 366 | deepseek_model: 'deepseek-chat', |
| 370 | 367 | aimlapi_model: 'gpt-4o-mini-2024-07-18', |
| 371 | 368 | xai_model: 'grok-3-beta', |
| @@ -452,7 +449,6 @@ const oai_settings = { | ||
| 452 | 449 | perplexity_model: 'sonar-pro', |
| 453 | 450 | groq_model: 'llama-3.1-70b-versatile', |
| 454 | 451 | nanogpt_model: 'gpt-4o-mini', |
| 455 | - zerooneai_model: 'yi-large', | |
| 456 | 452 | deepseek_model: 'deepseek-chat', |
| 457 | 453 | aimlapi_model: 'gpt-4-turbo', |
| 458 | 454 | xai_model: 'grok-3-beta', |
| @@ -1607,8 +1603,6 @@ export function getChatCompletionModel(source = null) { | ||
| 1607 | 1603 | return oai_settings.perplexity_model; |
| 1608 | 1604 | case chat_completion_sources.GROQ: |
| 1609 | 1605 | return oai_settings.groq_model; |
| 1610 | - case chat_completion_sources.ZEROONEAI: | |
| 1611 | - return oai_settings.zerooneai_model; | |
| 1612 | 1606 | case chat_completion_sources.NANOGPT: |
| 1613 | 1607 | return oai_settings.nanogpt_model; |
| 1614 | 1608 | case chat_completion_sources.DEEPSEEK: |
| @@ -1722,23 +1716,6 @@ function saveModelList(data) { | ||
| 1722 | 1716 | } |
| 1723 | 1717 | } |
| 1724 | 1718 | |
| 1725 | - if (oai_settings.chat_completion_source == chat_completion_sources.ZEROONEAI) { | |
| 1726 | - $('#model_01ai_select').empty(); | |
| 1727 | - model_list.forEach((model) => { | |
| 1728 | - $('#model_01ai_select').append( | |
| 1729 | - $('<option>', { | |
| 1730 | - value: model.id, | |
| 1731 | - text: model.id, | |
| 1732 | - })); | |
| 1733 | - }); | |
| 1734 | - | |
| 1735 | - if (!oai_settings.zerooneai_model && model_list.length > 0) { | |
| 1736 | - oai_settings.zerooneai_model = model_list[0].id; | |
| 1737 | - } | |
| 1738 | - | |
| 1739 | - $('#model_01ai_select').val(oai_settings.zerooneai_model).trigger('change'); | |
| 1740 | - } | |
| 1741 | - | |
| 1742 | 1719 | if (oai_settings.chat_completion_source == chat_completion_sources.AIMLAPI) { |
| 1743 | 1720 | $('#model_aimlapi_select').empty(); |
| 1744 | 1721 | const chatModels = model_list.filter(m => m.type === 'chat-completion'); |
| @@ -2057,7 +2034,6 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } = | ||
| 2057 | 2034 | const isCohere = oai_settings.chat_completion_source == chat_completion_sources.COHERE; |
| 2058 | 2035 | const isPerplexity = oai_settings.chat_completion_source == chat_completion_sources.PERPLEXITY; |
| 2059 | 2036 | const isGroq = oai_settings.chat_completion_source == chat_completion_sources.GROQ; |
| 2060 | - const is01AI = oai_settings.chat_completion_source == chat_completion_sources.ZEROONEAI; | |
| 2061 | 2037 | const isDeepSeek = oai_settings.chat_completion_source == chat_completion_sources.DEEPSEEK; |
| 2062 | 2038 | const isAimlapi = oai_settings.chat_completion_source == chat_completion_sources.AIMLAPI; |
| 2063 | 2039 | const isXAI = oai_settings.chat_completion_source == chat_completion_sources.XAI; |
| @@ -2215,17 +2191,6 @@ async function sendOpenAIRequest(type, messages, signal, { jsonSchema = null } = | ||
| 2215 | 2191 | delete generate_data.n; |
| 2216 | 2192 | } |
| 2217 | 2193 | |
| 2218 | - // https://platform.01.ai/docs#request-body | |
| 2219 | - if (is01AI) { | |
| 2220 | - delete generate_data.logprobs; | |
| 2221 | - delete generate_data.logit_bias; | |
| 2222 | - delete generate_data.top_logprobs; | |
| 2223 | - delete generate_data.n; | |
| 2224 | - delete generate_data.frequency_penalty; | |
| 2225 | - delete generate_data.presence_penalty; | |
| 2226 | - delete generate_data.stop; | |
| 2227 | - } | |
| 2228 | - | |
| 2229 | 2194 | // https://api-docs.deepseek.com/api/create-chat-completion |
| 2230 | 2195 | if (isDeepSeek) { |
| 2231 | 2196 | generate_data.top_p = generate_data.top_p || Number.EPSILON; |
| @@ -3378,7 +3343,6 @@ function loadOpenAISettings(data, settings) { | ||
| 3378 | 3343 | oai_settings.nanogpt_model = settings.nanogpt_model ?? default_settings.nanogpt_model; |
| 3379 | 3344 | oai_settings.deepseek_model = settings.deepseek_model ?? default_settings.deepseek_model; |
| 3380 | 3345 | oai_settings.aimlapi_model = settings.aimlapi_model ?? default_settings.aimlapi_model; |
| 3381 | - oai_settings.zerooneai_model = settings.zerooneai_model ?? default_settings.zerooneai_model; | |
| 3382 | 3346 | oai_settings.xai_model = settings.xai_model ?? default_settings.xai_model; |
| 3383 | 3347 | oai_settings.pollinations_model = settings.pollinations_model ?? default_settings.pollinations_model; |
| 3384 | 3348 | oai_settings.custom_model = settings.custom_model ?? default_settings.custom_model; |
| @@ -3472,7 +3436,6 @@ function loadOpenAISettings(data, settings) { | ||
| 3472 | 3436 | $(`#model_nanogpt_select option[value="${oai_settings.nanogpt_model}"`).prop('selected', true); |
| 3473 | 3437 | $('#model_deepseek_select').val(oai_settings.deepseek_model); |
| 3474 | 3438 | $(`#model_deepseek_select option[value="${oai_settings.deepseek_model}"`).prop('selected', true); |
| 3475 | - $('#model_01ai_select').val(oai_settings.zerooneai_model); | |
| 3476 | 3439 | $('#model_aimlapi_select').val(oai_settings.aimlapi_model); |
| 3477 | 3440 | $(`#model_aimlapi_select option[value="${oai_settings.aimlapi_model}"`).prop('selected', true); |
| 3478 | 3441 | $('#model_xai_select').val(oai_settings.xai_model); |
| @@ -3748,7 +3711,6 @@ async function saveOpenAIPreset(name, settings, triggerUi = true) { | ||
| 3748 | 3711 | cohere_model: settings.cohere_model, |
| 3749 | 3712 | perplexity_model: settings.perplexity_model, |
| 3750 | 3713 | groq_model: settings.groq_model, |
| 3751 | - zerooneai_model: settings.zerooneai_model, | |
| 3752 | 3714 | xai_model: settings.xai_model, |
| 3753 | 3715 | pollinations_model: settings.pollinations_model, |
| 3754 | 3716 | aimlapi_model: settings.aimlapi_model, |
| @@ -4572,11 +4534,6 @@ async function onModelChange() { | ||
| 4572 | 4534 | oai_settings.deepseek_model = value; |
| 4573 | 4535 | } |
| 4574 | 4536 | |
| 4575 | - if (value && $(this).is('#model_01ai_select')) { | |
| 4576 | - console.log('01.AI model changed to', value); | |
| 4577 | - oai_settings.zerooneai_model = value; | |
| 4578 | - } | |
| 4579 | - | |
| 4580 | 4537 | if (value && $(this).is('#model_custom_select')) { |
| 4581 | 4538 | console.log('Custom model changed to', value); |
| 4582 | 4539 | oai_settings.custom_model = value; |
| @@ -4773,30 +4730,6 @@ async function onModelChange() { | ||
| 4773 | 4730 | $('#temp_openai').attr('max', oai_max_temp).val(oai_settings.temp_openai).trigger('input'); |
| 4774 | 4731 | } |
| 4775 | 4732 | |
| 4776 | - if (oai_settings.chat_completion_source === chat_completion_sources.ZEROONEAI) { | |
| 4777 | - if (oai_settings.max_context_unlocked) { | |
| 4778 | - $('#openai_max_context').attr('max', unlocked_max); | |
| 4779 | - } | |
| 4780 | - else if (['yi-large'].includes(oai_settings.zerooneai_model)) { | |
| 4781 | - $('#openai_max_context').attr('max', max_32k); | |
| 4782 | - } | |
| 4783 | - else if (['yi-vision'].includes(oai_settings.zerooneai_model)) { | |
| 4784 | - $('#openai_max_context').attr('max', max_16k); | |
| 4785 | - } | |
| 4786 | - else if (['yi-large-turbo'].includes(oai_settings.zerooneai_model)) { | |
| 4787 | - $('#openai_max_context').attr('max', max_4k); | |
| 4788 | - } | |
| 4789 | - else { | |
| 4790 | - $('#openai_max_context').attr('max', max_16k); | |
| 4791 | - } | |
| 4792 | - | |
| 4793 | - oai_settings.openai_max_context = Math.min(oai_settings.openai_max_context, Number($('#openai_max_context').attr('max'))); | |
| 4794 | - $('#openai_max_context').val(oai_settings.openai_max_context).trigger('input'); | |
| 4795 | - | |
| 4796 | - oai_settings.temp_openai = Math.min(oai_max_temp, oai_settings.temp_openai); | |
| 4797 | - $('#temp_openai').attr('max', oai_max_temp).val(oai_settings.temp_openai).trigger('input'); | |
| 4798 | - } | |
| 4799 | - | |
| 4800 | 4733 | if (oai_settings.chat_completion_source === chat_completion_sources.NANOGPT) { |
| 4801 | 4734 | if (oai_settings.max_context_unlocked) { |
| 4802 | 4735 | $('#openai_max_context').attr('max', unlocked_max); |
| @@ -5094,19 +5027,6 @@ async function onConnectButtonClick(e) { | ||
| 5094 | 5027 | } |
| 5095 | 5028 | } |
| 5096 | 5029 | |
| 5097 | - if (oai_settings.chat_completion_source == chat_completion_sources.ZEROONEAI) { | |
| 5098 | - const api_key_01ai = String($('#api_key_01ai').val()).trim(); | |
| 5099 | - | |
| 5100 | - if (api_key_01ai.length) { | |
| 5101 | - await writeSecret(SECRET_KEYS.ZEROONEAI, api_key_01ai); | |
| 5102 | - } | |
| 5103 | - | |
| 5104 | - if (!secret_state[SECRET_KEYS.ZEROONEAI]) { | |
| 5105 | - console.log('No secret key saved for 01.AI'); | |
| 5106 | - return; | |
| 5107 | - } | |
| 5108 | - } | |
| 5109 | - | |
| 5110 | 5030 | if (oai_settings.chat_completion_source === chat_completion_sources.XAI) { |
| 5111 | 5031 | const api_key_xai = String($('#api_key_xai').val()).trim(); |
| 5112 | 5032 | |
| @@ -5179,9 +5099,6 @@ function toggleChatCompletionForms() { | ||
| 5179 | 5099 | else if (oai_settings.chat_completion_source == chat_completion_sources.NANOGPT) { |
| 5180 | 5100 | $('#model_nanogpt_select').trigger('change'); |
| 5181 | 5101 | } |
| 5182 | - else if (oai_settings.chat_completion_source == chat_completion_sources.ZEROONEAI) { | |
| 5183 | - $('#model_01ai_select').trigger('change'); | |
| 5184 | - } | |
| 5185 | 5102 | else if (oai_settings.chat_completion_source == chat_completion_sources.CUSTOM) { |
| 5186 | 5103 | $('#model_custom_select').trigger('change'); |
| 5187 | 5104 | } |
| @@ -5281,8 +5198,6 @@ export function isImageInliningSupported() { | ||
| 5281 | 5198 | 'o1', |
| 5282 | 5199 | 'o3', |
| 5283 | 5200 | 'o4-mini', |
| 5284 | - // 01.AI (Yi) | |
| 5285 | - 'yi-vision', | |
| 5286 | 5201 | // Claude |
| 5287 | 5202 | 'claude-3', |
| 5288 | 5203 | 'claude-opus-4', |
| @@ -5324,8 +5239,6 @@ export function isImageInliningSupported() { | ||
| 5324 | 5239 | return true; |
| 5325 | 5240 | case chat_completion_sources.CUSTOM: |
| 5326 | 5241 | return true; |
| 5327 | - case chat_completion_sources.ZEROONEAI: | |
| 5328 | - return visionSupportedModels.some(model => oai_settings.zerooneai_model.includes(model)); | |
| 5329 | 5242 | case chat_completion_sources.MISTRALAI: |
| 5330 | 5243 | return visionSupportedModels.some(model => oai_settings.mistralai_model.includes(model)); |
| 5331 | 5244 | case chat_completion_sources.COHERE: |
| @@ -6120,7 +6033,6 @@ export function initOpenAI() { | ||
| 6120 | 6033 | $('#model_groq_select').on('change', onModelChange); |
| 6121 | 6034 | $('#model_nanogpt_select').on('change', onModelChange); |
| 6122 | 6035 | $('#model_deepseek_select').on('change', onModelChange); |
| 6123 | - $('#model_01ai_select').on('change', onModelChange); | |
| 6124 | 6036 | $('#model_aimlapi_select').on('change', onModelChange); |
| 6125 | 6037 | $('#model_custom_select').on('change', onModelChange); |
| 6126 | 6038 | $('#model_xai_select').on('change', onModelChange); |
| @@ -48,7 +48,6 @@ export const SECRET_KEYS = { | ||
| 48 | 48 | GROQ: 'api_key_groq', |
| 49 | 49 | AZURE_TTS: 'api_key_azure_tts', |
| 50 | 50 | FEATHERLESS: 'api_key_featherless', |
| 51 | - ZEROONEAI: 'api_key_01ai', | |
| 52 | 51 | HUGGINGFACE: 'api_key_huggingface', |
| 53 | 52 | STABILITY: 'api_key_stability', |
| 54 | 53 | CUSTOM_OPENAI_TTS: 'api_key_custom_openai_tts', |
| @@ -92,7 +91,6 @@ const FRIENDLY_NAMES = { | ||
| 92 | 91 | [SECRET_KEYS.PERPLEXITY]: 'Perplexity', |
| 93 | 92 | [SECRET_KEYS.GROQ]: 'Groq', |
| 94 | 93 | [SECRET_KEYS.FEATHERLESS]: 'Featherless', |
| 95 | - [SECRET_KEYS.ZEROONEAI]: '01.AI', | |
| 96 | 94 | [SECRET_KEYS.HUGGINGFACE]: 'HuggingFace', |
| 97 | 95 | [SECRET_KEYS.NANOGPT]: 'NanoGPT', |
| 98 | 96 | [SECRET_KEYS.GENERIC]: 'Generic (OpenAI-compatible)', |
| @@ -143,7 +141,6 @@ const INPUT_MAP = { | ||
| 143 | 141 | [SECRET_KEYS.PERPLEXITY]: '#api_key_perplexity', |
| 144 | 142 | [SECRET_KEYS.GROQ]: '#api_key_groq', |
| 145 | 143 | [SECRET_KEYS.FEATHERLESS]: '#api_key_featherless', |
| 146 | - [SECRET_KEYS.ZEROONEAI]: '#api_key_01ai', | |
| 147 | 144 | [SECRET_KEYS.HUGGINGFACE]: '#api_key_huggingface', |
| 148 | 145 | [SECRET_KEYS.NANOGPT]: '#api_key_nanogpt', |
| 149 | 146 | [SECRET_KEYS.GENERIC]: '#api_key_generic', |
| @@ -4801,7 +4801,6 @@ function getModelOptions(quiet) { | ||
| 4801 | 4801 | { id: 'model_perplexity_select', api: 'openai', type: chat_completion_sources.PERPLEXITY }, |
| 4802 | 4802 | { id: 'model_groq_select', api: 'openai', type: chat_completion_sources.GROQ }, |
| 4803 | 4803 | { id: 'model_nanogpt_select', api: 'openai', type: chat_completion_sources.NANOGPT }, |
| 4804 | - { id: 'model_01ai_select', api: 'openai', type: chat_completion_sources.ZEROONEAI }, | |
| 4805 | 4804 | { id: 'model_deepseek_select', api: 'openai', type: chat_completion_sources.DEEPSEEK }, |
| 4806 | 4805 | { id: 'model_aimlapi_select', api: 'openai', type: chat_completion_sources.AIMLAPI }, |
| 4807 | 4806 | { id: 'model_xai_select', api: 'openai', type: chat_completion_sources.XAI }, |
| @@ -708,10 +708,6 @@ export function getTokenizerModel() { | ||
| 708 | 708 | } |
| 709 | 709 | } |
| 710 | 710 | |
| 711 | - if (oai_settings.chat_completion_source === chat_completion_sources.ZEROONEAI) { | |
| 712 | - return yiTokenizer; | |
| 713 | - } | |
| 714 | - | |
| 715 | 711 | // Default to Turbo 3.5 |
| 716 | 712 | return turboTokenizer; |
| 717 | 713 | } |
| @@ -173,7 +173,6 @@ export const CHAT_COMPLETION_SOURCES = { | ||
| 173 | 173 | COHERE: 'cohere', |
| 174 | 174 | PERPLEXITY: 'perplexity', |
| 175 | 175 | GROQ: 'groq', |
| 176 | - ZEROONEAI: '01ai', | |
| 177 | 176 | NANOGPT: 'nanogpt', |
| 178 | 177 | DEEPSEEK: 'deepseek', |
| 179 | 178 | AIMLAPI: 'aimlapi', |
| @@ -59,7 +59,6 @@ const API_PERPLEXITY = 'https://api.perplexity.ai'; | ||
| 59 | 59 | const API_GROQ = 'https://api.groq.com/openai/v1'; |
| 60 | 60 | const API_MAKERSUITE = 'https://generativelanguage.googleapis.com'; |
| 61 | 61 | const API_VERTEX_AI = 'https://us-central1-aiplatform.googleapis.com'; |
| 62 | -const API_01AI = 'https://api.lingyiwanwu.com/v1'; | |
| 63 | 62 | const API_AI21 = 'https://api.ai21.com/studio/v1'; |
| 64 | 63 | const API_NANOGPT = 'https://nano-gpt.com/api/v1'; |
| 65 | 64 | const API_DEEPSEEK = 'https://api.deepseek.com/beta'; |
| @@ -1197,10 +1196,6 @@ router.post('/status', async function (request, statusResponse) { | ||
| 1197 | 1196 | apiUrl = API_COHERE_V1; |
| 1198 | 1197 | apiKey = readSecret(request.user.directories, SECRET_KEYS.COHERE); |
| 1199 | 1198 | headers = {}; |
| 1200 | - } else if (request.body.chat_completion_source === CHAT_COMPLETION_SOURCES.ZEROONEAI) { | |
| 1201 | - apiUrl = API_01AI; | |
| 1202 | - apiKey = readSecret(request.user.directories, SECRET_KEYS.ZEROONEAI); | |
| 1203 | - headers = {}; | |
| 1204 | 1199 | } else if (request.body.chat_completion_source === CHAT_COMPLETION_SOURCES.NANOGPT) { |
| 1205 | 1200 | apiUrl = API_NANOGPT; |
| 1206 | 1201 | apiKey = readSecret(request.user.directories, SECRET_KEYS.NANOGPT); |
| @@ -1591,11 +1586,6 @@ router.post('/generate', function (request, response) { | ||
| 1591 | 1586 | if (request.body.enable_web_search && !/:online$/.test(request.body.model)) { |
| 1592 | 1587 | request.body.model = `${request.body.model}:online`; |
| 1593 | 1588 | } |
| 1594 | - } else if (request.body.chat_completion_source === CHAT_COMPLETION_SOURCES.ZEROONEAI) { | |
| 1595 | - apiUrl = API_01AI; | |
| 1596 | - apiKey = readSecret(request.user.directories, SECRET_KEYS.ZEROONEAI); | |
| 1597 | - headers = {}; | |
| 1598 | - bodyParams = {}; | |
| 1599 | 1589 | } else if (request.body.chat_completion_source === CHAT_COMPLETION_SOURCES.POLLINATIONS) { |
| 1600 | 1590 | apiUrl = API_POLLINATIONS; |
| 1601 | 1591 | apiKey = 'NONE'; |
| @@ -61,10 +61,6 @@ router.post('/caption-image', async (request, response) => { | ||
| 61 | 61 | key = readSecret(request.user.directories, SECRET_KEYS.VLLM); |
| 62 | 62 | } |
| 63 | 63 | |
| 64 | - if (request.body.api === 'zerooneai') { | |
| 65 | - key = readSecret(request.user.directories, SECRET_KEYS.ZEROONEAI); | |
| 66 | - } | |
| 67 | - | |
| 68 | 64 | if (request.body.api === 'aimlapi') { |
| 69 | 65 | key = readSecret(request.user.directories, SECRET_KEYS.AIMLAPI); |
| 70 | 66 | } |
| @@ -128,10 +124,6 @@ router.post('/caption-image', async (request, response) => { | ||
| 128 | 124 | apiUrl = `${request.body.server_url}/chat/completions`; |
| 129 | 125 | } |
| 130 | 126 | |
| 131 | - if (request.body.api === 'zerooneai') { | |
| 132 | - apiUrl = 'https://api.lingyiwanwu.com/v1/chat/completions'; | |
| 133 | - } | |
| 134 | - | |
| 135 | 127 | if (request.body.api === 'aimlapi') { |
| 136 | 128 | apiUrl = 'https://api.aimlapi.com/v1/chat/completions'; |
| 137 | 129 | Object.assign(headers, AIMLAPI_HEADERS); |
| @@ -41,7 +41,6 @@ export const SECRET_KEYS = { | ||
| 41 | 41 | GROQ: 'api_key_groq', |
| 42 | 42 | AZURE_TTS: 'api_key_azure_tts', |
| 43 | 43 | FEATHERLESS: 'api_key_featherless', |
| 44 | - ZEROONEAI: 'api_key_01ai', | |
| 45 | 44 | HUGGINGFACE: 'api_key_huggingface', |
| 46 | 45 | STABILITY: 'api_key_stability', |
| 47 | 46 | CUSTOM_OPENAI_TTS: 'api_key_custom_openai_tts', |