mirror of
https://github.com/xtekky/gpt4free.git
synced 2024-12-22 18:41:41 +03:00
Update (docs/providers-and-models.md g4f/models.py g4f/Provider/GizAI.py)
This commit is contained in:
parent
578dca1d0c
commit
8c7791aae3
@ -30,7 +30,7 @@ This document provides an overview of various AI providers and models, including
|
||||
|[openchat.team](https://openchat.team/)|`g4f.Provider.Aura`|✔|❌|❌|?|![Cloudflare](https://img.shields.io/badge/Cloudflare-f48d37)![Disabled](https://img.shields.io/badge/Disabled-red)|❌|
|
||||
|[bing.com](https://bing.com/chat)|`g4f.Provider.Bing`|`gpt-4`|✔|`gpt-4-vision`|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌+✔|
|
||||
|[bing.com/images](https://www.bing.com/images/create)|`g4f.Provider.BingCreateImages`|`❌|✔|❌|❌|![Active](https://img.shields.io/badge/Active-brightgreen)|✔|
|
||||
|[blackbox.ai](https://www.blackbox.ai)|`g4f.Provider.Blackbox`|`blackboxai, blackboxai-pro, gemini-flash, llama-3.1-8b, llama-3.1-70b, gpt-4o, gemini-pro, claude-3.5-sonnet`|`flux`|✔|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
|[blackbox.ai](https://www.blackbox.ai)|`g4f.Provider.Blackbox`|`blackboxai, blackboxai-pro, gemini-flash, llama-3.1-8b, llama-3.1-70b, llama-3.1-405b, gpt-4o, gemini-pro, claude-3.5-sonnet`|`flux`|`blackboxai, gemini-flash, llama-3.1-8b, llama-3.1-70b, llama-3.1-405b, gpt-4o, gemini-pro`|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
|[chatgot.one](https://www.chatgot.one/)|`g4f.Provider.ChatGot`|`gemini-pro`|❌|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
|[chatgpt.com](https://chatgpt.com)|`g4f.Provider.ChatGpt`|`?`|`?`|`?`|?|![Unknown](https://img.shields.io/badge/Unknown-grey) |❌|
|
||||
|[chatgpt.es](https://chatgpt.es)|`g4f.Provider.ChatGptEs`|`gpt-4o, gpt-4o-mini`|❌|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
@ -53,7 +53,7 @@ This document provides an overview of various AI providers and models, including
|
||||
|[free.netfly.top](https://free.netfly.top)|`g4f.Provider.FreeNetfly`|✔|❌|❌|?|![Disabled](https://img.shields.io/badge/Disabled-red)![Cloudflare](https://img.shields.io/badge/Cloudflare-f48d37)|❌|
|
||||
|[gemini.google.com](https://gemini.google.com)|`g4f.Provider.Gemini`|✔|❌|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|✔|
|
||||
|[ai.google.dev](https://ai.google.dev)|`g4f.Provider.GeminiPro`|✔|❌|✔|?|![Active](https://img.shields.io/badge/Active-brightgreen)|✔|
|
||||
|[app.giz.ai](https://app.giz.ai/assistant/)|`g4f.Provider.GizAI`|`gemini-flash, gemini-pro, gpt-4o-mini, gpt-4o, claude-3.5-sonnet, claude-3-haiku, llama-3.1-70b, llama-3.1-8b, mistral-large`|`sdxl, sd-1.5, sd-3.5, dalle-3, flux-schnell, flux1-pro`|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
|[app.giz.ai](https://app.giz.ai/assistant/)|`g4f.Provider.GizAI`|`gemini-flash`|❌|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
|[developers.sber.ru](https://developers.sber.ru/gigachat)|`g4f.Provider.GigaChat`|✔|❌|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|✔|
|
||||
|[gprochat.com](https://gprochat.com)|`g4f.Provider.GPROChat`|`gemini-pro`|❌|❌|✔|![Active](https://img.shields.io/badge/Active-brightgreen)|❌|
|
||||
|[console.groq.com/playground](https://console.groq.com/playground)|`g4f.Provider.Groq`|✔|❌|❌|?|![Active](https://img.shields.io/badge/Active-brightgreen)|✔|
|
||||
@ -112,8 +112,8 @@ This document provides an overview of various AI providers and models, including
|
||||
|gpt-4-turbo|OpenAI|3+ Providers|[platform.openai.com](https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4)|
|
||||
|gpt-4o|OpenAI|10+ Providers|[platform.openai.com](https://platform.openai.com/docs/models/gpt-4o)|
|
||||
|gpt-4o-mini|OpenAI|14+ Providers|[platform.openai.com](https://platform.openai.com/docs/models/gpt-4o-mini)|
|
||||
|o1|OpenAI|1+ Providers|[platform.openai.com](https://openai.com/index/introducing-openai-o1-preview/)|
|
||||
|o1-mini|OpenAI|2+ Providers|[platform.openai.com](https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/)|
|
||||
|o1|OpenAI|0+ Providers|[platform.openai.com](https://openai.com/index/introducing-openai-o1-preview/)|
|
||||
|o1-mini|OpenAI|0+ Providers|[platform.openai.com](https://openai.com/index/openai-o1-mini-advancing-cost-efficient-reasoning/)|
|
||||
|llama-2-7b|Meta Llama|1+ Providers|[huggingface.co](https://huggingface.co/meta-llama/Llama-2-7b)|
|
||||
|llama-2-13b|Meta Llama|1+ Providers|[llama.com](https://www.llama.com/llama2/)|
|
||||
|llama-3-8b|Meta Llama|4+ Providers|[ai.meta.com](https://ai.meta.com/blog/meta-llama-3/)|
|
||||
@ -207,7 +207,6 @@ This document provides an overview of various AI providers and models, including
|
||||
|sdxl-turbo|Stability AI|1+ Providers|[huggingface.co](https://huggingface.co/stabilityai/sdxl-turbo)|
|
||||
|sd-1.5|Stability AI|1+ Providers|[huggingface.co](https://huggingface.co/runwayml/stable-diffusion-v1-5)|
|
||||
|sd-3|Stability AI|1+ Providers|[huggingface.co](https://huggingface.co/docs/diffusers/main/en/api/pipelines/stable_diffusion/stable_diffusion_3)|
|
||||
|sd-3.5|Stability AI|1+ Providers|[stability.ai](https://stability.ai/news/introducing-stable-diffusion-3-5)|
|
||||
|playground-v2.5|Playground AI|1+ Providers|[huggingface.co](https://huggingface.co/playgroundai/playground-v2.5-1024px-aesthetic)|
|
||||
|flux|Black Forest Labs|2+ Providers|[github.com/black-forest-labs/flux](https://github.com/black-forest-labs/flux)|
|
||||
|flux-pro|Black Forest Labs|2+ Providers|[github.com/black-forest-labs/flux](https://github.com/black-forest-labs/flux)|
|
||||
@ -235,7 +234,7 @@ This document provides an overview of various AI providers and models, including
|
||||
### Providers and vision models
|
||||
| Provider | Base Provider | | Vision Models | Status | Auth |
|
||||
|-------|---------------|-----------|---------|---------|---------|
|
||||
| `g4f.Provider.Blackbox` | Blackbox AI | | `blackboxai, blackboxai-pro, gemini-flash, llama-3.1-8b, llama-3.1-70b, gpt-4o, gemini-pro, claude-3.5-sonnet` | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
|
||||
| `g4f.Provider.Blackbox` | Blackbox AI | | `blackboxai, gemini-flash, llama-3.1-8b, llama-3.1-70b, llama-3.1-405b, gpt-4o, gemini-pro` | ![Active](https://img.shields.io/badge/Active-brightgreen) | ❌ |
|
||||
|
||||
## Conclusion and Usage Tips
|
||||
This document provides a comprehensive overview of various AI providers and models available for text generation, image generation, and vision tasks. **When choosing a provider or model, consider the following factors:**
|
||||
|
@ -1,62 +1,24 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from aiohttp import ClientSession
|
||||
|
||||
from ..typing import AsyncResult, Messages
|
||||
from ..image import ImageResponse
|
||||
from .base_provider import AsyncGeneratorProvider, ProviderModelMixin
|
||||
from .helper import format_prompt
|
||||
|
||||
|
||||
class GizAI(AsyncGeneratorProvider, ProviderModelMixin):
|
||||
url = "https://app.giz.ai/assistant/"
|
||||
url = "https://app.giz.ai"
|
||||
api_endpoint = "https://app.giz.ai/api/data/users/inferenceServer.infer"
|
||||
working = True
|
||||
|
||||
supports_stream = False
|
||||
supports_system_message = True
|
||||
supports_message_history = True
|
||||
|
||||
# Chat models
|
||||
default_model = 'chat-gemini-flash'
|
||||
chat_models = [
|
||||
default_model,
|
||||
'chat-gemini-pro',
|
||||
'chat-gpt4m',
|
||||
'chat-gpt4',
|
||||
'claude-sonnet',
|
||||
'claude-haiku',
|
||||
'llama-3-70b',
|
||||
'llama-3-8b',
|
||||
'mistral-large',
|
||||
'chat-o1-mini'
|
||||
]
|
||||
|
||||
# Image models
|
||||
image_models = [
|
||||
'flux1',
|
||||
'sdxl',
|
||||
'sd',
|
||||
'sd35',
|
||||
]
|
||||
|
||||
models = [*chat_models, *image_models]
|
||||
models = [default_model]
|
||||
|
||||
model_aliases = {
|
||||
# Chat model aliases
|
||||
"gemini-flash": "chat-gemini-flash",
|
||||
"gemini-pro": "chat-gemini-pro",
|
||||
"gpt-4o-mini": "chat-gpt4m",
|
||||
"gpt-4o": "chat-gpt4",
|
||||
"claude-3.5-sonnet": "claude-sonnet",
|
||||
"claude-3-haiku": "claude-haiku",
|
||||
"llama-3.1-70b": "llama-3-70b",
|
||||
"llama-3.1-8b": "llama-3-8b",
|
||||
"o1-mini": "chat-o1-mini",
|
||||
# Image model aliases
|
||||
"sd-1.5": "sd",
|
||||
"sd-3.5": "sd35",
|
||||
"flux-schnell": "flux1",
|
||||
}
|
||||
model_aliases = {"gemini-flash": "chat-gemini-flash",}
|
||||
|
||||
@classmethod
|
||||
def get_model(cls, model: str) -> str:
|
||||
@ -67,10 +29,6 @@ class GizAI(AsyncGeneratorProvider, ProviderModelMixin):
|
||||
else:
|
||||
return cls.default_model
|
||||
|
||||
@classmethod
|
||||
def is_image_model(cls, model: str) -> bool:
|
||||
return model in cls.image_models
|
||||
|
||||
@classmethod
|
||||
async def create_async_generator(
|
||||
cls,
|
||||
@ -87,7 +45,8 @@ class GizAI(AsyncGeneratorProvider, ProviderModelMixin):
|
||||
'Cache-Control': 'no-cache',
|
||||
'Connection': 'keep-alive',
|
||||
'Content-Type': 'application/json',
|
||||
'Origin': 'https://app.giz.ai',
|
||||
'DNT': '1',
|
||||
'Origin': cls.url,
|
||||
'Pragma': 'no-cache',
|
||||
'Sec-Fetch-Dest': 'empty',
|
||||
'Sec-Fetch-Mode': 'cors',
|
||||
@ -97,55 +56,16 @@ class GizAI(AsyncGeneratorProvider, ProviderModelMixin):
|
||||
'sec-ch-ua-mobile': '?0',
|
||||
'sec-ch-ua-platform': '"Linux"'
|
||||
}
|
||||
|
||||
async with ClientSession() as session:
|
||||
if cls.is_image_model(model):
|
||||
# Image generation
|
||||
prompt = messages[-1]["content"]
|
||||
data = {
|
||||
"model": model,
|
||||
"input": {
|
||||
"width": "1024",
|
||||
"height": "1024",
|
||||
"steps": 4,
|
||||
"output_format": "webp",
|
||||
"batch_size": 1,
|
||||
"mode": "plan",
|
||||
"prompt": prompt
|
||||
}
|
||||
}
|
||||
async with session.post(
|
||||
cls.api_endpoint,
|
||||
headers=headers,
|
||||
data=json.dumps(data),
|
||||
proxy=proxy
|
||||
) as response:
|
||||
response.raise_for_status()
|
||||
response_data = await response.json()
|
||||
if response_data.get('status') == 'completed' and response_data.get('output'):
|
||||
for url in response_data['output']:
|
||||
yield ImageResponse(images=url, alt="Generated Image")
|
||||
else:
|
||||
# Chat completion
|
||||
data = {
|
||||
"model": model,
|
||||
"input": {
|
||||
"messages": [
|
||||
{
|
||||
"type": "human",
|
||||
"content": format_prompt(messages)
|
||||
}
|
||||
],
|
||||
"mode": "plan"
|
||||
},
|
||||
"noStream": True
|
||||
}
|
||||
async with session.post(
|
||||
cls.api_endpoint,
|
||||
headers=headers,
|
||||
data=json.dumps(data),
|
||||
proxy=proxy
|
||||
) as response:
|
||||
response.raise_for_status()
|
||||
result = await response.json()
|
||||
yield result.get('output', '')
|
||||
async with ClientSession(headers=headers) as session:
|
||||
data = {
|
||||
"model": model,
|
||||
"input": {
|
||||
"messages": messages,
|
||||
"mode": "plan"
|
||||
},
|
||||
"noStream": True
|
||||
}
|
||||
async with session.post(cls.api_endpoint, json=data, proxy=proxy) as response:
|
||||
response.raise_for_status()
|
||||
result = await response.json()
|
||||
yield result['output'].strip()
|
||||
|
@ -137,13 +137,13 @@ gpt_35_turbo = Model(
|
||||
gpt_4o = Model(
|
||||
name = 'gpt-4o',
|
||||
base_provider = 'OpenAI',
|
||||
best_provider = IterListProvider([NexraChatGPT, Blackbox, ChatGptEs, DarkAI, Editee, GizAI, Airforce, Liaobots, OpenaiChat])
|
||||
best_provider = IterListProvider([Blackbox, ChatGptEs, DarkAI, Editee, NexraChatGPT, Airforce, Liaobots, OpenaiChat])
|
||||
)
|
||||
|
||||
gpt_4o_mini = Model(
|
||||
name = 'gpt-4o-mini',
|
||||
base_provider = 'OpenAI',
|
||||
best_provider = IterListProvider([DDG, ChatGptEs, FreeNetfly, Pizzagpt, MagickPen, RubiksAI, Liaobots, Airforce, GizAI, ChatgptFree, Koala, OpenaiChat, ChatGpt])
|
||||
best_provider = IterListProvider([DDG, ChatGptEs, FreeNetfly, Pizzagpt, MagickPen, RubiksAI, Liaobots, Airforce, ChatgptFree, Koala, OpenaiChat, ChatGpt])
|
||||
)
|
||||
|
||||
gpt_4_turbo = Model(
|
||||
@ -168,7 +168,7 @@ o1 = Model(
|
||||
o1_mini = Model(
|
||||
name = 'o1-mini',
|
||||
base_provider = 'OpenAI',
|
||||
best_provider = IterListProvider([GizAI])
|
||||
best_provider = None
|
||||
)
|
||||
|
||||
|
||||
@ -217,13 +217,13 @@ llama_3_70b = Model(
|
||||
llama_3_1_8b = Model(
|
||||
name = "llama-3.1-8b",
|
||||
base_provider = "Meta Llama",
|
||||
best_provider = IterListProvider([Blackbox, DeepInfraChat, ChatHub, Cloudflare, GizAI, Airforce, PerplexityLabs])
|
||||
best_provider = IterListProvider([Blackbox, DeepInfraChat, ChatHub, Cloudflare, Airforce, PerplexityLabs])
|
||||
)
|
||||
|
||||
llama_3_1_70b = Model(
|
||||
name = "llama-3.1-70b",
|
||||
base_provider = "Meta Llama",
|
||||
best_provider = IterListProvider([DDG, HuggingChat, Blackbox, FreeGpt, TeachAnything, Free2GPT, DeepInfraChat, DarkAI, AiMathGPT, RubiksAI, GizAI, Airforce, HuggingFace, PerplexityLabs])
|
||||
best_provider = IterListProvider([DDG, HuggingChat, Blackbox, FreeGpt, TeachAnything, Free2GPT, DeepInfraChat, DarkAI, AiMathGPT, RubiksAI, Airforce, HuggingFace, PerplexityLabs])
|
||||
)
|
||||
|
||||
llama_3_1_405b = Model(
|
||||
@ -312,7 +312,7 @@ mistral_nemo = Model(
|
||||
mistral_large = Model(
|
||||
name = "mistral-large",
|
||||
base_provider = "Mistral",
|
||||
best_provider = IterListProvider([Editee, GizAI])
|
||||
best_provider = IterListProvider([Editee])
|
||||
)
|
||||
|
||||
|
||||
@ -360,7 +360,7 @@ phi_3_5_mini = Model(
|
||||
gemini_pro = Model(
|
||||
name = 'gemini-pro',
|
||||
base_provider = 'Google DeepMind',
|
||||
best_provider = IterListProvider([GeminiPro, Blackbox, AIChatFree, GPROChat, NexraGeminiPro, Editee, GizAI, Airforce, Liaobots])
|
||||
best_provider = IterListProvider([GeminiPro, Blackbox, AIChatFree, GPROChat, NexraGeminiPro, Editee, Airforce, Liaobots])
|
||||
)
|
||||
|
||||
gemini_flash = Model(
|
||||
@ -431,14 +431,14 @@ claude_3_sonnet = Model(
|
||||
claude_3_haiku = Model(
|
||||
name = 'claude-3-haiku',
|
||||
base_provider = 'Anthropic',
|
||||
best_provider = IterListProvider([DDG, GizAI, Liaobots])
|
||||
best_provider = IterListProvider([DDG, Liaobots])
|
||||
)
|
||||
|
||||
# claude 3.5
|
||||
claude_3_5_sonnet = Model(
|
||||
name = 'claude-3.5-sonnet',
|
||||
base_provider = 'Anthropic',
|
||||
best_provider = IterListProvider([Blackbox, Editee, GizAI, Liaobots])
|
||||
best_provider = IterListProvider([Blackbox, Editee, Liaobots])
|
||||
)
|
||||
|
||||
|
||||
@ -777,7 +777,7 @@ sdxl = Model(
|
||||
sd_1_5 = Model(
|
||||
name = 'sd-1.5',
|
||||
base_provider = 'Stability AI',
|
||||
best_provider = IterListProvider([NexraSD15, GizAI])
|
||||
best_provider = IterListProvider([NexraSD15])
|
||||
|
||||
)
|
||||
|
||||
@ -788,13 +788,6 @@ sd_3 = Model(
|
||||
|
||||
)
|
||||
|
||||
sd_3_5 = Model(
|
||||
name = 'sd-3.5',
|
||||
base_provider = 'Stability AI',
|
||||
best_provider = GizAI
|
||||
|
||||
)
|
||||
|
||||
### Playground ###
|
||||
playground_v2_5 = Model(
|
||||
name = 'playground-v2.5',
|
||||
@ -864,7 +857,7 @@ flux_4o = Model(
|
||||
flux_schnell = Model(
|
||||
name = 'flux-schnell',
|
||||
base_provider = 'Flux AI',
|
||||
best_provider = IterListProvider([ReplicateHome, GizAI])
|
||||
best_provider = IterListProvider([ReplicateHome])
|
||||
|
||||
)
|
||||
|
||||
@ -1156,7 +1149,6 @@ class ModelUtils:
|
||||
'sdxl-turbo': sdxl_turbo,
|
||||
'sd-1.5': sd_1_5,
|
||||
'sd-3': sd_3,
|
||||
'sd-3.5': sd_3_5,
|
||||
|
||||
|
||||
### Playground ###
|
||||
|
Loading…
Reference in New Issue
Block a user