diff options
Diffstat (limited to 'g4f')
-rw-r--r-- | g4f/Provider/ChatHub.py | 84 | ||||
-rw-r--r-- | g4f/Provider/__init__.py | 1 | ||||
-rw-r--r-- | g4f/models.py | 16 |
3 files changed, 3 insertions, 98 deletions
diff --git a/g4f/Provider/ChatHub.py b/g4f/Provider/ChatHub.py deleted file mode 100644 index 3b762687..00000000 --- a/g4f/Provider/ChatHub.py +++ /dev/null @@ -1,84 +0,0 @@ -from __future__ import annotations - -import json -from aiohttp import ClientSession - -from ..typing import AsyncResult, Messages -from .base_provider import AsyncGeneratorProvider, ProviderModelMixin -from .helper import format_prompt - -class ChatHub(AsyncGeneratorProvider, ProviderModelMixin): - label = "ChatHub" - url = "https://app.chathub.gg" - api_endpoint = "https://app.chathub.gg/api/v3/chat/completions" - working = True - supports_stream = True - supports_system_message = True - supports_message_history = True - - default_model = 'meta/llama3.1-8b' - models = [ - 'meta/llama3.1-8b', - 'mistral/mixtral-8x7b', - 'google/gemma-2', - 'perplexity/sonar-online', - ] - - model_aliases = { - "llama-3.1-8b": "meta/llama3.1-8b", - "mixtral-8x7b": "mistral/mixtral-8x7b", - "gemma-2": "google/gemma-2", - "sonar-online": "perplexity/sonar-online", - } - - @classmethod - def get_model(cls, model: str) -> str: - if model in cls.models: - return model - elif model in cls.model_aliases: - return cls.model_aliases[model] - else: - return cls.default_model - - @classmethod - async def create_async_generator( - cls, - model: str, - messages: Messages, - proxy: str = None, - **kwargs - ) -> AsyncResult: - model = cls.get_model(model) - - headers = { - 'accept': '*/*', - 'accept-language': 'en-US,en;q=0.9', - 'content-type': 'application/json', - 'origin': cls.url, - 'referer': f"{cls.url}/chat/cloud-llama3.1-8b", - 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36', - 'x-app-id': 'web' - } - - async with ClientSession(headers=headers) as session: - prompt = format_prompt(messages) - data = { - "model": model, - "messages": [{"role": "user", "content": prompt}], - "tools": [] - } - - async with session.post(cls.api_endpoint, json=data, proxy=proxy) as response: - response.raise_for_status() - async for line in response.content: - if line: - decoded_line = line.decode('utf-8') - if decoded_line.startswith('data:'): - try: - data = json.loads(decoded_line[5:]) - if data['type'] == 'text-delta': - yield data['textDelta'] - elif data['type'] == 'done': - break - except json.JSONDecodeError: - continue diff --git a/g4f/Provider/__init__.py b/g4f/Provider/__init__.py index 66b84945..048ce504 100644 --- a/g4f/Provider/__init__.py +++ b/g4f/Provider/__init__.py @@ -31,7 +31,6 @@ from .Chatgpt4Online import Chatgpt4Online from .Chatgpt4o import Chatgpt4o from .ChatGptEs import ChatGptEs from .ChatgptFree import ChatgptFree -from .ChatHub import ChatHub from .ChatifyAI import ChatifyAI from .Cloudflare import Cloudflare from .DarkAI import DarkAI diff --git a/g4f/models.py b/g4f/models.py index 0341c078..38cb37fa 100644 --- a/g4f/models.py +++ b/g4f/models.py @@ -16,7 +16,6 @@ from .Provider import ( Chatgpt4Online, ChatGptEs, ChatgptFree, - ChatHub, ChatifyAI, Cloudflare, DarkAI, @@ -101,9 +100,7 @@ default = Model( MagickPen, DeepInfraChat, Airforce, - ChatHub, ChatGptEs, - ChatHub, ChatifyAI, Cloudflare, Editee, @@ -217,7 +214,7 @@ 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, Airforce, PerplexityLabs]) + best_provider = IterListProvider([Blackbox, DeepInfraChat, Cloudflare, Airforce, PerplexityLabs]) ) llama_3_1_70b = Model( @@ -294,7 +291,7 @@ mistral_7b = Model( mixtral_8x7b = Model( name = "mixtral-8x7b", base_provider = "Mistral", - best_provider = IterListProvider([DDG, ReplicateHome, DeepInfraChat, ChatHub, Airforce, DeepInfra]) + best_provider = IterListProvider([DDG, ReplicateHome, DeepInfraChat, Airforce, DeepInfra]) ) mixtral_8x22b = Model( @@ -395,12 +392,6 @@ gemma_7b = Model( ) # gemma 2 -gemma_2 = Model( - name = 'gemma-2', - base_provider = 'Google', - best_provider = ChatHub -) - gemma_2_9b = Model( name = 'gemma-2-9b', base_provider = 'Google', @@ -674,7 +665,7 @@ grok_2_mini = Model( sonar_online = Model( name = 'sonar-online', base_provider = 'Perplexity AI', - best_provider = IterListProvider([ChatHub, PerplexityLabs]) + best_provider = IterListProvider([PerplexityLabs]) ) sonar_chat = Model( @@ -992,7 +983,6 @@ class ModelUtils: 'gemma-7b': gemma_7b, # gemma-2 -'gemma-2': gemma_2, 'gemma-2-9b': gemma_2_9b, |