Add some arguments to chat completion api, update discord links

This commit is contained in:
Heiner Lohaus
2024-11-27 14:44:24 +01:00
parent abd94c1174
commit 651df0cf82
9 changed files with 15 additions and 14 deletions

View File

@@ -32,7 +32,7 @@ docker pull hlohaus789/g4f
- **For comprehensive details on new features and updates, please refer to our** [Releases](https://github.com/xtekky/gpt4free/releases) **page** - **For comprehensive details on new features and updates, please refer to our** [Releases](https://github.com/xtekky/gpt4free/releases) **page**
- **Installation Guide for Windows (.exe):** 💻 [Installation Guide for Windows (.exe)](#installation-guide-for-windows-exe) - **Installation Guide for Windows (.exe):** 💻 [Installation Guide for Windows (.exe)](#installation-guide-for-windows-exe)
- **Join our Telegram Channel:** 📨 [telegram.me/g4f_channel](https://telegram.me/g4f_channel) - **Join our Telegram Channel:** 📨 [telegram.me/g4f_channel](https://telegram.me/g4f_channel)
- **Join our Discord Group:** 💬🆕️ [discord.gg/6yrm7H4B](https://discord.gg/6yrm7H4B) - **Join our Discord Group:** 💬🆕️ [discord.gg/vE7gCvss](https://discord.gg/vE7gCvss)
## 🔻 Site Takedown ## 🔻 Site Takedown

View File

@@ -26,7 +26,6 @@ from ..providers.asyncio import get_running_loop
from ..Provider.openai.har_file import NoValidHarFileError, get_headers, get_har_files from ..Provider.openai.har_file import NoValidHarFileError, get_headers, get_har_files
from ..requests import get_nodriver from ..requests import get_nodriver
from ..image import ImageResponse, to_bytes, is_accepted_format from ..image import ImageResponse, to_bytes, is_accepted_format
from ..cookies import get_cookies_dir
from .. import debug from .. import debug
class Conversation(BaseConversation): class Conversation(BaseConversation):

View File

@@ -104,6 +104,9 @@ class ChatCompletionsConfig(BaseModel):
web_search: Optional[bool] = None web_search: Optional[bool] = None
proxy: Optional[str] = None proxy: Optional[str] = None
conversation_id: 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): class ImageGenerationConfig(BaseModel):
prompt: str prompt: str

View File

@@ -9,7 +9,7 @@ import base64
from typing import Union, AsyncIterator, Iterator, Coroutine, Optional from typing import Union, AsyncIterator, Iterator, Coroutine, Optional
from ..image import ImageResponse, copy_images, images_dir 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.types import ProviderType
from ..providers.response import ResponseType, FinishReason, BaseConversation, SynthesizeData from ..providers.response import ResponseType, FinishReason, BaseConversation, SynthesizeData
from ..errors import NoImageResponseError, ModelNotFoundError from ..errors import NoImageResponseError, ModelNotFoundError
@@ -332,7 +332,7 @@ class Images:
def create_variation( def create_variation(
self, self,
image: Union[str, bytes], image: ImageType,
model: str = None, model: str = None,
provider: Optional[ProviderType] = None, provider: Optional[ProviderType] = None,
response_format: str = "url", response_format: str = "url",

View File

@@ -68,9 +68,10 @@ def get_model_and_provider(model : Union[Model, str],
model = provider.default_model if hasattr(provider, "default_model") else "" model = provider.default_model if hasattr(provider, "default_model") else ""
else: else:
raise ModelNotFoundError(f'Model not found: {model}') raise ModelNotFoundError(f'Model not found: {model}')
else: elif isinstance(model, Model):
provider = model.best_provider provider = model.best_provider
else:
raise ValueError(f"Unexpected type: {type(model)}")
if not provider: if not provider:
raise ProviderNotFoundError(f'No provider found for model: {model}') raise ProviderNotFoundError(f'No provider found for model: {model}')

View File

@@ -9,6 +9,9 @@ except ImportError as e:
import_error = e import_error = e
def get_gui_app(): 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) site = Website(app)
for route in site.routes: for route in site.routes:
app.add_url_rule( app.add_url_rule(
@@ -27,9 +30,6 @@ def get_gui_app():
return app return app
def run_gui(host: str = '0.0.0.0', port: int = 8080, debug: bool = False) -> None: 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 = { config = {
'host' : host, 'host' : host,
'port' : port, 'port' : port,

View File

@@ -72,7 +72,7 @@
</button> </button>
<div class="info"> <div class="info">
<i class="fa-brands fa-discord"></i> <i class="fa-brands fa-discord"></i>
<span class="convo-title">discord ~ <a href="https://discord.gg/6yrm7H4B" target="_blank">discord.gg/6yrm7H4B</a> <span class="convo-title">discord ~ <a href="https://discord.gg/vE7gCvss" target="_blank">discord.gg/vE7gCvss</a>
</span> </span>
</div> </div>
<div class="info"> <div class="info">

View File

@@ -108,11 +108,9 @@ class Api:
} }
def _create_response_stream(self, kwargs: dict, conversation_id: str, provider: str, download_images: bool = True) -> Iterator: 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): def log_handler(text: str):
debug.logs.append(text) debug.logs.append(text)
print_callback(text) print(text)
debug.log_handler = log_handler debug.log_handler = log_handler
try: try:
result = ChatCompletion.create(**kwargs) result = ChatCompletion.create(**kwargs)

View File

@@ -40,4 +40,4 @@ class Website:
return render_template('index.html', chat_id=conversation_id) return render_template('index.html', chat_id=conversation_id)
def _index(self): def _index(self):
return render_template('index.html', chat_id=str(uuid.uuid4())) return render_template('index.html', chat_id=str(uuid.uuid4()))