SynapseML 中配置 Azure AI 服务和 Azure OpenAI 资源的完整指南

SynapseML 中配置 Azure AI 服务和 Azure OpenAI 资源的完整指南

SynapseML microsoft/SynapseML: 是一个开源的机器学习框架,用于构建和部署人工智能应用。它提供了丰富的机器学习算法和工具,可以帮助开发者快速构建 AI 应用。特点包括易于使用、高性能、支持多种机器学习算法等。 SynapseML 项目地址: https://gitcode.com/gh_mirrors/sy/SynapseML

前言

SynapseML 是微软开发的一个强大的分布式机器学习库,它能够与 Apache Spark 无缝集成,为大规模数据处理和机器学习任务提供支持。本文将详细介绍如何在 SynapseML 中配置和使用 Azure AI 服务和 Azure OpenAI 资源,帮助开发者快速上手这些强大的认知服务功能。

准备工作

在开始配置之前,您需要确保具备以下条件:

  1. 一个有效的 Azure 订阅(如果没有,可以免费创建一个)
  2. 对 Azure 门户的基本操作熟悉
  3. 了解基本的 Python 和 Spark 编程知识

Azure OpenAI 服务配置

Azure OpenAI 服务提供了强大的自然语言处理能力,通过 SynapseML 的集成,您可以在大规模数据集上高效地使用这些能力。

获取访问权限

由于 Azure OpenAI 服务目前仍处于有限访问阶段,您需要:

  1. 提交访问请求,说明您的使用场景
  2. 等待微软审核通过您的请求

创建 Azure OpenAI 资源

获得访问权限后,按照以下步骤创建资源:

  1. 登录 Azure 门户
  2. 搜索并选择"Azure OpenAI"服务
  3. 点击"创建"按钮
  4. 填写必要的资源信息(名称、订阅、资源组等)
  5. 选择合适的定价层
  6. 完成创建过程

获取访问密钥

资源创建完成后,获取访问密钥的步骤:

  1. 导航到您创建的 OpenAI 资源
  2. 在左侧菜单中选择"密钥和终结点"
  3. 复制其中一个密钥(建议妥善保存,不要直接暴露在代码中)

Azure AI 服务配置

Azure AI 服务提供了一系列认知服务能力,包括决策、语言、语音和视觉等。

角色分配

在使用前,您需要:

  1. 为您的账户分配"Azure AI 服务参与者"角色
  2. 同意负责任的 AI 使用条款

创建多服务资源

建议创建多服务资源,以便灵活使用不同类型的 AI 服务:

  1. 在 Azure 门户中搜索"AI 服务"
  2. 选择"多服务"资源类型
  3. 填写创建表单(名称、区域、定价层等)
  4. 完成创建过程

获取访问密钥

与 OpenAI 类似,获取密钥的步骤:

  1. 导航到创建的 AI 服务资源
  2. 选择"密钥和终结点"
  3. 复制并安全保存密钥

密钥管理最佳实践

在生产环境中,直接使用密钥字符串是不安全的。推荐使用 Azure Key Vault 来管理密钥。

Azure Key Vault 创建

  1. 在 Azure 门户中创建新的 Key Vault
  2. 配置适当的访问策略
  3. 确保 Key Vault 与您的 SynapseML 环境位于同一区域

密钥存储

  1. 将 AI 服务密钥作为机密存储在 Key Vault 中
  2. 为机密设置适当的名称和描述
  3. 配置访问控制,限制谁可以访问这些机密

在不同平台使用 find_secret

SynapseML 提供了 find_secret 方法来安全地访问存储在 Key Vault 中的密钥。

Microsoft Fabric/Power BI 配置

  1. 为 Fabric 或 Power BI 服务账户分配 Key Vault 的"获取"权限
  2. 确保网络连接配置正确

Azure Databricks 配置

  1. 将 Key Vault 权限模型设置为"保管库访问策略"
  2. 在 Databricks 中创建密钥范围
  3. 关联 Key Vault 的 DNS 名称和资源 ID

Azure Synapse 配置

  1. 在 Synapse Studio 中创建 Key Vault 链接服务
  2. 为 Synapse 工作区分配 Key Vault 管理员角色
  3. 发布更改以生效

快速测试示例

以下是一个使用 SynapseML 进行文本分析的简单示例:

from synapse.ml.services.language import AnalyzeText
from synapse.ml.core.platform import find_secret

# 从Key Vault获取密钥
ai_service_key = find_secret(
    secret_name="ai-services-api-key", 
    keyvault="your-keyvault-name"
)
ai_service_location = "your-region"

# 创建测试数据
df = spark.createDataFrame(
    data=[
        ["en", "Dr. Smith has a very modern medical office, and she has great staff."],
        ["en", "I had a wonderful trip to Seattle last week."],
    ],
    schema=["language", "text"],
)

# 配置文本分析服务
entity_recognition = (
    AnalyzeText()
    .setKind("EntityRecognition")
    .setLocation(ai_service_location)
    .setSubscriptionKey(ai_service_key)
    .setTextCol("text")
    .setOutputCol("entities")
    .setErrorCol("error")
    .setLanguageCol("language")
)

# 执行分析
df_results = entity_recognition.transform(df)
display(df_results.select("language", "text", "entities.documents.entities"))

预期输出将包含识别的实体信息,如人名、地点、事件等,以及相关的置信度分数。

总结

通过本文的指导,您应该已经掌握了在 SynapseML 中配置和使用 Azure AI 服务及 Azure OpenAI 资源的完整流程。记住始终遵循安全最佳实践,使用 Key Vault 管理敏感信息,并根据实际需求调整资源配置。SynapseML 的强大功能结合 Azure 认知服务,能够为您的机器学习项目提供强大的支持。

SynapseML microsoft/SynapseML: 是一个开源的机器学习框架,用于构建和部署人工智能应用。它提供了丰富的机器学习算法和工具,可以帮助开发者快速构建 AI 应用。特点包括易于使用、高性能、支持多种机器学习算法等。 SynapseML 项目地址: https://gitcode.com/gh_mirrors/sy/SynapseML

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛彤影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值