Commit graph

2777 commits

Author SHA1 Message Date
H Lohaus
a1d7cb43b1
Merge pull request #2526 from hlohaus/cont
Add files support, scrape and refine your data
2025-01-01 14:11:52 +01:00
Heiner Lohaus
fe88b57dfa Add File API Documentation for Python and JS 2025-01-01 14:10:48 +01:00
Heiner Lohaus
0d59789eed Add File API Documentation for Python and JS
Format Bucket Placeholder in GUI
2025-01-01 14:01:33 +01:00
Heiner Lohaus
7893a0835e Add filessupport, scrape and refine your data
Remove Webdriver usages
Add continue messages for other providers
2025-01-01 04:20:02 +01:00
kqlio67
90360ccfa6
fix: Update deprecated DuckDuckGo search backend from 'api' to 'auto' (#2516)
* fix: Update deprecated DuckDuckGo search backend from 'api' to 'auto'

Fixes UserWarning: 'api' backend is deprecated, using backend='auto'
- Updated default backend parameter from 'api' to 'auto' in search function
- Aligns with latest duckduckgo-search library recommendations

* Update g4f/Provider/Blackbox.py

* Fix response_format=b64_json (g4f/client/__init__.py)

* Update g4f/Provider/Blackbox2.py g4f/Provider/BlackboxCreateAgent.py

---------

Co-authored-by: kqlio67 <>
2024-12-30 03:04:06 +01:00
H Lohaus
9a5c3378c1
Merge pull request #2518 from xtekky/newww
Fix missing NoneType in old python versions
2024-12-30 02:59:20 +01:00
Heiner Lohaus
66c6abd893 Fix missing NoneType in old python versions 2024-12-30 02:57:20 +01:00
Heiner Lohaus
75fe95cbed Add continue messages support,
Remove old text_to_speech service from gui
Update gui and client readmes,
Add HuggingSpaces group provider;
Add providers parameters config forms to gui
2024-12-30 02:51:36 +01:00
kqlio67
e0f5e83729
Update docs/. etc/. g4f/. README.md (#2515)
Co-authored-by: kqlio67 <>
2024-12-28 20:11:48 +01:00
Heiner Lohaus
14c93055ba Add glhfChat provider 2024-12-28 19:29:46 +01:00
Heiner Lohaus
ac087b118b Fix gui api 2024-12-28 18:06:11 +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
Tekky
9918df98b3
. 2024-12-21 15:04:21 +01:00
H Lohaus
43deaecdbd
Merge pull request #2495 from hlohaus/12345
Fix issue with get_cookies from nodriver in OpenaiChat
2024-12-18 19:24:08 +01:00
Heiner Lohaus
2a853f03c9 Fix unittests 2024-12-18 19:22:37 +01:00
Heiner Lohaus
6390fccafd Fix unittests 2024-12-18 13:04:50 +01:00
Heiner Lohaus
af677717ee Fix issue with get_cookies from nodriver in OpenaiChat 2024-12-18 02:28:26 +01:00
kqlio67
821e78d9e6
feat(provider/blackbox): update API validation patterns and enhance request headers (#2494)
* feat(blackbox2): update license key pattern

- Change regex pattern from 'j= to v=' in license_pattern
- Maintain consistent error handling and retry logic
- Preserve header configuration for API requests

* feat(blackbox): update API key pattern and add accept-language header

- Change regex pattern from 'w= to p=' in key_pattern for validation
- Add accept-language header to API request headers

* refactor(blackbox): enhance UUID validation and regex pattern

- Implement robust UUID validation with context checking
- Update regex pattern to use dynamic character matching
- Add helper function for validating UUID context

* refactor(blackbox2): simplify license key validation

- Update regex pattern from dynamic format to static 'v=' pattern
- Remove context validation helper function
- Add docstring for license key validation method

---------

Co-authored-by: kqlio67 <>
2024-12-17 21:18:24 +01:00
H Lohaus
bbb858249b
Improve gradient in gui, show only models with enabled providers (#2492)
- **Cloudflare Provider**: Added error handling for missing requirements when fetching arguments.
- **Copilot Provider**: Updated the prompt formatting to use a maximum length function, improving message handling.
- **PollinationsAI Provider**: Adjusted the prompt length to a maximum of 5000 characters.
- **GitHub Copilot Provider**: Updated to use `ClientSession` for better session management.
- **CSS Updates**: Enhanced the gradient styling in the GUI for a more visually appealing interface.
- **JavaScript Updates**: Added functionality to toggle search options in the chat interface.
2024-12-17 21:17:40 +01:00
H Lohaus
0332d0d820
Merge pull request #2490 from hlohaus/ccccc
Fix docker build and fix api_base issue in OpenaiAPI providers
2024-12-16 19:43:03 +01:00
H Lohaus
a45e8318b0
Update README.md 2024-12-16 19:42:06 +01:00
Heiner Lohaus
75cb6163ae Use other model for copilot 2024-12-16 19:34:22 +01:00
Heiner Lohaus
5b76f2cde0 Fix docker build and fix api_base issue in OpenaiAPI providers 2024-12-16 19:07:41 +01:00
H Lohaus
5da55b3442
Merge pull request #2488 from hlohaus/ccccc
Add get_models to GeminiPro provider
2024-12-16 02:06:03 +01:00
Heiner Lohaus
ec9df59828 Add get_models to GeminiPro provider 2024-12-16 01:59:30 +01:00
Heiner Lohaus
68c7a92ee2 Hide api_key fields from disabeld providers 2024-12-16 00:58:45 +01:00
H Lohaus
f317feada5
Merge pull request #2486 from hlohaus/vvv
Improved ignored providers support,
2024-12-15 23:27:50 +01:00
kqlio67
ca2b609e82
Add support for multiple AI models and enhance agent functionality in Blackbox provider (#2484)
* refactor(g4f/Provider/Airforce.py): improve model handling and filtering

- Add hidden_models set to exclude specific models
- Add evil alias for uncensored model handling
- Extend filtering for model-specific response tokens
- Add response buffering for streamed content
- Update model fetching with error handling

* refactor(g4f/Provider/Blackbox.py): improve caching and model handling

- Add caching system for validated values with file-based storage
- Rename 'flux' model to 'ImageGeneration' and update references
- Add temperature, top_p and max_tokens parameters to generator
- Simplify HTTP headers and remove redundant options
- Add model alias mapping for ImageGeneration
- Add file system utilities for cache management

* feat(g4f/Provider/RobocodersAPI.py): add caching and error handling

- Add file-based caching system for access tokens and sessions
- Add robust error handling with specific error messages
- Add automatic dialog continuation on resource limits
- Add HTML parsing with BeautifulSoup for token extraction
- Add debug logging for error tracking
- Add timeout configuration for API requests

* refactor(g4f/Provider/DarkAI.py): update DarkAI default model and aliases

- Change default model from llama-3-405b to llama-3-70b
- Remove llama-3-405b from supported models list
- Remove llama-3.1-405b from model aliases

* feat(g4f/Provider/Blackbox2.py): add image generation support

- Add image model 'flux' with dedicated API endpoint
- Refactor generator to support both text and image outputs
- Extract headers into reusable static method
- Add type hints for AsyncGenerator return type
- Split generation logic into _generate_text and _generate_image methods
- Add ImageResponse handling for image generation results

BREAKING CHANGE: create_async_generator now returns AsyncGenerator instead of AsyncResult

* refactor(g4f/Provider/ChatGptEs.py): update ChatGptEs model configuration

- Update models list to include gpt-3.5-turbo
- Remove chatgpt-4o-latest from supported models
- Remove model_aliases mapping for gpt-4o

* feat(g4f/Provider/DeepInfraChat.py): add Accept-Language header support

- Add Accept-Language header for internationalization
- Maintain existing header configuration
- Improve request compatibility with language preferences

* refactor(g4f/Provider/needs_auth/Gemini.py): add ProviderModelMixin inheritance

- Add ProviderModelMixin to class inheritance
- Import ProviderModelMixin from base_provider
- Move BaseConversation import to base_provider imports

* refactor(g4f/Provider/Liaobots.py): update model details and aliases

- Add version suffix to o1 model IDs
- Update model aliases for o1-preview and o1-mini
- Standardize version format across model definitions

* refactor(g4f/Provider/PollinationsAI.py): enhance model support and generation

- Split generation logic into dedicated image/text methods
- Add additional text models including sur and claude
- Add width/height parameters for image generation
- Add model existence validation
- Add hasattr checks for model lists initialization

* chore(gitignore): add provider cache directory

- Add g4f/Provider/.cache to gitignore patterns

* refactor(g4f/Provider/ReplicateHome.py): update model configuration

- Update default model to gemma-2b-it
- Add default_image_model configuration
- Remove llava-13b from supported models
- Simplify request headers

* feat(g4f/models.py): expand provider and model support

- Add new providers DarkAI and PollinationsAI
- Add new models for Mistral, Flux and image generation
- Update provider lists for existing models
- Add P1 and Evil models with experimental providers

BREAKING CHANGE: Remove llava-13b model support

* refactor(Airforce): Update type hint for split_message return

- Change return type of  from  to  for consistency with import.
- Maintain overall functionality and structure of the  class.
- Ensure compatibility with type hinting standards in Python.

* refactor(g4f/Provider/Airforce.py): Update type hint for split_message return

- Change return type of 'split_message' from 'list[str]' to 'List[str]' for consistency with import.
- Maintain overall functionality and structure of the 'Airforce' class.
- Ensure compatibility with type hinting standards in Python.

* feat(g4f/Provider/RobocodersAPI.py): Add support for optional BeautifulSoup dependency

- Introduce a check for the BeautifulSoup library and handle its absence gracefully.
- Raise a  if BeautifulSoup is not installed, prompting the user to install it.
- Remove direct import of BeautifulSoup to avoid import errors when the library is missing.

* fix: Updating provider documentation and small fixes in providers

* Disabled the provider (RobocodersAPI)

* Fix: Conflicting file g4f/models.py

* Update g4f/models.py g4f/Provider/Airforce.py

* Update docs/providers-and-models.md g4f/models.py g4f/Provider/Airforce.py g4f/Provider/PollinationsAI.py

* Update docs/providers-and-models.md

* Update .gitignore

* Update g4f/models.py

* Update g4f/Provider/PollinationsAI.py

* feat(g4f/Provider/Blackbox.py): add support for additional AI models and agents

- Introduce new agent modes for Meta-Llama, Mistral, DeepSeek, DBRX, Qwen, and Nous-Hermes
- Update model aliases to include newly supported models

* Update (g4f/Provider/Blackbox.py)

* Update (g4f/Provider/Blackbox.py)

* feat(g4f/Provider/Blackbox2.py): add license key caching and validation

- Add cache file management for license key persistence
- Implement async license key extraction from JavaScript files
- Add license key validation to text generation requests
- Update type hints for async generators
- Add error handling for cache file operations

Breaking changes:
- Text generation now requires license key validation

---------

Co-authored-by: kqlio67 <>
2024-12-15 23:27:10 +01:00
Heiner Lohaus
ff66df1486 Improved ignored providers support,
Add get_models to OpenaiAPI, HuggingFace and Groq
Add xAI provider
2024-12-15 23:22:36 +01:00
H Lohaus
8d8756f745
Merge pull request #2485 from hlohaus/vvv
Add streaming and system messages support in Airforce
2024-12-15 12:24:17 +01:00
Heiner Lohaus
3b7b79f5ba Fix show html in gui 2024-12-15 12:23:04 +01:00
Heiner Lohaus
315a2f2595 Add streaming and system messages support in Airforce 2024-12-14 23:34:13 +01:00
H Lohaus
a591c5d409
Add Clarity Token to Copilot, (#2482)
* Add Clarity Token to Copilot,
Ignore disabled providers in gui,
Read cookie files after upload
* Add more chat templates to HuggingFace
2024-12-14 19:56:36 +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
kqlio67
bb9132bcb4
Updating provider documentation and small fixes in providers (#2469)
* refactor(g4f/Provider/Airforce.py): improve model handling and filtering

- Add hidden_models set to exclude specific models
- Add evil alias for uncensored model handling
- Extend filtering for model-specific response tokens
- Add response buffering for streamed content
- Update model fetching with error handling

* refactor(g4f/Provider/Blackbox.py): improve caching and model handling

- Add caching system for validated values with file-based storage
- Rename 'flux' model to 'ImageGeneration' and update references
- Add temperature, top_p and max_tokens parameters to generator
- Simplify HTTP headers and remove redundant options
- Add model alias mapping for ImageGeneration
- Add file system utilities for cache management

* feat(g4f/Provider/RobocodersAPI.py): add caching and error handling

- Add file-based caching system for access tokens and sessions
- Add robust error handling with specific error messages
- Add automatic dialog continuation on resource limits
- Add HTML parsing with BeautifulSoup for token extraction
- Add debug logging for error tracking
- Add timeout configuration for API requests

* refactor(g4f/Provider/DarkAI.py): update DarkAI default model and aliases

- Change default model from llama-3-405b to llama-3-70b
- Remove llama-3-405b from supported models list
- Remove llama-3.1-405b from model aliases

* feat(g4f/Provider/Blackbox2.py): add image generation support

- Add image model 'flux' with dedicated API endpoint
- Refactor generator to support both text and image outputs
- Extract headers into reusable static method
- Add type hints for AsyncGenerator return type
- Split generation logic into _generate_text and _generate_image methods
- Add ImageResponse handling for image generation results

BREAKING CHANGE: create_async_generator now returns AsyncGenerator instead of AsyncResult

* refactor(g4f/Provider/ChatGptEs.py): update ChatGptEs model configuration

- Update models list to include gpt-3.5-turbo
- Remove chatgpt-4o-latest from supported models
- Remove model_aliases mapping for gpt-4o

* feat(g4f/Provider/DeepInfraChat.py): add Accept-Language header support

- Add Accept-Language header for internationalization
- Maintain existing header configuration
- Improve request compatibility with language preferences

* refactor(g4f/Provider/needs_auth/Gemini.py): add ProviderModelMixin inheritance

- Add ProviderModelMixin to class inheritance
- Import ProviderModelMixin from base_provider
- Move BaseConversation import to base_provider imports

* refactor(g4f/Provider/Liaobots.py): update model details and aliases

- Add version suffix to o1 model IDs
- Update model aliases for o1-preview and o1-mini
- Standardize version format across model definitions

* refactor(g4f/Provider/PollinationsAI.py): enhance model support and generation

- Split generation logic into dedicated image/text methods
- Add additional text models including sur and claude
- Add width/height parameters for image generation
- Add model existence validation
- Add hasattr checks for model lists initialization

* chore(gitignore): add provider cache directory

- Add g4f/Provider/.cache to gitignore patterns

* refactor(g4f/Provider/ReplicateHome.py): update model configuration

- Update default model to gemma-2b-it
- Add default_image_model configuration
- Remove llava-13b from supported models
- Simplify request headers

* feat(g4f/models.py): expand provider and model support

- Add new providers DarkAI and PollinationsAI
- Add new models for Mistral, Flux and image generation
- Update provider lists for existing models
- Add P1 and Evil models with experimental providers

BREAKING CHANGE: Remove llava-13b model support

* refactor(Airforce): Update type hint for split_message return

- Change return type of  from  to  for consistency with import.
- Maintain overall functionality and structure of the  class.
- Ensure compatibility with type hinting standards in Python.

* refactor(g4f/Provider/Airforce.py): Update type hint for split_message return

- Change return type of 'split_message' from 'list[str]' to 'List[str]' for consistency with import.
- Maintain overall functionality and structure of the 'Airforce' class.
- Ensure compatibility with type hinting standards in Python.

* feat(g4f/Provider/RobocodersAPI.py): Add support for optional BeautifulSoup dependency

- Introduce a check for the BeautifulSoup library and handle its absence gracefully.
- Raise a  if BeautifulSoup is not installed, prompting the user to install it.
- Remove direct import of BeautifulSoup to avoid import errors when the library is missing.

* fix: Updating provider documentation and small fixes in providers

* Disabled the provider (RobocodersAPI)

* Fix: Conflicting file g4f/models.py

* Update g4f/models.py g4f/Provider/Airforce.py

* Update docs/providers-and-models.md g4f/models.py g4f/Provider/Airforce.py g4f/Provider/PollinationsAI.py

* Update docs/providers-and-models.md

* Update .gitignore

* Update g4f/models.py

* Update g4f/Provider/PollinationsAI.py

---------

Co-authored-by: kqlio67 <>
2024-12-09 16:52:25 +01:00
H Lohaus
76c3683403
Remove webview js api, Add unittest for provider has model, Use cooki… (#2470)
* Remove webview js api, Add unittest for provider has model, Use cookies dir for cache
2024-12-08 20:39:40 +01:00
kqlio67
a358b28f47
Major Provider Updates and Model Support Enhancements (#2467)
* refactor(g4f/Provider/Airforce.py): improve model handling and filtering

- Add hidden_models set to exclude specific models
- Add evil alias for uncensored model handling
- Extend filtering for model-specific response tokens
- Add response buffering for streamed content
- Update model fetching with error handling

* refactor(g4f/Provider/Blackbox.py): improve caching and model handling

- Add caching system for validated values with file-based storage
- Rename 'flux' model to 'ImageGeneration' and update references
- Add temperature, top_p and max_tokens parameters to generator
- Simplify HTTP headers and remove redundant options
- Add model alias mapping for ImageGeneration
- Add file system utilities for cache management

* feat(g4f/Provider/RobocodersAPI.py): add caching and error handling

- Add file-based caching system for access tokens and sessions
- Add robust error handling with specific error messages
- Add automatic dialog continuation on resource limits
- Add HTML parsing with BeautifulSoup for token extraction
- Add debug logging for error tracking
- Add timeout configuration for API requests

* refactor(g4f/Provider/DarkAI.py): update DarkAI default model and aliases

- Change default model from llama-3-405b to llama-3-70b
- Remove llama-3-405b from supported models list
- Remove llama-3.1-405b from model aliases

* feat(g4f/Provider/Blackbox2.py): add image generation support

- Add image model 'flux' with dedicated API endpoint
- Refactor generator to support both text and image outputs
- Extract headers into reusable static method
- Add type hints for AsyncGenerator return type
- Split generation logic into _generate_text and _generate_image methods
- Add ImageResponse handling for image generation results

BREAKING CHANGE: create_async_generator now returns AsyncGenerator instead of AsyncResult

* refactor(g4f/Provider/ChatGptEs.py): update ChatGptEs model configuration

- Update models list to include gpt-3.5-turbo
- Remove chatgpt-4o-latest from supported models
- Remove model_aliases mapping for gpt-4o

* feat(g4f/Provider/DeepInfraChat.py): add Accept-Language header support

- Add Accept-Language header for internationalization
- Maintain existing header configuration
- Improve request compatibility with language preferences

* refactor(g4f/Provider/needs_auth/Gemini.py): add ProviderModelMixin inheritance

- Add ProviderModelMixin to class inheritance
- Import ProviderModelMixin from base_provider
- Move BaseConversation import to base_provider imports

* refactor(g4f/Provider/Liaobots.py): update model details and aliases

- Add version suffix to o1 model IDs
- Update model aliases for o1-preview and o1-mini
- Standardize version format across model definitions

* refactor(g4f/Provider/PollinationsAI.py): enhance model support and generation

- Split generation logic into dedicated image/text methods
- Add additional text models including sur and claude
- Add width/height parameters for image generation
- Add model existence validation
- Add hasattr checks for model lists initialization

* chore(gitignore): add provider cache directory

- Add g4f/Provider/.cache to gitignore patterns

* refactor(g4f/Provider/ReplicateHome.py): update model configuration

- Update default model to gemma-2b-it
- Add default_image_model configuration
- Remove llava-13b from supported models
- Simplify request headers

* feat(g4f/models.py): expand provider and model support

- Add new providers DarkAI and PollinationsAI
- Add new models for Mistral, Flux and image generation
- Update provider lists for existing models
- Add P1 and Evil models with experimental providers

BREAKING CHANGE: Remove llava-13b model support

* refactor(Airforce): Update type hint for split_message return

- Change return type of  from  to  for consistency with import.
- Maintain overall functionality and structure of the  class.
- Ensure compatibility with type hinting standards in Python.

* refactor(g4f/Provider/Airforce.py): Update type hint for split_message return

- Change return type of 'split_message' from 'list[str]' to 'List[str]' for consistency with import.
- Maintain overall functionality and structure of the 'Airforce' class.
- Ensure compatibility with type hinting standards in Python.

* feat(g4f/Provider/RobocodersAPI.py): Add support for optional BeautifulSoup dependency

- Introduce a check for the BeautifulSoup library and handle its absence gracefully.
- Raise a  if BeautifulSoup is not installed, prompting the user to install it.
- Remove direct import of BeautifulSoup to avoid import errors when the library is missing.

---------

Co-authored-by: kqlio67 <>
2024-12-08 04:43:51 +01:00
H Lohaus
5969983d83
Merge pull request #2465 from hlohaus/neww
Use custom user data dir for each provider
2024-12-08 04:34:19 +01:00
Heiner Lohaus
1bfb36176c Add more flux dev image providers 2024-12-08 04:13:09 +01:00
Heiner Lohaus
54a6d91cfc Fix animation in lightbox 2024-12-07 23:54:51 +01:00
Heiner Lohaus
eff97ed344 Show only enabled models in gui 2024-12-07 22:50:28 +01:00
Heiner Lohaus
20ad08021a Fix deprecated construct method, fix unittests 2024-12-07 20:07:11 +01:00
Heiner Lohaus
6a624acf55 Use custom user data dir for each provider
Reuse cookies and access token in Copilot
Send in the gui messages to multiple providers at once
Add GUI documenation
2024-12-07 19:38:04 +01:00
H Lohaus
0cb9ed0cbb
Merge pull request #2463 from hlohaus/neww
Add Authentication Setup Guide
2024-12-07 05:28:42 +01:00
Heiner Lohaus
486190d838 Fix links in Readme 2024-12-07 05:25:33 +01:00
Heiner Lohaus
7f8e5181f2 Fix links in Readme, update OpenaiChat provider 2024-12-07 05:06:24 +01:00
Heiner Lohaus
fc4fe21199 Add Authentication Setup Guide 2024-12-07 03:01:43 +01:00
Heiner Lohaus
78c20c08a0 Improve image generation in OpenaiChat and Gemini 2024-12-06 21:54:13 +01:00
H Lohaus
4f573929ef
Merge pull request #2460 from hlohaus/neww
Fix cookies loading in cli, fix default Chatgpt provider
2024-12-06 10:13:36 +01:00
Heiner Lohaus
9e3c046d5c Add conversation support in HuggingChat 2024-12-06 08:54:49 +01:00