feat(memoir): 回忆录分段两阶段管线(Phase1 分类 / Phase2 叙事)与配置、测试
This commit is contained in:
@@ -213,6 +213,19 @@ class Settings(BaseSettings):
|
||||
memoir_segment_batch_max_wait_seconds: float = Field(
|
||||
default=60.0, ge=0.0, le=3600.0
|
||||
)
|
||||
# 回忆录叙事 Phase 2( Celery)触发:单条口述达到该 strip 字数则立即跑叙事
|
||||
memoir_narrative_immediate_char_threshold: int = Field(default=50, ge=0, le=50_000)
|
||||
# 同一 topic_category 下未叙事段数达到该值则触发 Phase 2
|
||||
memoir_narrative_batch_min_segments: int = Field(default=3, ge=1, le=500)
|
||||
# 同上,累计 user_input_text 字符数(strip 后由 Segment 列 length 近似)
|
||||
memoir_narrative_batch_min_chars: int = Field(default=80, ge=0, le=500_000)
|
||||
# Phase 1 完成后未触发 Phase 2 时,延迟任务兜底(秒);新 Phase 1 会 revoke 旧定时
|
||||
memoir_narrative_batch_max_wait_seconds: float = Field(
|
||||
default=120.0, ge=1.0, le=3600.0
|
||||
)
|
||||
# False:Celery/批处理更新 slot 时不改写 MemoirState.current_stage(访谈路径仍可由 switch_stage 推进)
|
||||
# True:仅当 chat_bucket( proposed ) == chat_bucket( existing ) 时允许批处理对齐 current_stage
|
||||
memoir_extraction_updates_current_stage: bool = False
|
||||
|
||||
# ── Memory 检索与富化 ─────────────────────────────────────
|
||||
# True:query 为空时仍返回 rolling 摘要 + 最近事实/时间线(无 chunk FTS)
|
||||
|
||||
Reference in New Issue
Block a user