功能亮点:实现可切换的实时翻译模式

我们的可插入语音助手框架旨在实现最大的灵活性。本指南演示了一个强大的功能:可以通过简单的语音命令打开和关闭的实时翻译模式。想象一下用德语与您的助手交谈并听到葡萄牙语的输出,然后立即切换回正常行为。

这不是通过改变核心引擎来实现的,而是通过巧妙地操纵规则配置文件本身来实现的。

如何使用它

设置此操作需要向“FUZZY_MAP_pre.py”文件添加两条规则并创建相应的脚本。

1.切换规则: 此规则侦听打开或关闭翻译模式的命令。

代码_块_0 当您说“Übersetzung einschalten”(打开翻译)时,会执行 toggle_translation_mode.py 脚本。

2.翻译规则: 这是一个“包罗万象”的规则,当激活时,匹配任何文本并将其发送到翻译脚本。

代码_块_1 这里的关键是#TRANSLATION_RULE注释。这充当切换脚本用来查找和修改其下面的规则的“锚点”。

工作原理:幕后的魔力

此方法不使用内部状态,而是直接编辑文件系统上的规则映射。 toggle_translation_mode.py 脚本充当配置管理器。

  1. 查找规则: 触发时,脚本读取FUZZY_MAP_pre.py的内容。它搜索唯一的锚注释“#TRANSLATION_RULE”。

  2. 切换状态:

  • 要禁用: 如果锚点下方的规则行处于活动状态,则脚本会在该行的开头添加一个“#”,从而有效地将其注释掉并禁用它。

  • 要启用: 如果规则行已被注释掉,脚本会小心地删除前导的“#”,重新激活规则。

  1. 保存并重新加载: 脚本将修改的内容保存回FUZZY_MAP_pre.py。然后它创建一个特殊的触发器文件(例如“RELOAD_RULES.trigger”)。主服务不断监视此触发文件。当它出现时,服务知道其配置已更改,并从磁盘重新加载整个规则映射,立即应用更改。

设计理念:优点与注意事项

选择这种直接修改配置文件的方法是因为它对最终用户来说清晰且简单。

####优点:

  • 高透明度: 系统当前状态始终可见。快速查看“FUZZY_MAP_pre.py”文件会立即显示翻译规则是处于活动状态还是被注释掉。

  • 没有核心引擎变化: 这一强大的功能是在不改变核心规则处理引擎的任何一行的情况下实现的。它展示了插件系统的灵活性。

  • 对于开发人员来说直观: 对于任何使用过代码或配置文件的人来说,通过注释来启用或禁用配置的概念是一种熟悉、简单且值得信赖的模式。

注意事项:

  • 文件系统权限: 要使此方法起作用,助手的进程必须对其自己的配置文件具有写入权限。在某些高安全性环境中,这可能是一个考虑因素。