ForcePilot/backend/package/yuxi/channel/extensions/douyin/streaming.py

26 lines
765 B
Python
Raw Normal View History

class DouyinStreaming:
streaming_mode = "block"
preview_stream_throttle_ms = 160
preview_min_initial_chars = 18
block_streaming_enabled = True
block_streaming_break = "text_end"
block_streaming_chunk_min_chars = 300
block_streaming_chunk_max_chars = 900
block_streaming_chunk_break_preference = "paragraph"
block_streaming_coalesce_defaults = {
"min_chars": 80,
"max_chars": 400,
"idle_ms": 500,
}
@classmethod
def should_stream(cls, estimated_length: int) -> bool:
return estimated_length > cls.block_streaming_chunk_min_chars
@classmethod
def build_chunk(cls, text: str, is_final: bool) -> str:
if is_final:
return text
return f"{text}\n[⏳]"