返回提交历史
Modified
g4f/Provider/Blackbox.py
+7
-24
XFEstudio/gpt4free
Update Blackbox.py
56beb19f
代码差异
1 个文件
+7
-24
@@ -20,17 +20,14 @@ class Blackbox(AsyncGeneratorProvider, ProviderModelMixin):
20
20
supports_system_message = True
21
21
supports_message_history = True
22
22
_last_validated_value = None
23
23
24
24
default_model = 'blackboxai'
25
26
image_models = ['Image Generation', 'repomap']
27
28
userSelectedModel = ['gpt-4o', 'gemini-pro', 'claude-sonnet-3.5', 'blackboxai-pro']
29
25
default_image_model = 'generate_image'
26
image_models = [default_image_model, 'repomap']
27
text_models = [default_model, 'gpt-4o', 'gemini-pro', 'claude-sonnet-3.5', 'blackboxai-pro']
30
28
agentMode = {
31
29
'Image Generation': {'mode': True, 'id': "ImageGenerationLV45LJp", 'name': "Image Generation"},
32
30
}
33
34
31
trendingAgentMode = {
35
32
"gemini-1.5-flash": {'mode': True, 'id': 'Gemini'},
36
33
"llama-3.1-8b": {'mode': True, 'id': "llama-3.1-8b"},
@@ -72,12 +69,8 @@ class Blackbox(AsyncGeneratorProvider, ProviderModelMixin):
72
69
'Youtube Agent': {'mode': True, 'id': "Youtube Agent"},
73
70
'builder Agent': {'mode': True, 'id': "builder Agent"},
74
71
}
75
76
72
model_prefixes = {mode: f"@{value['id']}" for mode, value in trendingAgentMode.items() if mode not in ["gemini-1.5-flash", "llama-3.1-8b", "llama-3.1-70b", "llama-3.1-405b", "repomap"]}
77
78
79
models = [default_model, *userSelectedModel, *list(agentMode.keys()), *list(trendingAgentMode.keys())]
80
73
models = [*text_models, default_image_model, *list(trendingAgentMode.keys())]
81
74
model_aliases = {
82
75
"gemini-flash": "gemini-1.5-flash",
83
76
"claude-3.5-sonnet": "claude-sonnet-3.5",
@@ -118,12 +111,11 @@ class Blackbox(AsyncGeneratorProvider, ProviderModelMixin):
118
111
119
112
return cls._last_validated_value
120
113
121
122
114
@staticmethod
123
115
def generate_id(length=7):
124
116
characters = string.ascii_letters + string.digits
125
117
return ''.join(random.choice(characters) for _ in range(length))
126
118
127
119
@classmethod
128
120
def add_prefix_to_messages(cls, messages: Messages, model: str) -> Messages:
129
121
prefix = cls.model_prefixes.get(model, "")
@@ -139,15 +131,6 @@ class Blackbox(AsyncGeneratorProvider, ProviderModelMixin):
139
131
140
132
return new_messages
141
133
142
@classmethod
143
def get_model(cls, model: str) -> str:
144
if model in cls.models:
145
return model
146
elif model in cls.model_aliases:
147
return cls.model_aliases[model]
148
else:
149
return cls.default_model
150
151
134
@classmethod
152
135
async def create_async_generator(
153
136
cls,
@@ -209,7 +192,7 @@ class Blackbox(AsyncGeneratorProvider, ProviderModelMixin):
209
192
"clickedForceWebSearch": False,
210
193
"visitFromDelta": False,
211
194
"mobileClient": False,
212
"userSelectedModel": model if model in cls.userSelectedModel else None,
195
"userSelectedModel": model if model in cls.text_models else None,
213
196
"webSearchMode": web_search,
214
197
"validated": validated_value,
215
198
}