From 2dee3a66ffeb1778c70f960ade466fcd822949f6 Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:54:43 -0700 Subject: [PATCH] Add an option to include/exclude attachments from previous messages in the chat prompt --- modules/chat.py | 4 ++-- modules/shared.py | 1 + modules/ui.py | 6 ++++-- modules/ui_session.py | 1 + 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/chat.py b/modules/chat.py index dfc301df..f080ef65 100644 --- a/modules/chat.py +++ b/modules/chat.py @@ -217,8 +217,8 @@ def generate_chat_prompt(user_input, state, **kwargs): user_key = f"user_{row_idx}" enhanced_user_msg = user_msg - # Add attachment content if present - if user_key in metadata and "attachments" in metadata[user_key]: + # Add attachment content if present AND if past attachments are enabled + if (state.get('include_past_attachments', True) and user_key in metadata and "attachments" in metadata[user_key]): attachments_text = "" for attachment in metadata[user_key]["attachments"]: filename = attachment.get("name", "file") diff --git a/modules/shared.py b/modules/shared.py index 83920df8..9efc8daf 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -224,6 +224,7 @@ settings = { 'negative_prompt': '', 'dark_theme': True, 'paste_to_attachment': False, + 'include_past_attachments': True, # Generation parameters - Curve shape 'temperature': 0.6, diff --git a/modules/ui.py b/modules/ui.py index 2925faa5..463e59de 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -273,7 +273,8 @@ def list_interface_input_elements(): # Other elements elements += [ - 'paste_to_attachment' + 'paste_to_attachment', + 'include_past_attachments', ] return elements @@ -497,7 +498,8 @@ def setup_auto_save(): # Session tab (ui_session.py) 'show_controls', 'theme_state', - 'paste_to_attachment' + 'paste_to_attachment', + 'include_past_attachments' ] for element_name in change_elements: diff --git a/modules/ui_session.py b/modules/ui_session.py index 0673828e..dc7ca2fb 100644 --- a/modules/ui_session.py +++ b/modules/ui_session.py @@ -12,6 +12,7 @@ def create_ui(): gr.Markdown("## Settings") shared.gradio['toggle_dark_mode'] = gr.Button('Toggle light/dark theme 💡', elem_classes='refresh-button') shared.gradio['paste_to_attachment'] = gr.Checkbox(label='Turn long pasted text into attachments in the Chat tab', value=shared.settings['paste_to_attachment'], elem_id='paste_to_attachment') + shared.gradio['include_past_attachments'] = gr.Checkbox(label='Include attachments/search results from previous messages in the chat prompt', value=shared.settings['include_past_attachments']) with gr.Column(): gr.Markdown("## Extensions & flags")