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

XFEstudio/gpt4free

Update Blackbox.py

56beb19f
H Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

1 个文件 +7 -24
Modified g4f/Provider/Blackbox.py +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 }