feat:意图识别优化

This commit is contained in:
2026-09-30 06:49:32 -07:00
parent 16212d7138
commit c06053634f
18 changed files with 211 additions and 47 deletions
+17 -5
View File
@@ -40,9 +40,17 @@ class Settings:
default_factory=lambda: int(os.getenv("TYPESAFE_MAX_RETRIES", "2"))
)
# 意图门控使用 Jev confidence,阈值需按真实语料校准
intent_min_confidence: float = field(
default_factory=lambda: float(os.getenv("INTENT_MIN_CONFIDENCE", "0.7"))
# 意图门控使用选中项自身的概率,阈值需按真实语料校准
# 新建、修改会改动大屏,阈值较严;问答判错代价低,阈值较宽
intent_min_probability: float = field(
default_factory=lambda: float(os.getenv("INTENT_MIN_PROBABILITY", "0.7"))
)
intent_qa_min_probability: float = field(
default_factory=lambda: float(os.getenv("INTENT_QA_MIN_PROBABILITY", "0.5"))
)
# 同一问题最多澄清的轮数,用尽后不再追问
intent_max_clarify_rounds: int = field(
default_factory=lambda: int(os.getenv("INTENT_MAX_CLARIFY_ROUNDS", "1"))
)
# 动作自动修正次数,不含首次生成,0 表示不重试,与用户澄清轮数无关
@@ -80,8 +88,12 @@ class Settings:
raise ValueError("CONVERSATION_HISTORY_TURNS 必须是非负整数")
if type(self.max_action_retries) is not int or self.max_action_retries < 0:
raise ValueError("MAX_ACTION_RETRIES 必须是非负整数")
if not 0 <= self.intent_min_confidence <= 1:
raise ValueError("INTENT_MIN_CONFIDENCE 必须在 0 到 1 之间")
if not 0 <= self.intent_min_probability <= 1:
raise ValueError("INTENT_MIN_PROBABILITY 必须在 0 到 1 之间")
if not 0 <= self.intent_qa_min_probability <= 1:
raise ValueError("INTENT_QA_MIN_PROBABILITY 必须在 0 到 1 之间")
if self.intent_max_clarify_rounds < 0:
raise ValueError("INTENT_MAX_CLARIFY_ROUNDS 必须是非负整数")
settings = Settings()