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

XFEstudio/gpt4free

Add gemini-1.5-pro-latest model

6e064adb
Heiner Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

5 个文件 +35 -19
Modified README.md +3 -2
@@ -404,11 +404,12 @@ While we wait for gpt-5, here is a list of new models that are at least better t
404 404
405 405 | Label | Provider | Image Model | Vision Model | Website |
406 406 | ----- | -------- | ----------- | ------------ | ------- |
407 | Microsoft Copilot in Bing | `g4f.Provider.Bing` | dall-e| gpt-4-vision | [bing.com](https://bing.com/chat) |
407 | Microsoft Copilot in Bing | `g4f.Provider.Bing` | dall-e-3 | gpt-4-vision | [bing.com](https://bing.com/chat) |
408 408 | DeepInfra | `g4f.Provider.DeepInfra` | stability-ai/sdxl| llava-1.5-7b-hf | [deepinfra.com](https://deepinfra.com) |
409 409 | Gemini | `g4f.Provider.Gemini` | gemini| gemini | [gemini.google.com](https://gemini.google.com) |
410 | Gemini API | `g4f.Provider.GeminiPro` | ❌| gemini-1.5-pro-latest | [ai.google.dev](https://ai.google.dev) |
410 411 | Meta AI | `g4f.Provider.MetaAI` | meta| ❌ | [meta.ai](https://www.meta.ai) |
411 | OpenAI ChatGPT | `g4f.Provider.OpenaiChat` | dall-e| gpt-4-vision | [chat.openai.com](https://chat.openai.com) |
412 | OpenAI ChatGPT | `g4f.Provider.OpenaiChat` | dall-e-3 | gpt-4-vision | [chat.openai.com](https://chat.openai.com) |
412 413 | Replicate | `g4f.Provider.Replicate` | stability-ai/sdxl| ❌ | [replicate.com](https://replicate.com) |
413 414 | You.com | `g4f.Provider.You` | dall-e| agent | [you.com](https://you.com) |
414 415
Modified etc/tool/readme_table.py +2 -0
@@ -136,6 +136,8 @@ def print_image_models():
136 136 netloc = urlparse(provider_url).netloc.replace("www.", "")
137 137 website = f"[{netloc}]({provider_url})"
138 138 label = image_model["provider"] if image_model["label"] is None else image_model["label"]
139 if image_model["image_model"] is None:
140 image_model["image_model"] = "❌"
139 141 if image_model["vision_model"] is None:
140 142 image_model["vision_model"] = "❌"
141 143 lines.append(f'| {label} | `g4f.Provider.{image_model["provider"]}` | {image_model["image_model"]}| {image_model["vision_model"]} | {website} |')
Modified g4f/Provider/GeminiPro.py +5 -4
@@ -11,12 +11,14 @@ from ..errors import MissingAuthError
11 11 from .helper import get_connector
12 12
13 13 class GeminiPro(AsyncGeneratorProvider, ProviderModelMixin):
14 label = "Gemini API"
14 15 url = "https://ai.google.dev"
15 16 working = True
16 17 supports_message_history = True
17 18 needs_auth = True
18 default_model = "gemini-pro"
19 models = ["gemini-pro", "gemini-pro-vision"]
19 default_model = "gemini-1.5-pro-latest"
20 default_vision_model = default_model
21 models = [default_model, "gemini-pro", "gemini-pro-vision"]
20 22
21 23 @classmethod
22 24 async def create_async_generator(
@@ -32,11 +34,10 @@ class GeminiPro(AsyncGeneratorProvider, ProviderModelMixin):
32 34 connector: BaseConnector = None,
33 35 **kwargs
34 36 ) -> AsyncResult:
35 model = "gemini-pro-vision" if not model and image is not None else model
36 37 model = cls.get_model(model)
37 38
38 39 if not api_key:
39 raise MissingAuthError('Missing "api_key"')
40 raise MissingAuthError('Add a "api_key"')
40 41
41 42 headers = params = None
42 43 if use_auth_header:
Modified g4f/gui/client/index.html +5 -5
@@ -130,11 +130,7 @@
130 130 <textarea id="DeepInfra-api_key" name="DeepInfra[api_key]" class="DeepInfraImage-api_key" placeholder="api_key"></textarea>
131 131 </div>
132 132 <div class="field box">
133 <label for="Gemini-api_key" class="label" title="">Gemini:</label>
134 <textarea id="Gemini-api_key" name="Gemini[api_key]" placeholder="&quot;__Secure-1PSID&quot; cookie"></textarea>
135 </div>
136 <div class="field box">
137 <label for="GeminiPro-api_key" class="label" title="">GeminiPro API:</label>
133 <label for="GeminiPro-api_key" class="label" title="">Gemini API:</label>
138 134 <textarea id="GeminiPro-api_key" name="GeminiPro[api_key]" placeholder="api_key"></textarea>
139 135 </div>
140 136 <div class="field box">
@@ -157,6 +153,10 @@
157 153 <label for="OpenRouter-api_key" class="label" title="">OpenRouter:</label>
158 154 <textarea id="OpenRouter-api_key" name="OpenRouter[api_key]" placeholder="api_key"></textarea>
159 155 </div>
156 <div class="field box">
157 <label for="Replicate-api_key" class="label" title="">Replicate:</label>
158 <textarea id="Replicate-api_key" name="Replicate[api_key]" class="ReplicateImage-api_key" placeholder="api_key"></textarea>
159 </div>
160 160 </div>
161 161 <div class="bottom_buttons">
162 162 <button onclick="delete_conversations()">
Modified g4f/gui/server/api.py +20 -8
@@ -45,6 +45,7 @@ class Api():
45 45 @staticmethod
46 46 def get_image_models() -> list[dict]:
47 47 image_models = []
48 index = []
48 49 for provider in __providers__:
49 50 if hasattr(provider, "image_models"):
50 51 if hasattr(provider, "get_models"):
@@ -52,14 +53,25 @@ class Api():
52 53 parent = provider
53 54 if hasattr(provider, "parent"):
54 55 parent = __map__[provider.parent]
55 for model in provider.image_models:
56 image_models.append({
57 "provider": parent.__name__,
58 "url": parent.url,
59 "label": parent.label if hasattr(parent, "label") else None,
60 "image_model": model,
61 "vision_model": parent.default_vision_model if hasattr(parent, "default_vision_model") else None
62 })
56 if parent.__name__ not in index:
57 for model in provider.image_models:
58 image_models.append({
59 "provider": parent.__name__,
60 "url": parent.url,
61 "label": parent.label if hasattr(parent, "label") else None,
62 "image_model": model,
63 "vision_model": parent.default_vision_model if hasattr(parent, "default_vision_model") else None
64 })
65 index.append(parent.__name__)
66 elif hasattr(provider, "default_vision_model") and provider.__name__ not in index:
67 image_models.append({
68 "provider": provider.__name__,
69 "url": provider.url,
70 "label": provider.label if hasattr(provider, "label") else None,
71 "image_model": None,
72 "vision_model": provider.default_vision_model
73 })
74 index.append(provider.__name__)
63 75 return image_models
64 76
65 77 @staticmethod