优化后端和前端
This commit is contained in:
@@ -395,6 +395,9 @@ def build_function_config(
|
||||
"capability": DYNAMIC_MODE_STOP_CAPABILITY,
|
||||
"target": TARGETS[action["target"]],
|
||||
"parameters": {},
|
||||
"parse_source": str(
|
||||
action.get("parse_source", "local_rule")
|
||||
),
|
||||
"timeout_ms": 5000,
|
||||
"failure_policy": "abort",
|
||||
}
|
||||
@@ -412,6 +415,9 @@ def build_function_config(
|
||||
"capability": DYNAMIC_MODE_CAPABILITY,
|
||||
"target": TARGETS[action["target"]],
|
||||
"parameters": {"mode_id": int(action["mode_id"])},
|
||||
"parse_source": str(
|
||||
action.get("parse_source", "local_rule")
|
||||
),
|
||||
"timeout_ms": 5000,
|
||||
"failure_policy": "abort",
|
||||
}
|
||||
@@ -437,6 +443,9 @@ def build_function_config(
|
||||
"capability": MOTION_CAPABILITIES[action["axis"]],
|
||||
"target": TARGETS[action["target"]],
|
||||
"parameters": parameters,
|
||||
"parse_source": str(
|
||||
action.get("parse_source", "local_rule")
|
||||
),
|
||||
"timeout_ms": 8000,
|
||||
"failure_policy": "abort",
|
||||
}
|
||||
@@ -460,6 +469,9 @@ def build_function_config(
|
||||
"capability": CAPABILITIES[action["function"]],
|
||||
"target": TARGETS[action["target"]],
|
||||
"parameters": parameters,
|
||||
"parse_source": str(
|
||||
action.get("parse_source", "local_rule")
|
||||
),
|
||||
"timeout_ms": 3000,
|
||||
"failure_policy": "abort",
|
||||
}
|
||||
|
||||
@@ -52,6 +52,15 @@ STRONG_PATTERN = re.compile(r"很|太|非常|特别|难受")
|
||||
AIRFLOW_CAUSE_PATTERN = re.compile(r"吹|风太大|风吹")
|
||||
FIRST_PERSON_PATTERN = re.compile(r"我|自己")
|
||||
VEHICLE_SCOPE_PATTERN = re.compile(r"车上|车内|车里|全车|整车|整个车")
|
||||
NON_SEAT_DEVICE_PATTERN = re.compile(
|
||||
r"车窗|车门|门锁|空调|温度|风量|风速|出风模式|"
|
||||
r"内循环|外循环|循环模式|风口|遮阳帘|天幕|阅读灯|"
|
||||
r"室内灯|车内灯|氛围灯"
|
||||
)
|
||||
SEAT_CONTROL_PATTERN = re.compile(
|
||||
r"座椅|坐椅|座位|靠背|椅背|坐盆|坐垫|滑轨|腿托|脚托|四轴|"
|
||||
r"通风|加热|按摩|记忆|预设"
|
||||
)
|
||||
PASSENGER_ONLY_QUESTION = "当前所有座椅能力仅控制副驾,不支持主驾座椅目标。"
|
||||
UNSUPPORTED_SEAT_SCOPE_PATTERN = re.compile(
|
||||
r"后排|第二排|二排|第三排|三排|左前座椅|左前座|左前|"
|
||||
@@ -799,6 +808,16 @@ def parse_local_intent(
|
||||
"""Parse common Chinese seat commands without making hardware assumptions."""
|
||||
|
||||
text = _normalize_text(utterance)
|
||||
if NON_SEAT_DEVICE_PATTERN.search(text) and not SEAT_CONTROL_PATTERN.search(text):
|
||||
# This parser owns CAN0 passenger-seat semantics only. Occupant words
|
||||
# such as “主驾/副驾” in a window or climate clause are spatial
|
||||
# qualifiers for that device and must not create a seat ambiguity.
|
||||
return {
|
||||
"actions": [],
|
||||
"ambiguities": [],
|
||||
"decision_summary": [],
|
||||
"confidence": 0.0,
|
||||
}
|
||||
clauses = [part for part in re.split(r"[,,。;;!!??]", text) if part]
|
||||
actions: list[dict[str, Any]] = []
|
||||
motion_actions: list[dict[str, Any]] = []
|
||||
|
||||
Reference in New Issue
Block a user