XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

~

fix gui errors on iOS

04edb660
abc <98614666+xtekky@users.noreply.github.com>
提交于

代码差异

5 个文件 +101 -44
Modified g4f/gui/client/css/style.css +1 -2
@@ -627,13 +627,12 @@ ul {
627 627 }
628 628 }
629 629
630 @media screen and (max-height: 640px) {
630 @media screen and (max-height: 640px) and (min-width: 990px) {
631 631 body {
632 632 height: 87vh
633 633 }
634 634 }
635 635
636
637 636 .shown {
638 637 display: flex;
639 638 }
Modified g4f/gui/client/html/index.html +37 -5
@@ -17,7 +17,7 @@
17 17 <link rel="manifest" href="/assets/img/site.webmanifest">
18 18 <script src="/assets/js/icons.js"></script>
19 19 <script src="/assets/js/highlightjs-copy.min.js"></script>
20 <script src="/assets/js/chat.v2.js" defer></script>
20 <script src="/assets/js/chat.v1.js" defer></script>
21 21 <script src="https://cdn.jsdelivr.net/npm/markdown-it@13.0.1/dist/markdown-it.min.js"></script>
22 22 <link rel="stylesheet"
23 23 href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.7.0/build/styles/base16/dracula.min.css">
@@ -80,13 +80,12 @@
80 80 </button>
81 81 <div class="info">
82 82 <i class="fa-brands fa-telegram"></i>
83 <span class="convo-title">telegram: <a href="https://t.me/g4f_official">@g4f_official</a><br>
83 <span class="convo-title">tele ~ <a href="https://t.me/g4f_official">@g4f_official</a>
84 84 </span>
85 85 </div>
86 86 <div class="info">
87 87 <i class="fa-brands fa-github"></i>
88 <span class="convo-title">github: <a href="https://github.com/xtekky/gpt4free">@gpt4free</a><br>
89 leave a star ; )
88 <span class="convo-title">github ~ <a href="https://github.com/xtekky/gpt4free">@gpt4free</a>
90 89 </span>
91 90 </div>
92 91 </div>
@@ -117,7 +116,40 @@
117 116 </div>
118 117 <div class="field">
119 118 <select name="model" id="model">
120 <option value="gpt-3.5-turbo" selected>gpt-3.5-turbo</option>
119 <option value="gpt-3.5-turbo" selected="">gpt-3.5-turbo</option>
120 <option value="gpt-3.5-turbo-0613">gpt-3.5-turbo-0613</option>
121 <option value="gpt-3.5-turbo-16k">gpt-3.5-turbo-16k</option>
122 <option value="gpt-3.5-turbo-16k-0613">gpt-3.5-turbo-16k-0613</option>
123 <option value="gpt-4">gpt-4</option>
124 <option value="gpt-4-0613">gpt-4-0613</option>
125 <option value="gpt-4-32k">gpt-4-32k</option>
126 <option value="gpt-4-32k-0613">gpt-4-32k-0613</option>
127 <option value="palm2">palm2</option>
128 <option value="palm">palm</option>
129 <option value="google">google</option>
130 <option value="google-bard">google-bard</option>
131 <option value="google-palm">google-palm</option>
132 <option value="bard">bard</option>
133 <option value="falcon-40b">falcon-40b</option>
134 <option value="falcon-7b">falcon-7b</option>
135 <option value="llama-13b">llama-13b</option>
136 <option value="command-nightly">command-nightly</option>
137 <option value="gpt-neox-20b">gpt-neox-20b</option>
138 <option value="santacoder">santacoder</option>
139 <option value="bloom">bloom</option>
140 <option value="flan-t5-xxl">flan-t5-xxl</option>
141 <option value="code-davinci-002">code-davinci-002</option>
142 <option value="text-ada-001">text-ada-001</option>
143 <option value="text-babbage-001">text-babbage-001</option>
144 <option value="text-curie-001">text-curie-001</option>
145 <option value="text-davinci-002">text-davinci-002</option>
146 <option value="text-davinci-003">text-davinci-003</option>
147 <option value="llama70b-v2-chat">llama70b-v2-chat</option>
148 <option value="llama13b-v2-chat">llama13b-v2-chat</option>
149 <option value="llama7b-v2-chat">llama7b-v2-chat</option>
150 <option value="oasst-sft-1-pythia-12b">oasst-sft-1-pythia-12b</option>
151 <option value="oasst-sft-4-pythia-12b-epoch-3.5">oasst-sft-4-pythia-12b-epoch-3.5</option>
152 <option value="command-light-nightly">command-light-nightly</option>
121 153 </select>
122 154 </div>
123 155 <div class="field">
Renamed g4f/gui/client/js/chat.v1.js +48 -32
@@ -505,28 +505,6 @@ colorThemes.forEach((themeOption) => {
505 505 });
506 506
507 507
508 (() => {
509 let check = false;
510 (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
511
512 if (check) {
513 container = document.querySelector(".row")
514 container.removeChild(container.querySelector('.ads'))
515 }
516 })();
517
518 setTimeout(() => {
519 ads_div = document.querySelector('.ads')
520
521 if (ads_div != null && ads_div.getElementsByTagName("iframe").length == 0) {
522 ads_div.removeChild(ads_div.querySelector('.sorry'))
523
524 ads_div.innerHTML += `
525 Please disable your adblocker to support us. <br><br>Maintaining this website costs us a lot of time and money.
526 `
527 }
528 }, 3000);
529
530 508 window.onload = async () => {
531 509 load_settings_localstorage();
532 510 setTheme();
@@ -550,7 +528,7 @@ window.onload = async () => {
550 528 }
551 529 }
552 530
553 await load_models();
531 // await load_models();
554 532 await say_hello()
555 533
556 534 message_input.addEventListener(`keydown`, async (evt) => {
@@ -597,18 +575,56 @@ observer.observe(message_input, { attributes: true });
597 575
598 576
599 577 const load_models = async () => {
600 models = localStorage.getItem('_models')
578 // models = localStorage.getItem('_models')
601 579
602 if (models === null) {
603 response = await fetch('/backend-api/v2/models')
604 models = await response.json()
605 localStorage.setItem('_models', JSON.stringify(models))
580 // if (models === null) {
581 // response = await fetch('/backend-api/v2/models')
582 // models = await response.json()
583 // localStorage.setItem('_models', JSON.stringify(models))
584
585 // } else {
586 // models = JSON.parse(models)
587 // }
588
589 models = [
590 "gpt-3.5-turbo",
591 "gpt-3.5-turbo-0613",
592 "gpt-3.5-turbo-16k",
593 "gpt-3.5-turbo-16k-0613",
594 "gpt-4",
595 "gpt-4-0613",
596 "gpt-4-32k",
597 "gpt-4-32k-0613",
598 "palm2",
599 "palm",
600 "google",
601 "google-bard",
602 "google-palm",
603 "bard",
604 "falcon-40b",
605 "falcon-7b",
606 "llama-13b",
607 "command-nightly",
608 "gpt-neox-20b",
609 "santacoder",
610 "bloom",
611 "flan-t5-xxl",
612 "code-davinci-002",
613 "text-ada-001",
614 "text-babbage-001",
615 "text-curie-001",
616 "text-davinci-002",
617 "text-davinci-003",
618 "llama70b-v2-chat",
619 "llama13b-v2-chat",
620 "llama7b-v2-chat",
621 "oasst-sft-1-pythia-12b",
622 "oasst-sft-4-pythia-12b-epoch-3.5",
623 "command-light-nightly"
624 ]
606 625
607 } else {
608 models = JSON.parse(models)
609 }
610
611 626 let MODELS_SELECT = document.getElementById('model');
627
612 628
613 629 for (model of models) {
614 630 let model_info = document.createElement('option');
Modified g4f/gui/server/backend.py +9 -0
@@ -23,8 +23,17 @@ class Backend_Api:
23 23 'function': self._gen_title,
24 24 'methods': ['POST']
25 25 },
26 '/backend-api/v2/error': {
27 'function': self.error,
28 'methods': ['POST']
29 }
26 30 }
27 31
32 def error(self):
33 print(request.json)
34
35 return 'ok', 200
36
28 37 def models(self):
29 38 models = g4f._all_models
30 39
Modified g4f/models.py +6 -5
@@ -3,7 +3,6 @@ from dataclasses import dataclass
3 3 from .typing import Union
4 4 from .Provider import BaseProvider, RetryProvider
5 5 from .Provider import (
6 AItianhuSpace,
7 6 ChatgptLogin,
8 7 ChatgptDemo,
9 8 ChatgptDuo,
@@ -11,7 +10,6 @@ from .Provider import (
11 10 Opchatgpts,
12 11 ChatgptAi,
13 12 GptChatly,
14 AItianhu,
15 13 Liaobots,
16 14 Yqcloud,
17 15 GeekGpt,
@@ -30,6 +28,9 @@ from .Provider import (
30 28 Bing,
31 29 You,
32 30 H2o,
31
32 ChatForAi,
33 ChatBase
33 34 )
34 35
35 36 @dataclass(unsafe_hash=True)
@@ -60,7 +61,7 @@ gpt_35_long = Model(
60 61 best_provider = RetryProvider([
61 62 AiAsk, Aichat, ChatgptDemo, FreeGpt, Liaobots, You,
62 63 GPTalk, ChatgptLogin, GptChatly, GptForLove, Opchatgpts,
63 NoowAi, GeekGpt
64 NoowAi, GeekGpt, Phind
64 65 ])
65 66 )
66 67
@@ -69,8 +70,8 @@ gpt_35_turbo = Model(
69 70 name = 'gpt-3.5-turbo',
70 71 base_provider = 'openai',
71 72 best_provider = RetryProvider([
72 GeekGpt, ChatgptLogin, ChatgptAi, GptGo,
73 AItianhu, Aichat, AItianhuSpace, Myshell, Aibn, FreeGpt, Ylokh
73 Aichat, ChatgptDemo, AiAsk, ChatForAi, GPTalk,
74 GptGo, You, Vercel, GptForLove, ChatBase, Bing
74 75 ])
75 76 )
76 77