feat:
1. 建立问题库大纲,对应每个人生阶段槽位 2. 鼓励使用更生活化的交流语言共情与总结 3. 降低评审模型可能发生截断的概率 4. 成稿质量维度强化情感表达和上下文连贯性
This commit is contained in:
@@ -98,7 +98,9 @@ def _dialogue_lineage_dict_for_segment_ids(
|
||||
)
|
||||
|
||||
|
||||
def _evidence_link_ids(evidence: dict) -> tuple[list[str], list[str], list[str], list[str]]:
|
||||
def _evidence_link_ids(
|
||||
evidence: dict,
|
||||
) -> tuple[list[str], list[str], list[str], list[str]]:
|
||||
"""从 retrieve_evidence_sync 结果提取稳定 ID 列表。"""
|
||||
chunks: list[str] = []
|
||||
for c in evidence.get("relevant_chunks") or []:
|
||||
@@ -661,9 +663,7 @@ def _resolve_append_target(
|
||||
and len(oral_norm)
|
||||
<= int(settings.memoir_story_route_append_guardrail_oral_chars)
|
||||
):
|
||||
tid_g = default_append_target_story_id(
|
||||
candidate_stories, story_meta, settings
|
||||
)
|
||||
tid_g = default_append_target_story_id(candidate_stories, story_meta, settings)
|
||||
if tid_g:
|
||||
st = session.get(Story, tid_g)
|
||||
if st and st.user_id == user_id:
|
||||
@@ -880,17 +880,19 @@ def _run_batch_plan_writes(
|
||||
unit_text = _ordered_text_for_segment_ids(category_segments, unit.segment_ids)
|
||||
oral_unit = normalize_oral_for_memoir(unit_text, llm=llm)
|
||||
|
||||
target_story_id, existing_for_narrative, decision_source = _resolve_append_target(
|
||||
session,
|
||||
route_decision=unit.decision,
|
||||
route_target_story_id=unit.target_story_id,
|
||||
user_id=user_id,
|
||||
chapter_category=chapter_category,
|
||||
oral_norm=(oral_unit or "").strip(),
|
||||
candidate_stories=candidate_stories,
|
||||
story_meta=story_meta,
|
||||
decision_source="batch_plan",
|
||||
memoir_correlation_id=memoir_correlation_id,
|
||||
target_story_id, existing_for_narrative, decision_source = (
|
||||
_resolve_append_target(
|
||||
session,
|
||||
route_decision=unit.decision,
|
||||
route_target_story_id=unit.target_story_id,
|
||||
user_id=user_id,
|
||||
chapter_category=chapter_category,
|
||||
oral_norm=(oral_unit or "").strip(),
|
||||
candidate_stories=candidate_stories,
|
||||
story_meta=story_meta,
|
||||
decision_source="batch_plan",
|
||||
memoir_correlation_id=memoir_correlation_id,
|
||||
)
|
||||
)
|
||||
|
||||
sid, _ = _execute_narrative_unit(
|
||||
@@ -1104,17 +1106,19 @@ def run_story_pipeline_for_category_batch(
|
||||
)
|
||||
|
||||
decision_source = "fallback_no_llm" if not llm else "single_decide"
|
||||
target_story_id, existing_for_narrative, decision_source = _resolve_append_target(
|
||||
session,
|
||||
route_decision=route.decision,
|
||||
route_target_story_id=route.target_story_id,
|
||||
user_id=user_id,
|
||||
chapter_category=chapter_category,
|
||||
oral_norm=om_norm,
|
||||
candidate_stories=candidates,
|
||||
story_meta=story_meta,
|
||||
decision_source=decision_source,
|
||||
memoir_correlation_id=memoir_correlation_id,
|
||||
target_story_id, existing_for_narrative, decision_source = (
|
||||
_resolve_append_target(
|
||||
session,
|
||||
route_decision=route.decision,
|
||||
route_target_story_id=route.target_story_id,
|
||||
user_id=user_id,
|
||||
chapter_category=chapter_category,
|
||||
oral_norm=om_norm,
|
||||
candidate_stories=candidates,
|
||||
story_meta=story_meta,
|
||||
decision_source=decision_source,
|
||||
memoir_correlation_id=memoir_correlation_id,
|
||||
)
|
||||
)
|
||||
|
||||
sid, _ = _execute_narrative_unit(
|
||||
|
||||
Reference in New Issue
Block a user