From 7294abc890c377d75c6c8c932620c2e2c8b3f0f9 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Mon, 28 Aug 2023 01:43:45 +0200 Subject: Add async support for H2o Add format_prompt helper Fix create_completion in AsyncGeneratorProvider Move get_cookies from constructor to function Add ow HuggingChat implement Remove need auth form Liabots Add staic cache for access_token in OpenaiChat Add OpenAssistant provider Support stream and async in You Support async and add userId in Yqcloud Add log_time module --- g4f/Provider/Hugchat.py | 65 ------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 g4f/Provider/Hugchat.py (limited to 'g4f/Provider/Hugchat.py') diff --git a/g4f/Provider/Hugchat.py b/g4f/Provider/Hugchat.py deleted file mode 100644 index 80062af1..00000000 --- a/g4f/Provider/Hugchat.py +++ /dev/null @@ -1,65 +0,0 @@ -has_module = False -try: - from hugchat.hugchat import ChatBot -except ImportError: - has_module = False - -from .base_provider import BaseProvider, get_cookies -from g4f.typing import CreateResult - -class Hugchat(BaseProvider): - url = "https://huggingface.co/chat/" - needs_auth = True - working = has_module - llms = ['OpenAssistant/oasst-sft-6-llama-30b-xor', 'meta-llama/Llama-2-70b-chat-hf'] - - @classmethod - def create_completion( - cls, - model: str, - messages: list[dict[str, str]], - stream: bool = False, - proxy: str = None, - cookies: str = get_cookies(".huggingface.co"), **kwargs) -> CreateResult: - - bot = ChatBot( - cookies=cookies) - - if proxy and "://" not in proxy: - proxy = f"http://{proxy}" - bot.session.proxies = {"http": proxy, "https": proxy} - - if model: - try: - if not isinstance(model, int): - model = cls.llms.index(model) - bot.switch_llm(model) - except: - raise RuntimeError(f"Model are not supported: {model}") - - if len(messages) > 1: - formatted = "\n".join( - ["%s: %s" % (message["role"], message["content"]) for message in messages] - ) - prompt = f"{formatted}\nAssistant:" - else: - prompt = messages.pop()["content"] - - try: - yield bot.chat(prompt, **kwargs) - finally: - bot.delete_conversation(bot.current_conversation) - bot.current_conversation = "" - pass - - @classmethod - @property - def params(cls): - params = [ - ("model", "str"), - ("messages", "list[dict[str, str]]"), - ("stream", "bool"), - ("proxy", "str"), - ] - param = ", ".join([": ".join(p) for p in params]) - return f"g4f.provider.{cls.__name__} supports: ({param})" -- cgit v1.2.3