2024/03/22 更新:该方法已失效。
Azure OpenAI 默认启用的内容筛选器会影响正常的流式输出(模型的输出需要等待集齐若干个字符、等待内容筛选器处理完成后才输出,而不是立即逐字符输出)。要得到接近 OpenAI API 的流式输出性能,需要关闭 Azure 默认开启的内容筛选器。目前 Azure 提供了关闭内容筛选器的选项,但这种做法需要向 Azure 提出申请(参考 Azure 文档 中的说明)并等待审批通过才能使用。
在之前的一篇 文章 中,我们讨论过一种手动抓包、修改请求并重放的方法以修改 Azure OpenAI 内容筛选器的设置,实现免申请关闭内容筛选器;但这种做法比较复杂,本文会给出一种更简单的方法,只需要安装 Tampermonkey 和一个用户脚本。
前提条件
- 在浏览器中安装 Tampermonkey 扩展程序
操作步骤
- 在 Tampermonkey 中安装用户脚本 Azure OpenAI Modified Filters 隐藏选项开放 并启用
创建一个不影响流式输出的自定义内容筛选器
- 登录 Azure OpenAI Studio
- 选择左侧边栏
管理
下的内容筛选器(预览)
- 在
内容筛选配置
页面,点击创建自定义内容筛选器
- 填写
创建自定义配置名称
- 将右侧的
筛选器和批注
关闭(该选项仅在启用了前面提供的用户脚本,或者通过了 Azure 的关闭内容筛选器申请的情况下可见) - 一直点
下一步
直到最后一个步骤 - 在最后一步点击
创建内容筛选器
修改模型部署,使其使用前一步骤创建的自定义内容筛选器
- 选择左侧边栏
管理
下的部署
- 在模型部署列表中,选择一个模型部署
- 点击
编辑部署
- 点击
高级选项
- 在
内容筛选器
下拉框中选择我们刚刚创建的内容筛选器 - 点击
保存并关闭
- 选择左侧边栏
原理
Azure OpenAI Studio 会请求一个 API 接口查询当前用户是否通过了关闭内容筛选器的申请,仅当申请通过时展示相关的表单选项。本文描述的步骤通过 Tampermonkey 注入一个用户脚本,这个脚本会拦截这个请求并重写它的响应,使得 Azure OpenAI Studio 页面认为当前用户已通过关闭内容筛选器的申请。又因为创建、修改内容筛选器的接口不会二次验证这个申请的通过状态,所以可以达成关闭内容筛选器的目的。
Policy does not have necessary permission to override base policy. Please check aka.ms/oai/rai/exceptions
写的很详细具体,学习到了,多谢博主的分享!⌇●﹏●⌇
成功关闭筛选并开启异步标注了,感谢博主!