Commit graph

27 commits

Author SHA1 Message Date
H Lohaus
0c69ba8fc3
Update typing.py 2025-08-09 14:12:48 +02:00
hlohaus
ddb5d5b5c4 Fix audio models 2025-08-09 11:20:29 +02:00
hlohaus
b6f51f00d8 refactor: restructure core utilities, typing, and request handling
- In `g4f/__init__.py`, changed logger setup to use fixed "g4f" name and refactored `ChatCompletion.create` and `create_async` to share `_prepare_request` logic for preprocessing arguments
- In `g4f/config.py`, added `__future__.annotations`, `lru_cache` import, wrapped `get_config_dir` with `@lru_cache`, and simplified platform branch logic
- In `g4f/cookies.py`, added typing imports, renamed `browsers` to `BROWSERS`, reformatted `DOMAINS`, updated docstrings, improved loop logic in `load_cookies_from_browsers` with additional exception handling, split HAR/JSON parsing into `_parse_har_file` and `_parse_json_cookie_file`, and enhanced `read_cookie_files` with optional filters and `.env` loading
- In `g4f/debug.py`, added enable/disable logging functions, updated log handler typing, appended messages to `logs` in `log()`, and improved `error()` formatting
- In `g4f/errors.py`, introduced base `G4FError` and updated all exception classes to inherit from it or relevant subclasses, with descriptive docstrings for each
- In `g4f/files.py`, added `max_length` parameter to `secure_filename`, adjusted regex formatting, and added docstring; updated `get_bucket_dir` to sanitize parts inline with docstring
- In `g4f/typing.py`, added `__future__.annotations`, reorganized imports, restricted PIL import to type-checking, defined `ContentPart` and `Message` TypedDicts, updated type aliases and `__all__` to include new types
- In `g4f/version.py`, added `lru_cache` and request timeout constant, applied caching to `get_pypi_version` and `get_github_version`, added response validation and explicit exceptions, refactored `VersionUtils.current_version` with clearer sources and error on miss, changed `check_version` to return a boolean with optional silent mode, and improved error handling outputs
2025-08-09 03:29:44 +02:00
hlohaus
c083f85206 feat: improve file handling and streamline provider implementations
- Added file upload usage example with bucket_id in docs/file.md
- Fixed ARTA provider by refactoring error handling with a new raise_error function
- Simplified aspect_ratio handling in ARTA with proper default
- Improved AllenAI provider by cleaning up image handling logic
- Fixed Blackbox provider's media handling to properly process images
- Updated file tools to handle URL downloads correctly
- Fixed bucket_id pattern matching in ToolHandler.process_bucket_tool
- Cleaned up imports in typing.py by removing unnecessary sys import
- Fixed inconsistent function parameters in g4f/tools/files.py
- Fixed return value of upload_and_process function to return bucket_id
2025-04-08 19:00:44 +02:00
hlohaus
c97ba0c88e Add audio transcribing example and support
Add Grok Chat provider
Rename images parameter to media
Update demo homepage
2025-03-21 03:17:45 +01:00
H Lohaus
86e36efe6b
Add Path and PathLike support when uploading images (#2514)
* Add Path and PathLike support when uploading images
Improve raise_for_status in special cases
Move ImageResponse to providers.response module
Improve OpenaiChat and OpenaiAccount providers
Add Sources for web_search in OpenaiChat
Add JsonConversation for import and export conversations to js
Add RequestLogin response type
Add TitleGeneration support in OpenaiChat and gui
* Improve Docker Container Guide in README.md
* Add tool calls api support, add search tool support
2024-12-28 16:50:08 +01:00
H Lohaus
335c971f6a
Add multiple images support (#2478)
* Add multiple images support

* Add multiple images support in gui

* Support multiple images in legacy client and in the api
Fix some model names in provider model list

* Fix unittests

* Add vision and providers docs
2024-12-13 22:20:58 +01:00
H Lohaus
79c407b939
IterListProvider support for generating images (#2441)
* IterListProvider support for generating images
* Add missing get_har_files import in Copilot
* Fix typo in dall-e-3 model name
* Add image client unittests
* Add MicrosoftDesigner provider
* Import MicrosoftDesigner and add it to the model list
2024-11-29 13:56:11 +01:00
H Lohaus
ffb4b0d162
Improve download of generated images, serve images in the api (#2391)
* Improve download of generated images, serve images in the api
Add support for conversation handling in the api

* Add orginal prompt to image response

* Add download images option in gui, fix loading model list in Airforce

* Add download images option in gui, fix loading model list in Airforce
2024-11-20 19:58:16 +01:00
碧舞すみほ
1d66c57a65
Improve compatibility of openai-node (#1966)
* improve compatibility of openai-node

* improve compatibility with OpenAI's models api

* allow image upload
2024-05-17 18:43:17 +02:00
Heiner Lohaus
84812b9632 Update some providers
Improve read access_token in OpenaiChat
Add IterProvider
Add system message support in FlowGpt
Filter none values in new Client
2024-02-27 11:55:40 +01:00
Heiner Lohaus
a28bab9387 Add aiohttp_socks to requirements
Fix preview for uploaded and generated images in gui
Improve typing, readme
2024-01-29 18:14:46 +01:00
H Lohaus
feb83c168b
New minimum requirements (#1515)
* New minimum requirements
* Add ConversationStyleOptionSets to Bing
* Add image.ImageRequest
* Improve python version support
* Improve unittests
2024-01-26 07:54:13 +01:00
Heiner Lohaus
69ef224f92 Add get_connector helper 2024-01-24 00:46:35 +01:00
Heiner Lohaus
9cbe9c1ccb Improve tests 2024-01-21 02:20:23 +01:00
Heiner Lohaus
ea8d6b847a Support upload image in gui
Add image upload to OpenaiChat
Add image response to OpenaiChat
Improve ChatGPT Plus Support
Remove unused requirements
2024-01-13 15:37:36 +01:00
Heiner Lohaus
c617b18d12 Add support for all models
Add AbstractProvider class
Add ProviderType type
Add get_last_provider function
Add version module and  VersionUtils
Display used provider in gui
Fix error response in api
2024-01-01 17:48:57 +01:00
abc
64fe0ee487 ~ | g4f v-0.1.5.6
gui & interference can now be run with:

python -m g4f.gui.run

and

python -m g4f.interference.run
2023-10-08 13:31:46 +01:00
Heiner Lohaus
6401084fd0 Add Messages and AsyncResult typing
Add system_message in Yqcloud
2023-10-08 13:59:56 +02:00
Tekky
78bfbe717d
Revert "Fix type hint" 2023-09-17 22:23:54 +01:00
MIDORIBIN
51cfcde2b3 fix type hint 2023-09-16 10:33:03 +09:00
hs_junxiang
8ad46284b9 Fix: TypedDict from typing error #886
Ref: https://github.com/python/typeshed/issues/3500
2023-09-11 15:29:48 +08:00
abc
efd75a11b8 ~ | code styling 2023-08-27 17:37:44 +02:00
abc
5d08c7201f ~ | v-0.0.2.5 2023-08-25 17:30:59 +01:00
abc
6d96a1efd2 ~ | major refractoring | v0.0.2.0 2023-08-17 14:57:37 +02:00
MIDORIBIN
f6ef3cb223 refactor: refactor provider 2023-08-14 11:46:32 +09:00
t.me/xtekky
5db58fd87f gpt4free v2, first release 2023-06-24 03:47:00 +02:00