Files
openless/docs/polish-reference-corpus.md
T

4.0 KiB

OpenLess 润色参考样例库

更新时间:2026-04-27

目标

这套样例库用于沉淀“语音原文 → 可输入文本”的改写规律。它不是聊天历史,也不是知识库问答材料。

核心用途:

  • 对比竞品长期文本的改写方式。
  • 提炼口语清理、分段、列表化、正式化的规律。
  • 后续接入向量数据库,根据当前原始转写检索 1-3 条相似样例。
  • 把检索结果作为 few-shot 参考传给润色模型,做轻量后处理和风格约束。
  • 建立回归样例,防止模型把用户问题当成需要回答的问题。

数据边界

每条样例只描述一次文本转换:

raw        用户原始口语或竞品改写前文本
polished   目标整理结果
tags       可检索标签
notes      从样例中提炼出的规律

不要把样例当成应用上下文。即使样例来自竞品,也只学习整理方式,不复制竞品事实、内容、品牌文案或专有表达。

JSONL 格式

每行一个 JSON 对象:

{"id":"structured-001","mode":"structured","raw":"帮我把登录页面改一下接口不要动错误提示放下面提交的时候别让用户重复点","polished":"帮我调整登录页面,要求如下:\n\n- 保持现有接口不变。\n- 错误提示统一展示在表单下方。\n- 提交时禁用按钮,避免重复点击。","tags":["需求整理","列表化","防重复提交"],"notes":"把连贯口语拆成约束清单,保留否定条件和交互细节。"}

字段说明:

字段 类型 说明
id string 稳定 ID,建议按模式和序号命名
mode string raw / light / structured / formal
raw string 原始口语文本
polished string 目标输出
tags string[] 改写类型、场景、风险点
notes string/null 人工提炼的改写规律

推荐标签

  • 去口癖
  • 去重复
  • 中途改口
  • 中文标点
  • 中英混输
  • 技术词保留
  • 列表化
  • 段落化
  • 正式表达
  • IM 短消息
  • AI prompt
  • 邮件
  • 需求整理
  • 防重复提交
  • 不回答问题

向量库接入方式

后续向量数据库建议只索引这些内容:

mode + tags + raw + notes

不建议只索引 polished,否则检索会偏向“结果长得像”,而不是“输入问题长得像”。

推荐检索流程:

  1. 用户完成一次语音转写。
  2. 根据当前 mode 过滤样例。
  3. 用 raw + tags + notes 做向量检索。
  4. 取 top 1-3 条样例。
  5. 传给 PolishPrompts.userPrompt(for:referenceExamples:)。
  6. 模型只参考改写规律,不继承样例事实。

回归样例

必须保留一类“不要回答问题”的样例:

{"id":"guardrail-001","mode":"light","raw":"我们这个应用还有哪些功能没有完成","polished":"我们这个应用还有哪些功能没有完成?","tags":["不回答问题","问题整理"],"notes":"用户是在输入一句问题,模型只能补标点,不能替用户列功能清单。"}

这类样例用于防止模型在 OpenLess 场景里误把语音输入当作给模型的任务。

质量检查

导入样例前至少检查:

  • raw 和 polished 都不能为空。
  • polished 不得新增用户没说过的事实。
  • polished 不得包含“根据您给的内容”“我整理如下”等引导语。
  • 竞品样例不得包含不可公开的用户隐私、客户信息、账号、密钥或内部项目名。
  • 如果样例来自竞品公开材料,只记录转换规律;不要复制大段受版权保护内容进仓库。

与微调的关系

短期优先使用“向量检索 + few-shot 后处理”,原因是:

  • 可解释,方便人工审查。
  • 能按模式和场景动态选择样例。
  • 出问题时可以删除或降权单条样例。
  • 不需要频繁重新训练模型。

真正微调适合在样例稳定到数百到数千条后再做,且需要单独的数据清洗、版权确认、训练/验证/回归集拆分。