返回提交历史
Modified
g4f/gui/client/html/index.html
+5
-1
Modified
g4f/gui/server/backend.py
+3
-3
Modified
g4f/gui/server/provider.py
+1
-6
Modified
g4f/models.py
+14
-7
XFEstudio/gpt4free
fix provider thing in gui x2
9239c572
代码差异
4 个文件
+23
-17
@@ -118,9 +118,13 @@
118
118
<div class="field">
119
119
<select name="model" id="model">
120
120
<option value="gpt-3.5-turbo" selected>gpt-3.5</option>
121
<option value="gpt-4">gpt-4</option>
122
121
<option value="gpt-3.5-turbo-0613">gpt-3.5 fast</option>
123
122
<option value="gpt-3.5-turbo-16k">gpt-3.5 16k</option>
123
<option value="gpt-3.5-turbo-16k-0613">gpt-3.5 16k fast</option>
124
<option value="gpt-4" selected>gpt-4</option>
125
<option value="gpt-4-0613">gpt-4 fast</option>
126
<option value="gpt-4-32k">gpt-4 32k</option>
127
<option value="gpt-4-32k-0613">gpt-4 32k fast</option>
124
128
</select>
125
129
</div>
126
130
<div class="field">
@@ -33,17 +33,17 @@ class Backend_Api:
33
33
conversation = request.json['meta']['content']['conversation']
34
34
prompt = request.json['meta']['content']['parts'][0]
35
35
model = request.json['model']
36
provider = get_provider(request.json.get('provider'))
36
provider = request.json.get('provider').split("g4f.Provider.")[1]
37
37
38
38
messages = special_instructions[jailbreak] + conversation + search(internet_access, prompt) + [prompt]
39
39
40
40
def stream():
41
41
if provider:
42
42
answer = g4f.ChatCompletion.create(model=model,
43
provider=g4f.Provider.ProviderUtils.convert.get(provider), messages=messages, stream=True)
43
provider=get_provider(provider), messages=messages, stream=True)
44
44
else:
45
45
answer = g4f.ChatCompletion.create(model=model,
46
messages=messages, stream=True)
46
messages=messages, stream=True)
47
47
48
48
for token in answer:
49
49
yield token
@@ -3,17 +3,12 @@ from g4f import BaseProvider
3
3
4
4
5
5
def get_provider(provider: str) -> BaseProvider | None:
6
7
6
if isinstance(provider, str):
8
7
print(provider)
9
8
if provider == 'g4f.Provider.Auto':
10
9
return None
11
10
12
if provider in g4f.Provider.ProviderUtils.convert:
13
return g4f.Provider.ProviderUtils.convert[provider]
14
15
else:
16
return None
11
return g4f.Provider.ProviderUtils.convert.get(provider)
17
12
18
13
else:
19
14
return None
@@ -65,14 +65,16 @@ gpt_35_turbo = Model(
65
65
name = 'gpt-3.5-turbo',
66
66
base_provider = 'openai',
67
67
best_provider = RetryProvider([
68
DeepAi, ChatgptLogin, ChatgptAi, GptGo, AItianhu, Aichat, AItianhuSpace, Myshell, Aibn, FreeGpt, Ylokh
68
DeepAi, Aivvm, ChatgptLogin, ChatgptAi, GptGo, AItianhu, Aichat, AItianhuSpace, Myshell, Aibn, FreeGpt, Ylokh
69
69
])
70
70
)
71
71
72
72
gpt_4 = Model(
73
73
name = 'gpt-4',
74
74
base_provider = 'openai',
75
best_provider = Bing
75
best_provider = RetryProvider([
76
Aivvm, Bing
77
])
76
78
)
77
79
78
80
# Bard
@@ -165,27 +167,32 @@ gpt_35_turbo_16k = Model(
165
167
166
168
gpt_35_turbo_16k_0613 = Model(
167
169
name = 'gpt-3.5-turbo-16k-0613',
168
base_provider = 'openai')
170
base_provider = 'openai',
171
best_provider = Aivvm
172
)
169
173
170
174
gpt_35_turbo_0613 = Model(
171
175
name = 'gpt-3.5-turbo-0613',
172
176
base_provider = 'openai',
173
best_provider=Aivvm
177
best_provider = Aivvm
174
178
)
175
179
176
180
gpt_4_0613 = Model(
177
181
name = 'gpt-4-0613',
178
base_provider = 'openai'
182
base_provider = 'openai',
183
best_provider = Aivvm
179
184
)
180
185
181
186
gpt_4_32k = Model(
182
187
name = 'gpt-4-32k',
183
base_provider = 'openai'
188
base_provider = 'openai',
189
best_provider = Aivvm
184
190
)
185
191
186
192
gpt_4_32k_0613 = Model(
187
193
name = 'gpt-4-32k-0613',
188
base_provider = 'openai'
194
base_provider = 'openai',
195
best_provider = Aivvm
189
196
)
190
197
191
198
text_ada_001 = Model(