From bbb858249bc055819aad331cff326fa9a722b578 Mon Sep 17 00:00:00 2001 From: H Lohaus Date: Tue, 17 Dec 2024 21:17:40 +0100 Subject: 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. --- g4f/providers/helper.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'g4f/providers/helper.py') diff --git a/g4f/providers/helper.py b/g4f/providers/helper.py index 7ebe0d02..98f193c4 100644 --- a/g4f/providers/helper.py +++ b/g4f/providers/helper.py @@ -4,6 +4,7 @@ import random import string from ..typing import Messages, Cookies +from .. import debug def format_prompt(messages: Messages, add_special_tokens=False) -> str: """ @@ -24,6 +25,20 @@ def format_prompt(messages: Messages, add_special_tokens=False) -> str: ]) return f"{formatted}\nAssistant:" +def format_prompt_max_length(messages: Messages, max_lenght: int) -> str: + prompt = format_prompt(messages) + start = len(prompt) + if start > max_lenght: + if len(messages) > 6: + prompt = format_prompt(messages[:3] + messages[-3:]) + if len(prompt) > max_lenght: + if len(messages) > 2: + prompt = format_prompt([m for m in messages if m["role"] == "system"] + messages[-1:]) + if len(prompt) > max_lenght: + prompt = messages[-1]["content"] + debug.log(f"Messages trimmed from: {start} to: {len(prompt)}") + return prompt + def get_random_string(length: int = 10) -> str: """ Generate a random string of specified length, containing lowercase letters and digits. -- cgit v1.2.3