1. 简单介绍

随着大语言模型的发展,security问题越来越受到关注,同时微软很快推出了自己的Content Filter服务。其他公司也提供了一些确保Model safety的平台,比如Nvidia Nemo Guardrails。当前微软还有很多的平台可以确保企业或组织的Compliance/security满足要求的,比如Microsoft Purview,Microsoft Defender等,这些平台都很庞大。Content Filter服务和Azure Open AI进行绑定,也可以独立地进行使用。调用Rest API或者SDK都可以的。

这边将尝试一下创建一个Content Filter服务,然后使用SDK在本地调用一下。

2.具体说明

2.1 Content Filter与AOAI结合

2.1.1 创建Content Filter

1) 打开Azure AI Foundry portal中的Azure Open AI服务,然后点击左侧导航中的Guardrails + Controls菜单,

        

2) 在Guardrails + Controls界面的Content filters面板中,点击Create content filter按钮,

        

3)输入Content filter的name,

        

4) 设置一下Content filter中的Violence, Hate, Sexual, Self-harm,Prompt shields for jailbreak attacks, Prompt shields for indirect attacks。

其中Violence, Hate, Sexual, Self-harm设定的值越小,表示安全检查越严格。

        

5) 设定一下Output filter,

        

6) 可以与已经存在的Azure Open AI deployment进行关联,

        

7) 配置完成,在Review界面点击Create按钮进行Content filter创建。创建完成的结果如下所示,

        

2.1.2 应用一下

因为Content filter已经与Azure Open AI deployment进行了绑定,直接调用Azure Open AI即可,

代码如下,

        

执行命令 dotnet run,发现返回的status code是400,同时提示了原因是因为content filter的拦截

        

2.2 Content Filter单独使用

2.2.1 创建Content Safety服务

1) 在Azure portal中,直接搜索Content Safety进行服务创建,

        

2) 记录一下 Content Safety服务的endpoint,

        

3) 记录一下Content Safety服务的key,

        

2.2.2 应用一下

需要安装一下nuget package Azure.AI.ContentSafety,

        

应用程序如下,

        

note, 在程序中需要设定一下Azure Content Safety 的endpoint, subscriptionkey配置信息。

执行命令dotnet run,发现通过Text Analytic之后, Violence severity的值为4,

        

因此应用程序中可以直接集成Azure Content Safety服务。

3. 总结

本文简单记录了一下Azure Content Safety方面的两个用法,分别是Azure Content filter与Azure Open AI集成使用;另外一个是创建一个独立的Azure Content Safety服务,然后在应用程序中直接集成该服务。随着大语言模型以及AI Agent的普及,security将会受到越来越多组织的重视。

本文如果哪里有错误,麻烦告之,谢谢谢谢!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐