验证器配置
验证器作用于从大模型获取回答之后、机器人发送群聊消息之前。目前,验证器的功能是检验 Bot 当前回复的内容是否和上一次回复的内容相重复。实践证明,在开启验证器之后,Bot 的回复质量有明显的提升。
启用验证器
验证器默认不开启,你需要到 相似度验证器配置 中手动开启配置项 Verifier.Enabled
来打开相似度验证器。
配置验证器 API
我们提供了两种验证器方案,通过设置 Verifier.Type
来决定方案的类型。
LLM 方案
此方案的原理是在 Bot 发送消息之前,再调用一次大模型 API 来检查本次回复的内容是否符合我们给定的要求。因此验证器也需要配置大模型的 API。调用时使用的 prompt 内置在 Athena 中。
其中这几项的说明详见 主 API 配置:
Verifier.APIType
Verifier.BaseURL
Verifier.UID
Verifier.APIKey
Verifier.AIModel
请注意,以上的 API 配置仅作用于验证器。
Embedding 方案
此方案的原理是在 Bot 发送消息之前,使用 Embedding 模型向量化本次回复的内容与上一次回复的内容后,计算余弦相似度,并归一化得到语义相似度。因此验证器还需要配置一个 Embedding 模型。
启用此方案后,请确保设置了 Embedding 相关配置,详见 Embedding 模型配置。
设置验证器
验证器还需要提供一个配置项 Verifier.SimilarityThreshold
,这一项填入一个 \([0, 1]\) 之间的实数,表示最低可接受的相似度阈值。当本次 Bot 将要发送的消息与 Bot 上一次发送的消息的相似度低于此值时将不会发送。该相似度并非完全的文本相似度,而是语义相似度。这意味着,即使两次发言的表述不同,但意义接近也不会发送。
此外,你可以通过 Verifier.Action
来设置当 Bot 生成了相似度超过阈值的回复后的操作。你可以选择直接丢弃或重新生成。