mirror of
https://github.com/xtekky/gpt4free.git
synced 2025-10-25 01:00:28 +08:00
Add some arguments to chat completion api, update discord links
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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}')
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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()))
|
||||||
Reference in New Issue
Block a user