Help us shape the future of Go! Take the 2026 Go Developer Survey

clarify

package
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2026 License: MIT Imports: 7 Imported by: 1

Documentation

Overview

Package clarify 澄清/标准化词表内核:口语→规范维度词条(term_map)的模型、外置 加载、内在校验,以及澄清反问的回答消解(序数指代 → 选项词包含 → 逃生兜底)。

归一/澄清只补充语义不改路由:词表命中产出宿主槽位(词表治本,LLM 同名槽位不可 推翻);挂起态存取、反问状态机与注入段渲染留宿主——本包只管「表长什么样、回答 怎么消解」这两件纯逻辑。

沉淀自 bianque 输入标准化层 + 消歧 clarify(v0.9.7):序数解析在宿主已有消歧衔接 与标准化反问两处消费者。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OrdinalIndex

func OrdinalIndex(lower string) (int, bool)

OrdinalIndex 解析回答里的序数指代(第一个/第1个/第 2 个/1./选项二/选一),返回 1-based 序号。汉字与阿拉伯数字双形态;仅当剥离序数构式后剩余部分为空、整体就是序数指代时 命中(「1个进程在跑」这类普通句子不误伤)。

func ResolveAnswer

func ResolveAnswer(options []string, fallback, answer string) (picked string, isFallback bool, ok bool)

ResolveAnswer 澄清回答消解:序数指代(1-based 对 options 序,越界=放弃)→ 选项词 包含匹配(双侧去空格,容「磁盘io」对「磁盘 IO」)→ 逃生选项(答案是其前缀也算, 如「不清楚」对「不清楚,全面查」)。 picked=命中的选项词(fallback 命中时为空);ok=false=回答不在本题语义内(宿主按 「用户换话题」处置,清挂起走正常分类)。

func Validate

func Validate(entries []Entry) error

Validate 词表内在校验:word 非空且唯一、维度键规范、vague⟺clarify 完整 (question/options/fallback 必带,逃生选项必配)。域注册存在性与路由词冲突等 宿主拓扑校验不在此——宿主在装配期自校(缺信息,也无从给出准确告警文案)。

Types

type Entry

type Entry struct {
	Word      string   `yaml:"word"`
	Dimension string   `yaml:"dimension"` // 标准维度键 ^[a-z][a-z0-9_]*$
	Terms     []string `yaml:"terms"`     // 标准术语(宿主注入段展示用)
	Vague     bool     `yaml:"vague"`     // true=模糊维度:宿主场景命中时可反问补齐细分
	Clarify   *Options `yaml:"clarify"`   // vague=true 时必填;非 vague 不得配置
	Domain    string   `yaml:"domain"`    // 空=全域;否则宿主校验其为已注册域
}

Entry 词表条目:Word 由宿主词表内核子串匹配(如 router.KeywordHit,含否定守门), 声明序即匹配优先级——specific 词条须声明在泛词之前。

func LoadVocab

func LoadVocab(fsys fs.FS, path string) ([]Entry, error)

LoadVocab 读 <fsys>/<path> 外置词表(yaml 根键 term_map)。缺文件返回 (nil, nil) (零词表=宿主零行为变化);存在但读取/解析失败即报错(拒绝半份词表静默上线)。

type Options

type Options struct {
	Question string   `yaml:"question"`
	Options  []string `yaml:"options"`
	Fallback string   `yaml:"fallback"`
}

Options 澄清反问模板:Question 提问、Options 可选答案(声明序=序数序)、 Fallback 逃生选项(「不清楚,全面查」——选它=放弃细分走全量)。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL