From 651df0cf82bbaeea303d30ba1f59a16e6eb52a6b Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Wed, 27 Nov 2024 14:44:24 +0100 Subject: Add some arguments to chat completion api, update discord links --- g4f/Provider/Copilot.py | 1 - g4f/api/__init__.py | 3 +++ g4f/client/__init__.py | 4 ++-- g4f/client/service.py | 5 +++-- g4f/gui/__init__.py | 6 +++--- g4f/gui/client/index.html | 2 +- g4f/gui/server/api.py | 4 +--- g4f/gui/server/website.py | 2 +- 8 files changed, 14 insertions(+), 13 deletions(-) (limited to 'g4f') diff --git a/g4f/Provider/Copilot.py b/g4f/Provider/Copilot.py index 3c431df2..70715bfa 100644 --- a/g4f/Provider/Copilot.py +++ b/g4f/Provider/Copilot.py @@ -26,7 +26,6 @@ from ..providers.asyncio import get_running_loop from ..Provider.openai.har_file import NoValidHarFileError, get_headers, get_har_files from ..requests import get_nodriver from ..image import ImageResponse, to_bytes, is_accepted_format -from ..cookies import get_cookies_dir from .. import debug class Conversation(BaseConversation): diff --git a/g4f/api/__init__.py b/g4f/api/__init__.py index 01c75dae..0b643266 100644 --- a/g4f/api/__init__.py +++ b/g4f/api/__init__.py @@ -104,6 +104,9 @@ class ChatCompletionsConfig(BaseModel): web_search: Optional[bool] = None proxy: Optional[str] = None conversation_id: Optional[str] = None + history_disabled: Optional[bool] = None + auto_continue: Optional[bool] = None + timeout: Optional[int] = None class ImageGenerationConfig(BaseModel): prompt: str diff --git a/g4f/client/__init__.py b/g4f/client/__init__.py index 0b01fe0f..b00c5a65 100644 --- a/g4f/client/__init__.py +++ b/g4f/client/__init__.py @@ -9,7 +9,7 @@ import base64 from typing import Union, AsyncIterator, Iterator, Coroutine, Optional from ..image import ImageResponse, copy_images, images_dir -from ..typing import Messages, Image, ImageType +from ..typing import Messages, ImageType from ..providers.types import ProviderType from ..providers.response import ResponseType, FinishReason, BaseConversation, SynthesizeData from ..errors import NoImageResponseError, ModelNotFoundError @@ -332,7 +332,7 @@ class Images: def create_variation( self, - image: Union[str, bytes], + image: ImageType, model: str = None, provider: Optional[ProviderType] = None, response_format: str = "url", diff --git a/g4f/client/service.py b/g4f/client/service.py index 7fd089d4..45230c79 100644 --- a/g4f/client/service.py +++ b/g4f/client/service.py @@ -68,9 +68,10 @@ def get_model_and_provider(model : Union[Model, str], model = provider.default_model if hasattr(provider, "default_model") else "" else: raise ModelNotFoundError(f'Model not found: {model}') - else: + elif isinstance(model, Model): provider = model.best_provider - + else: + raise ValueError(f"Unexpected type: {type(model)}") if not provider: raise ProviderNotFoundError(f'No provider found for model: {model}') diff --git a/g4f/gui/__init__.py b/g4f/gui/__init__.py index 140711fa..b5550631 100644 --- a/g4f/gui/__init__.py +++ b/g4f/gui/__init__.py @@ -9,6 +9,9 @@ except ImportError as e: import_error = e def get_gui_app(): + if import_error is not None: + raise MissingRequirementsError(f'Install "gui" requirements | pip install -U g4f[gui]\n{import_error}') + site = Website(app) for route in site.routes: app.add_url_rule( @@ -27,9 +30,6 @@ def get_gui_app(): return app def run_gui(host: str = '0.0.0.0', port: int = 8080, debug: bool = False) -> None: - if import_error is not None: - raise MissingRequirementsError(f'Install "gui" requirements | pip install -U g4f[gui]\n{import_error}') - config = { 'host' : host, 'port' : port, diff --git a/g4f/gui/client/index.html b/g4f/gui/client/index.html index 8cbcd578..5ffd7d00 100644 --- a/g4f/gui/client/index.html +++ b/g4f/gui/client/index.html @@ -72,7 +72,7 @@
- discord ~ discord.gg/6yrm7H4B + discord ~ discord.gg/vE7gCvss
diff --git a/g4f/gui/server/api.py b/g4f/gui/server/api.py index 0701210d..692d9e5c 100644 --- a/g4f/gui/server/api.py +++ b/g4f/gui/server/api.py @@ -108,11 +108,9 @@ class Api: } def _create_response_stream(self, kwargs: dict, conversation_id: str, provider: str, download_images: bool = True) -> Iterator: - debug.logs = [] - print_callback = debug.log_handler def log_handler(text: str): debug.logs.append(text) - print_callback(text) + print(text) debug.log_handler = log_handler try: result = ChatCompletion.create(**kwargs) diff --git a/g4f/gui/server/website.py b/g4f/gui/server/website.py index 456056b1..a3d6edd5 100644 --- a/g4f/gui/server/website.py +++ b/g4f/gui/server/website.py @@ -40,4 +40,4 @@ class Website: return render_template('index.html', chat_id=conversation_id) def _index(self): - return render_template('index.html', chat_id=str(uuid.uuid4())) + return render_template('index.html', chat_id=str(uuid.uuid4())) \ No newline at end of file -- cgit v1.2.3