From a74dd9003f0f06395cceaf1565618c6f6f70bf61 Mon Sep 17 00:00:00 2001 From: oobabooga <112222186+oobabooga@users.noreply.github.com> Date: Sun, 20 Aug 2023 21:40:22 -0700 Subject: [PATCH] Fix HTML escaping for perplexity_colors extension --- modules/html_generator.py | 1 - modules/text_generation.py | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/html_generator.py b/modules/html_generator.py index 0026ba4e..86f31f3a 100644 --- a/modules/html_generator.py +++ b/modules/html_generator.py @@ -89,7 +89,6 @@ def convert_to_markdown(string): def generate_basic_html(string): - string = html.escape(string) string = convert_to_markdown(string) string = f'
{string}
' return string diff --git a/modules/text_generation.py b/modules/text_generation.py index 30e81355..efafd67a 100644 --- a/modules/text_generation.py +++ b/modules/text_generation.py @@ -1,5 +1,6 @@ import ast import copy +import html import random import re import time @@ -31,7 +32,7 @@ def generate_reply(*args, **kwargs): shared.generation_lock.release() -def _generate_reply(question, state, stopping_strings=None, is_chat=False): +def _generate_reply(question, state, stopping_strings=None, is_chat=False, escape_html=False): # Find the appropriate generation function generate_func = apply_extensions('custom_generate_reply') @@ -73,6 +74,9 @@ def _generate_reply(question, state, stopping_strings=None, is_chat=False): # Generate for reply in generate_func(question, original_question, seed, state, stopping_strings, is_chat=is_chat): + if escape_html: + reply = html.escape(reply) + reply, stop_found = apply_stopping_strings(reply, all_stop_strings) if is_stream: cur_time = time.time() @@ -138,7 +142,7 @@ def generate_reply_wrapper(question, state, stopping_strings=None): reply = question if not shared.is_seq2seq else '' yield formatted_outputs(reply, shared.model_name) - for reply in generate_reply(question, state, stopping_strings, is_chat=False): + for reply in generate_reply(question, state, stopping_strings, is_chat=False, escape_html=True): if not shared.is_seq2seq: reply = question + reply