feat: 原文中文对照(逐句)— 高亮句同色同序号对位
- /api/translate 增加逐句模式(sentences): 前端拆句(en 为原文精确文本)→ 模型逐句翻译, 数量/顺序校验复用 _count_check(不一致自动重试);响应 en 原样回填保证对位可靠 - 左栏原文区新增「原文中文对照 →」: 逐句中文展示,命中批注 evidence 的句子 与原文同色(note-rhetoric/repeat/growth/structure)+ 同序号(sup), 点击对照行可联动高亮原文句与批注卡片 - 对照缓存按段保存并持久化(原文变化/换文书自动失效清空) - 测试: 新增逐句模式 2 个 hermetic 测试(33 passed) - 浏览器实测 18/18 通过(含逐句渲染/高亮对位/点击联动/刷新持久化)
This commit is contained in:
+11
-2
@@ -170,12 +170,21 @@ class ReferenceResponse(BaseModel):
|
||||
|
||||
|
||||
# ------------------------------------------------------- 体验优化:中文对照翻译
|
||||
class SentencePair(BaseModel):
|
||||
en: str = "" # 原文句子(前端拆分,服务端原样回填,保证高亮对位可靠)
|
||||
zh: str = ""
|
||||
|
||||
|
||||
class TranslateRequest(BaseModel):
|
||||
text: str = Field(min_length=1)
|
||||
# 整段模式(改写稿翻译):text 必填;
|
||||
# 逐句模式(原文中文对照):sentences 必填。二者取其一。
|
||||
text: str = ""
|
||||
sentences: list[str] = []
|
||||
# 段落上下文(可选):帮助模型稳定语气,不参与翻译输出
|
||||
paragraph_id: str = ""
|
||||
|
||||
|
||||
class TranslateResponse(BaseModel):
|
||||
paragraph_id: str = ""
|
||||
translation: str = ""
|
||||
translation: str = "" # 整段模式
|
||||
sentences: list[SentencePair] = [] # 逐句模式(与请求句子等长、同序)
|
||||
|
||||
Reference in New Issue
Block a user