Spaces:
Runtime error
Runtime error
| """ | |
| This module is responsible for handling and modifying the notebook text. | |
| """ | |
| import re | |
| import extensions.superboogav2.parameters as parameters | |
| from modules import shared | |
| from modules.logging_colors import logger | |
| from extensions.superboogav2.utils import create_context_text | |
| from .data_processor import preprocess_text | |
| def _remove_special_tokens(string): | |
| pattern = r'(<\|begin-user-input\|>|<\|end-user-input\|>|<\|injection-point\|>)' | |
| return re.sub(pattern, '', string) | |
| def input_modifier_internal(string, collector): | |
| # Sanity check. | |
| if shared.is_chat(): | |
| return string | |
| # Find the user input | |
| pattern = re.compile(r"<\|begin-user-input\|>(.*?)<\|end-user-input\|>", re.DOTALL) | |
| match = re.search(pattern, string) | |
| if match: | |
| # Preprocess the user prompt. | |
| user_input = match.group(1).strip() | |
| user_input = preprocess_text(user_input) | |
| logger.debug(f"Preprocessed User Input: {user_input}") | |
| # Get the most similar chunks | |
| results = collector.get_sorted_by_dist(user_input, n_results=parameters.get_chunk_count(), max_token_count=int(parameters.get_max_token_count())) | |
| # Make the injection | |
| string = string.replace('<|injection-point|>', create_context_text(results)) | |
| return _remove_special_tokens(string) |