hlohaus
|
e83282fc4b
|
feat: add EdgeTTS audio provider and global image→media refactor
- **Docs**
- `docs/file.md`: update upload instructions to use inline `bucket` content parts instead of `tool_calls/bucket_tool`.
- `docs/media.md`: add asynchronous audio transcription example, detailed explanation, and notes.
- **New audio provider**
- Add `g4f/Provider/audio/EdgeTTS.py` implementing Edge Text‑to‑Speech (`EdgeTTS`).
- Create `g4f/Provider/audio/__init__.py` for provider export.
- Register provider in `g4f/Provider/__init__.py`.
- **Refactor image → media**
- Introduce `generated_media/` directory and `get_media_dir()` helper in `g4f/image/copy_images.py`; add `ensure_media_dir()`; keep back‑compat with legacy `generated_images/`.
- Replace `images_dir` references with `get_media_dir()` across:
- `g4f/api/__init__.py`
- `g4f/client/stubs.py`
- `g4f/gui/server/api.py`
- `g4f/gui/server/backend_api.py`
- `g4f/image/copy_images.py`
- Rename CLI/API config field/flag from `image_provider` to `media_provider` (`g4f/cli.py`, `g4f/api/__init__.py`, `g4f/client/__init__.py`).
- Extend `g4f/image/__init__.py`
- add `MEDIA_TYPE_MAP`, `get_extension()`
- revise `is_allowed_extension()`, `to_input_audio()` to support wider media types.
- **Provider adjustments**
- `g4f/Provider/ARTA.py`: swap `raise_error()` parameter order.
- `g4f/Provider/Cloudflare.py`: drop unused `MissingRequirementsError` import; move `get_args_from_nodriver()` inside try; handle `FileNotFoundError`.
- **Core enhancements**
- `g4f/providers/any_provider.py`: use `default_model` instead of literal `"default"`; broaden model/provider matching; update model list cleanup.
- `g4f/models.py`: safeguard provider count logic when model name is falsy.
- `g4f/providers/base_provider.py`: catch `json.JSONDecodeError` when reading auth cache, delete corrupted file.
- `g4f/providers/response.py`: allow `AudioResponse` to accept extra kwargs.
- **Misc**
- Remove obsolete `g4f/image.py`.
- `g4f/Provider/Cloudflare.py`, `g4f/client/types.py`: minor whitespace and import tidy‑ups.
|
2025-04-19 03:20:57 +02:00 |
|
hlohaus
|
06546649db
|
feat: add LM Arena provider, async‑ify Copilot & surface follow‑up suggestions
* **Provider/Blackbox.py**
* Raise `RateLimitError` when `"You have reached your request limit for the hour"` substring is detected
* **Provider/Copilot.py**
* Convert class to `AsyncGeneratorProvider`; rename `create_completion` → `create_async_generator`
* Swap `curl_cffi.requests.Session` for `AsyncSession`; reduce default timeout to **30 s**
* Fully async websocket flow (`await session.ws_connect`, `await wss.send/recv/close`)
* Emit new response types: `TitleGeneration`, `SourceLink`, aggregated `Sources`
* Track request completion with `done` flag; collect citations in `sources` dict
* **Provider/DuckDuckGo.py**
* Replace `duckduckgo_search.DDGS` with `duckai.DuckAI`
* Change base class to `AbstractProvider`; drop nodriver‑based auth
* **Provider/PollinationsAI.py**
* Re‑build text/audio model lists ensuring uniqueness; remove unused `extra_text_models`
* Fix image seed logic (`i==1` for first retry); propagate streaming `error` field via `ResponseError`
* **Provider/hf_space**
* **New file** `LMArenaProvider.py` implementing async queue/stream client
* Register `LMArenaProvider` in `hf_space/__init__.py`; delete `G4F` import
* **Provider/needs_auth/CopilotAccount.py**
* Inherit order changed to `Copilot, AsyncAuthedProvider`
* Refactor token & cookie propagation; add `cookies_to_dict` helper
* **Provider/needs_auth/OpenaiChat.py**
* Parse reasoning thoughts/summary; yield `Reasoning` responses
* Tighten access‑token validation and nodriver JS evaluations (`return_by_value`)
* Extend `Conversation` with `p` and `thoughts_summary`
* **providers/response.py**
* Add `SourceLink` response class returning single formatted citation link
* **providers/base_provider.py**
* Serialize `AuthResult` with custom `json.dump` to handle non‑serializable fields
* Gracefully skip empty cache files when loading auth data
* **image/copy_images.py**
* Ignore file extensions longer than 4 chars when inferring type
* **requests/__init__.py**
* Use `return_by_value=True` for `navigator.userAgent` extraction
* **models.py**
* Remove `G4F` from model provider lists; update `janus_pro_7b` best providers
* **GUI server/api.py**
* Stream `SuggestedFollowups` to client (`"suggestions"` event)
* **GUI static assets**
* **style.css**: bold chat title, add `.suggestions` styles, remove padding from `.chat-body`
* **chat.v1.js**
* Capture `suggestions` packets, render buttons, and send as quick replies
* Re‑order finish‑reason logic; adjust token count placement and system‑prompt toggling
* **chat-top-panel / footer** interactions updated accordingly
* **gui/client/static/js/chat.v1.js** & **css** further UI refinements (scroll handling, token counting, hide prompt toggle)
* Minor updates across multiple files to match new async interfaces and headers (`userAgent`, `raise_for_status`)
|
2025-04-17 01:21:58 +02:00 |
|
hlohaus
|
fa17ce1bd6
|
Delete buckets with the conversation
Fix lightbox for uploaded images
Fix save media content
Fix TypeGPT and Cloudflare provider
|
2025-03-29 11:22:22 +01:00 |
|
hlohaus
|
222ee294a8
|
Code review
|
2025-03-27 10:19:14 +01:00 |
|
hlohaus
|
46d0b87008
|
Add example for video generation
Add support for images in messages
|
2025-03-27 09:38:31 +01:00 |
|
hlohaus
|
a1871dafeb
|
Improve background page
Improve share js functions
Fix photoswipe in UI
Support n parameter in PollinationsAI
|
2025-03-26 21:39:19 +01:00 |
|
hlohaus
|
d17305ab5e
|
Add video feed to background site
|
2025-03-26 04:17:16 +01:00 |
|
hlohaus
|
ce500f0d49
|
Set default model in HuggingFaceMedia
Improve handling of shared chats
Show api_key input if required
|
2025-03-26 01:32:05 +01:00 |
|
hlohaus
|
13810b8ae0
|
Use loading icon
|
2025-03-25 11:55:29 +01:00 |
|
hlohaus
|
714412f8fc
|
Support for application/octet-stream media_type
|
2025-03-25 06:12:18 +01:00 |
|
hlohaus
|
ae1fae7ef0
|
Add chat share function
|
2025-03-25 01:46:57 +01:00 |
|
hlohaus
|
ff365ff55c
|
Update mobile template in UI
|
2025-03-24 11:11:53 +01:00 |
|
hlohaus
|
e76e5f7835
|
Use dynamtic aspect_ratio for image and video size
|
2025-03-23 14:47:26 +01:00 |
|
hlohaus
|
8eaaf5db95
|
Add HuggingFaceMedia provider with Video Generation
Add Support for Video Response in UI
Improve Support for Audio Response in UI
Fix ModelNotSupported errors in HuggingSpace providers
|
2025-03-23 05:27:52 +01: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 |
|
hlohaus
|
470b795418
|
Show only free providers by default
|
2025-02-21 06:52:04 +01:00 |
|
hlohaus
|
e53483d85b
|
Improve tools support in OpenaiTemplate and GeminiPro
Update models in DDG, PerplexityLabs, Gemini
Fix issues with curl_cffi in new versions
|
2025-02-21 04:36:54 +01:00 |
|
hlohaus
|
5676752ca4
|
Fix copy_images, Add support .arc files
|
2025-02-12 16:30:24 +01:00 |
|
kqlio67
|
d93853afd8
|
feat(g4f/image/copy_images.py): improve image handling with Unicode support and safer encoding
|
2025-02-10 21:17:10 +02:00 |
|
hlohaus
|
31a4812d7a
|
Improve copy_images api
Update share target support
Improve search enabled hightlight
|
2025-02-05 22:11:19 +01:00 |
|
hlohaus
|
1d00be5b91
|
Fix api_key in HuggingFace provider
Split PollinationsAI provider in two provider
Update model list in CablyAI
Return backup url, if copy images failed
Update url for logging in UI
|
2025-02-04 16:25:51 +01:00 |
|
hlohaus
|
0638cbc175
|
Improve select custom model in UI
Updates for the response of the BackendApi
Update of the demo model list
Improve web search tool
Moved copy_images to /image
|
2025-02-03 20:23:21 +01:00 |
|