def sanitize_content(content): """ Гарантирует, что контент - это строка. Исправляет баг Gradio, когда текст приходит как список. """ if isinstance(content, list): return "\n".join(str(item) for item in content) return str(content) if content is not None else "" def get_clean_text(content): """ Извлекает текст из разных форматов Gradio 5 (словарь, список, строка). Решает проблему отображения {'text': ...} """ # Если пришел словарь {'text': '...', 'type': 'text'} if isinstance(content, dict) and "text" in content: return str(content["text"]) # Если пришла строка или список, используем вашу функцию из utils.py return sanitize_content(content)