mirror of
https://github.com/xtekky/gpt4free.git
synced 2025-12-06 02:30:41 -08:00
Update models and providers with improved documentation and code structure (#2786)
* docs(docs/providers-and-models.md): update documentation structure and model listings * refactor(g4f/debug.py): add type hints and docstrings * refactor(g4f/tools/run_tools.py): Restructure tool handling and improve modularity * refactor(g4f/providers/response.py): enhance type hints and code documentation * feat(g4f/models.py): Update model providers and add new models * feat(g4f/Provider/Blackbox.py): add encrypted session handling and model updates * fix(g4f/Provider/ChatGptEs.py): migrate to curl_cffi for request handling and improve error resilience * feat(g4f/Provider/DeepInfraChat.py): Update default model and add new DeepSeek variants * feat(g4f/Provider/Free2GPT.py): add Gemini models and streamline headers * feat(g4f/Provider/FreeGpt.py): Add support for Gemini 1.5 Flash model * feat(g4f/Provider/Liaobots.py): Add Claude 3.7 models and update default GPT-4o * fix(g4f/Provider/PollinationsAI.py): Correct model mappings and generation parameters * feat(g4f/Provider/PollinationsImage.py): Add class identifier label * chore(g4f/Provider/TeachAnything.py): Update default model and simplify model handling * (g4f/Provider/Mhystical.py): Remove class implementation * chore(g4f/Provider/Prodia.py > g4f/Provider/not_working/Prodia.py): mark Prodia provider as non-working * feat(g4f/Provider/Blackbox.py): Add Claude 3.7 Sonnet model alias * chore(g4f/models.py): Update model configurations * fix(g4f/Provider/ChatGptEs.py): improve request reliability and nonce detection --------- Co-authored-by: kqlio67 <>
This commit is contained in:
parent
17a99b684a
commit
c79635aaeb
18 changed files with 778 additions and 548 deletions
16
g4f/debug.py
16
g4f/debug.py
|
|
@ -1,17 +1,21 @@
|
|||
import sys
|
||||
from typing import Callable, List, Optional, Any
|
||||
|
||||
# Warning: name could conflict with Python's built-in logging module
|
||||
logging: bool = False
|
||||
version_check: bool = True
|
||||
version: str = None
|
||||
log_handler: callable = print
|
||||
logs: list = []
|
||||
version: Optional[str] = None
|
||||
log_handler: Callable = print # More specifically: Callable[[Any, Optional[Any]], None]
|
||||
logs: List[str] = []
|
||||
|
||||
def log(text, file = None):
|
||||
def log(text: Any, file: Optional[Any] = None) -> None:
|
||||
"""Log a message if logging is enabled."""
|
||||
if logging:
|
||||
log_handler(text, file=file)
|
||||
|
||||
def error(error, name: str = None):
|
||||
def error(error: Any, name: Optional[str] = None) -> None:
|
||||
"""Log an error message to stderr."""
|
||||
log(
|
||||
error if isinstance(error, str) else f"{type(error).__name__ if name is None else name}: {error}",
|
||||
file=sys.stderr
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue