新增: 知识库检索分词化与晋升配置化及对话工具
整句 LIKE 命中率趋零,注入检索改 CJK 2-gram+ASCII 词分词 OR 匹配,标题命中计分排序 停用词剥离前置到切分前,滤掉跨词组合噪音 gram;ASCII 等频精确词优先 candidate 纳入检索面(include_candidates 默认开,配开关可回仅 published) 复用即信任自动晋升配置化:默认关+阈值 5,等晋升把关策略拍板后再开,防未审核产物经误命中固化污染 晋升留痕进时间线(auto/agent 来源区分);补 candidate 复用达标自动转正机制 agent 对话侧新增 knowledge_search/insert/promote 三工具,insert 固定 candidate,转正仅限 candidate 单向 知识配置结构新增两字段带 serde 默认,旧配置 JSON 缺字段不破坏启动恢复
This commit is contained in:
@@ -46,6 +46,38 @@ pub struct KnowledgeConfig {
|
||||
/// embedding 模型名(如 embedding-3 / text-embedding-3-small)
|
||||
#[serde(default)]
|
||||
pub embedding_model: Option<String>,
|
||||
/// 检索纳入 candidate(AI 自动提炼产物)开关,默认 true
|
||||
///
|
||||
/// 背景(知识库走查 2026-09-29):自动提炼产物全部滞留 candidate 而检索只认 published,
|
||||
/// 存量知识近乎零生效。纳入后配合「复用即信任」(reuse_count 达标自动晋升 published),
|
||||
/// 人工审核降级为可选修正路径。关=回到仅 published(兼容旧行为)。
|
||||
/// serde default=true:已持久化的旧配置 JSON 缺该字段时按新默认生效,不破坏启动恢复。
|
||||
#[serde(default = "default_include_candidates")]
|
||||
pub include_candidates: bool,
|
||||
/// 复用即信任自动晋升开关,默认 false
|
||||
///
|
||||
/// 背景(决策单未拍板前默认保守):candidate 命中达标自动转正 published 是单向固化
|
||||
/// (无回退路径),且 2-gram 分词的误命中同样计入 reuse_count,未审核的 LLM 提炼产物
|
||||
/// 可能经误命中固化污染知识库。晋升固化路径默认关,待决策卡 C3 拍板后由用户显式开启。
|
||||
/// serde default=false:已持久化的旧配置 JSON 缺该字段时按保守默认生效,不破坏启动恢复。
|
||||
#[serde(default)]
|
||||
pub auto_publish_enabled: bool,
|
||||
/// 自动晋升的复用命中阈值,默认 5
|
||||
///
|
||||
/// 原硬编码 2 过激进:2-gram 分词的误命中两次即可凑满转正;5 次真实复用才够格晋升。
|
||||
/// serde default=5:旧配置 JSON 缺该字段时按新默认生效。
|
||||
#[serde(default = "default_auto_publish_reuse_threshold")]
|
||||
pub auto_publish_reuse_threshold: i64,
|
||||
}
|
||||
|
||||
/// include_candidates 的 serde 默认值(true 语义名收口,与 Default impl 保持一处语义)
|
||||
fn default_include_candidates() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
/// auto_publish_reuse_threshold 的 serde 默认值(5 语义名收口,与 Default impl 保持一处语义)
|
||||
fn default_auto_publish_reuse_threshold() -> i64 {
|
||||
5
|
||||
}
|
||||
|
||||
impl Default for KnowledgeConfig {
|
||||
@@ -58,6 +90,9 @@ impl Default for KnowledgeConfig {
|
||||
vector_enabled: false,
|
||||
embedding_provider_id: None,
|
||||
embedding_model: None,
|
||||
include_candidates: true,
|
||||
auto_publish_enabled: false,
|
||||
auto_publish_reuse_threshold: 5,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user