发布历史#
v0.3.3 (即将发布)#
新增功能#
引入了
IndirectAttackSimulator
,用于模拟对您的 AI 系统进行的 XPIA(跨域提示注入攻击)越狱攻击。引入了
IndirectAttackEvaluator
,用于评估对话或问答上下文中是否存在 XPIA(跨域提示注入攻击),这些攻击通过引发被操纵的内容、入侵并试图收集超出您的 AI 系统范围的信息来中断正常的预期功能。添加了一个新的评估器(ProtectedMaterialEvaluator)和相关的对抗性内容模拟器枚举类型(AdversarialScenario.ADVERSARIAL_CONTENT_PROTECTED_MATERIAL),用于受保护材料,该评估器确定给定输入是否包含受知识产权法保护的材料。
添加了四个数学评估器:
BleuScoreEvaluator
、GleuScoreEvaluator
、MeteorScoreEvaluator
和RougeScoreEvaluator
,用于通过与参考文本进行比较来评估生成文本的质量。
修复的 Bug#
修复了评估器以接受(非 Azure)Open AI 配置。
重大变更#
将
AdversarialSimulator
中的jailbreak
参数替换为_jailbreak_type
参数,以支持多种越狱类型。我们建议使用JailbreakAdversarialSimulator
类进行 UPIA 越狱,以及使用IndirectAttackSimulator
类进行 XPIA 越狱,而不是直接编辑此参数。
改进#
将
JailbreakAdversarialSimulator
重命名为DirectAttackSimulator
。默认将 PF_EVALS_BATCH_USE_ASYNC 环境变量设置为 True,以启用异步批处理运行支持异步的内置评估器,从而提高性能。
AdversarialSimulator
类现在支持模拟提示的随机化,以及通过两个新参数:randomize_order
和randomization_seed
来实现随机化的种子设置以保持一致性。默认情况下启用随机化。子类DirectAttackSimulator
始终使用randomization_seed
来同步子模拟器,即使未提供种子。
v0.3.2 (2024-08-13)#
新增功能#
引入了
JailbreakAdversarialSimulator
,用于需要同时运行越狱和非越狱对抗性模拟的客户。更多信息请参见/promptflow/evals/synthetic/README.md#jailbreak-simulator
中的 README.md。通过
PF_BATCH_TIMEOUT_SEC
环境变量公开了批处理评估运行超时。此变量可用于单独为每个评估器和目标设置批处理评估的超时,而不是针对整个 API 调用。
错误修复#
大型模拟导致 jinja 异常,此问题已修复。
修复了使用多个评估器时,相对数据路径不适用于评估 API 的问题。
改进#
将内置评估器转换为基于异步的实现,利用异步批处理运行来提高性能。引入了
PF_EVALS_BATCH_USE_ASYNC
环境变量来启用/禁用异步批处理运行,默认为 False。评估器与模拟器在签名、传递凭据方面保持一致。
AdversarialSimulator
在响应中返回有害内容的category
。减少了基于 GPT 的评估器中出现 NaNs 的几率。
v0.3.1 (2024-07-09)#
此版本包含次要错误修复和改进。
v0.3.0 (2024-05-17)#
promptflow-evals 包的初始版本。