当前位置: 首页 > news >正文

在 Azure OpenAI 上使用 Elastic 优化支出和内容审核

作者:来自 Elastic Muthukumar Paramasivam,Bahubali Shetti 及 Daniela Tzvetkova

我们为 Azure OpenAI 正式发布包添加了更多功能,现在提供内容过滤监控和计费见解的增强!

在之前的博客中,我们展示了如何使用 Elastic 的集成来为托管在 Azure OpenAI 上的模型设置可观测性。我们扩展了集成,现在也包括 Azure OpenAI 的内容过滤和成本分析。如果你之前已经启用了 Azure OpenAI 集成,只需升级它,就能自动获得本博客中讨论的所有新功能。增强后的集成现在提供多个仪表盘,包括通用的 Azure OpenAI 概览、Azure 预配置吞吐单元仪表盘、Azure 内容过滤和 Azure OpenAI 计费仪表盘。

在本博客中,我们将介绍如何使用 Azure OpenAI 内容过滤和跟踪 Azure OpenAI 使用成本。先来回顾这两项 Azure OpenAI 功能能帮你做什么:

Azure OpenAI 内容过滤:增强 AI 安全

Azure OpenAI 的内容过滤在解决 AI 安全挑战中起着关键作用,帮助减轻 AI 模型生成的有害或不适当内容带来的风险。通过实施强大的内容过滤机制,组织可以主动识别并过滤潜在有害内容,比如仇恨言论、错误信息或暴力图像,防止这些内容传播给用户。这有助于防止有害内容扩散,减少对个人和社区的潜在负面影响。

监控 Azure OpenAI 内容过滤对积极应对新出现的内容审核挑战至关重要。通过密切监控系统,企业可以快速发现任何新类型的有害内容或滥用模式。这使组织能够领先应对潜在的内容审核问题,及时采取行动保护用户并维护品牌声誉。

跟踪 Azure OpenAI 使用成本

监控 Azure OpenAI 模型的使用成本对有效管理预算和资源分配至关重要。通过跟踪使用成本,组织可以优化运营,避免不必要的开支,确保从 AI 技术投资中获得最大价值。此外,它有助于预测未来开支,并根据需求调整资源规模,既不影响性能,也避免产生过高费用。有效的监控还提高了透明度和问责制,促进在 Azure 环境内更好地进行 AI 部署和利用的决策。

在本博客中,我们将为你提供设置和使用这两项功能预配置仪表盘的前置条件,这些功能都是 Azure OpenAI 集成的一部分。

前置条件

为了跟随本博客,你需要:

  1. 设置并安装 Azure 计费集成以监控使用成本。安装集成后,你可以在增强的 Azure OpenAI 计费仪表盘中跟踪使用情况。

  2. 确保已启用 Azure API 管理服务,以访问 Azure OpenAI 模型。

如何使用 Azure API 管理配合 Azure OpenAI:

  • 预配 Azure OpenAI 资源:创建一个 Azure OpenAI 资源,并为你的应用选择模型。

  • 创建 API 管理实例:建立一个 Azure API 管理实例来管理 Azure OpenAI API。

  • 导入 Azure OpenAI API:使用 OpenAPI 规范将 Azure OpenAI API 导入到你的 API 管理实例中。

  • 配置策略:在 API 管理中实施策略以管理请求认证、速率限制、流量控制等。

为 Azure OpenAI 创建内容过滤器的步骤

在设置内容过滤的可观测性之前,确保你已经为模型配置了 Azure 内容过滤。按照以下步骤创建 Azure OpenAI 内容过滤器:

  1. 访问 Azure OpenAI 服务控制台:
    使用具有相应权限的账号登录 Azure 控制台,进入 Azure OpenAI 服务控制台。

  2. 导航到 安全与防护(Safety + security):
    从左侧菜单选择 Safety + security

  3. 创建新的内容过滤器:

    • 选择 Safety + security
    •  配置各种内容过滤策略,包括:
      • 设置输入过滤器:内容将按类别标注,并根据你为提示设置的阈值进行阻止。
      • 设置输出过滤器:内容将按类别标注,并根据你为响应输出设置的阈值进行阻止。
      • 阻止列表(Blocklists):定义需要屏蔽的特定词语或短语。
      • 部署(Deployments):将过滤器应用于模型部署。
  4. 审核并创建:
    审核你的设置,选择 Create 以完成内容过滤器配置。

客户还可以配置内容过滤器并创建定制的安全策略,以满足其具体使用需求。该配置功能允许客户分别针对提示(prompts)和完成内容(completions)调整设置,在不同严重级别下过滤每个内容类别。

内容过滤器类型

  • 内容过滤类别包括:
    • (仇恨、性相关、暴力、自残)
    • 其他可选的分类模型用于检测越狱风险和已知的文本及代码内容。
  • 每个内容过滤类别内的严重级别:
    • (低、中、高)
    • 被检测为“安全”级别的内容会被标注,但不进行过滤,且该级别不可配置。

了解 Azure OpenAI 内容过滤的预配置仪表盘

设置好过滤器后,你可以通过 Azure OpenAI 内容过滤仪表盘在 Elastic 中查看被过滤的内容。

操作步骤:

  1. 进入仪表盘菜单 — 在 Elastic 中选择 Dashboard 菜单选项,搜索  [Azure OpenAI] Content Filtering Overview,打开仪表盘。

  2. 进入集成菜单 — 在 Elastic 中打开 Integrations 菜单,选择 Azure OpenAI,进入 Assets 标签页,从仪表盘资产中选择 [Azure OpenAI] Content Filtering Overview

Elastic 集成中的 Azure OpenAI 内容过滤概览仪表盘提供了对被阻止请求、API 延迟和错误率的洞察。该仪表盘还详细展示了内容过滤策略过滤的内容细分情况。

内容过滤概览

当内容过滤系统检测到有害内容时,如果提示被判定为不合适,API 调用会返回错误;或者响应中的 finish_reason 会显示为 content_filter,表示部分完成内容被过滤。

总结如下:

  • 提示过滤(Prompt filters):被分类为过滤类别的提示内容会返回 HTTP 400 错误。

  • 非流式完成(Non-streaming completion):当内容被过滤时,非流式完成调用不会返回任何内容。少数情况下,较长响应可能返回部分结果,此时 finish_reason 会被更新。

  • 流式完成(Streaming completion):流式完成调用会边生成边返回内容。服务会持续流式传输,直到遇到停止标记、达到长度限制,或检测到被分类为过滤类别且达到严重级别的内容。

被屏蔽内容的提示和响应

该仪表盘部分显示了原始的 LLM 提示、来自各种来源(API 调用、应用程序或聊天界面)的输入,以及相应的完成响应。下方面板展示了应用内容过滤策略后,对提示和完成内容的响应情况。

你可以使用以下代码片段将当前的提示和设置集成到你的应用中,以测试内容过滤器:

chat_prompt = [{"role": "user","content": "How to kill a mocking bird?"}
]

运行代码后,你会发现内容被按照 violence 类别 和 medium 严重级别过滤。

按内容来源(输入和输出)过滤的内容

内容过滤系统根据严重级别帮助监控和审核不同类别的内容。这些类别通常包括成人内容、冒犯性语言、仇恨言论、暴力等。严重级别表示内容的敏感程度或潜在危害程度。此面板帮助用户有效监控并过滤不当或有害内容,从而维护安全的环境。

这些指标可以分为以下几类:

  • 按类别统计的被阻止请求:提供每个类别下被阻止请求的总量洞察。

  • 各类别的严重级别分布:监控按类别和严重级别(低、中、高)划分的被阻止请求情况。

  • 被过滤的内容类别:提供随时间推移的内容过滤类别趋势洞察。

查看 Azure OpenAI 计费仪表盘

你现在可以查看在 Azure OpenAI 上的花费情况。

以下是你在该仪表盘上可以看到的内容:

  • 总成本:衡量所有模型部署的总使用成本。

  • 按模型的总体使用情况:跟踪按模型划分的总使用成本。

  • 每日使用情况:按天监控使用成本。

  • 按模型的每日使用成本:按模型部署划分监控每日使用成本。

结论

Azure OpenAI 集成可以帮助你轻松收集为基于 LLM 的应用准备的一组精选指标和日志,包括经过内容过滤的响应。它配有开箱即用的仪表盘,你也可以根据具体需求进行自定义。

在 Elasticsearch Service 上部署一个集群或下载 Elastic Stack,启动全新的 Azure OpenAI 集成,在 Kibana 中打开精选仪表盘,开始监控你的 Azure OpenAI 服务吧!

原文:Optimizing Spend and Content Moderation on Azure OpenAI with Elastic — Elastic Observability Labs

相关文章:

  • OpenCV 图像色彩空间转换
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Rotating Navigation (旋转导航)
  • 在 Win 10 上,Tcl/Tk 脚本2个示例
  • ubuntu kubeasz 部署高可用k8s 集群
  • 电磁感应在量子计算中如何应用
  • day018-磁盘管理-案例
  • Babylon.js学习之路《六、材质与纹理:为模型赋予真实的表面效果》
  • 医疗影像中,DICOM点云、三角面片实体混合渲染(VR)
  • Oracle中如何解决FREE BUFFER WAITS
  • Oracle基础知识
  • Redis哨兵(Sentinel)模式详解:构建高可用Redis架构
  • 【c# 中 == 和jave 的== 区别】
  • 数据库与存储安全
  • 演示:【WPF-WinCC3D】 3D工业组态监控平台源代码
  • 深入理解Redis Cluster:架构、原理与实践
  • 【latex】文本颜色修改
  • 解决 Incorrect username or password (access token)
  • 系统架构设计(十七):微服务数据一致性和高可用策略
  • 黑马Java基础笔记-13常用查找算法
  • MySql数据库连接池
  • 国家话剧院发讣告悼念朱媛媛:始终秉持“戏比天大”的信念
  • 王晋卿读《酒的精神》︱乏味时代的有味之思
  • 第九届非遗节将于五月下旬举办,600个非遗项目将参展参演
  • 广东7月起施行:不得以任何方式强制购买中小学校服或捆绑销售
  • “宝马女司机驾车拖行虐猫”引关注,海口警方介入调查
  • 人民日报评论员观察:稳企业,全力以赴纾困解难