首页 > 编程问答 >如何从 Azure synapse 工作区笔记本连接 Azure Open AI PE 端点

如何从 Azure synapse 工作区笔记本连接 Azure Open AI PE 端点

时间:2024-07-20 20:59:34浏览次数:12  
标签:python azure azure-openai

我目前已在 azure synapse 中创建了一个笔记本,并尝试连接到 Azure Open AI,但开放 AI 端点只能通过专用端点使用。如何通过 PE 连接到 Azure Open AI 端点。 我创建了一个从 Azure Synapse 到 Azure Open AI 的 PE。 Open AI 服务和 synapse 工作区位于同一 Vnet 和子网中,但位于不同的资源组下。 Azure Open AI 的公共网络连接已禁用,但 Synapse 工作区的公共网络连接已打开。

我应使用什么作为 openai.azure_endpoint。 我尝试按服务原样使用 azure open ai 端点,同时启用公共网络访问并且工作正常。 但是,如果我在启用 PE 时尝试使用 \<PE dns.open ai dns.openai.azure.com\> ,则会收到连接错误。

解决方案是什么??!!

PFB 代码片段。

%pip install openai

import openai
from azure.identity import DefaultAzureCredential

openai.api_key = "xxxxxx"
openai.azure_endpoint = "https://xxxx.openai.azure.com/"
openai.api_type = "azure"
openai.api_version = "2023-12-01-preview"

response = openai.chat.completions.create(

model="gpt-3.5-turbo-1106",
messages=\[{"role": "user", "content": """whats 2+2 """}\]
)

print(response.choices\[0\].message.content)

了解!想要从位于虚拟网络中的 Azure Synapse 工作区连接到具有专用终结点的 Azure OpenAI。在使用专用终结点的 DNS 名称时遇到连接错误。以下是如何解决此问题的步骤:

1. 理解问题:

  • DNS 解析: 当公共网络访问被禁用时,的 Synapse 工作区很可能无法解析 Azure OpenAI 专用终结点的 DNS 名称。专用 DNS 区域通常仅在的虚拟网络中可解析。
  • 网络路由: 即使 DNS 解析正常,也需要确保的 Synapse 工作区和 OpenAI 资源之间的网络路由已正确配置。

2. 解决方案:

可以采取以下几种方法来解决此问题:

  • 在 Synapse 工作区中使用专用终结点的 IP 地址:

    1. 获取 Azure OpenAI 资源专用终结点的 IP 地址。可以在 Azure 门户的 OpenAI 资源的“网络”部分下找到它。
    2. 在的 Python 代码中,将 openai.azure_endpoint 设置为此 IP 地址,例如: https://<PRIVATE_ENDPOINT_IP_ADDRESS>/ .
  • 配置自己的 DNS 服务器以解析专用终结点:

    1. 在的虚拟网络中设置自定义 DNS 服务器(例如,使用 Azure DNS 私有区域)。
    2. 将此自定义 DNS 服务器配置为将 Azure OpenAI 专用终结点的 DNS 名称解析为其专用 IP 地址。
    3. 将的 Synapse 工作区配置为使用此自定义 DNS 服务器。
  • 在 Synapse 工作区中启用托管标识并授予其对 OpenAI 的访问权限:

    1. 为的 Synapse 工作区启用托管标识。
    2. 在的 Azure OpenAI 资源上,将“认知服务 OpenAI 读者”角色分配给 Synapse 工作区的托管标识。
    3. 在的 Python 代码中,使用 DefaultAzureCredential 进行身份验证,而不是 API 密钥:

    ```python from azure.identity import DefaultAzureCredential from azure.openai import OpenAIClient

    credential = DefaultAzureCredential() client = OpenAIClient( endpoint="https:// .openai.azure.com/", # 使用公共端点 URL credential=credential )

    response = client.completions.create( model="gpt-3.5-turbo-1106", messages=[{"role": "user", "content": """whats 2+2 """}] )

    print(response.choices[0].message.content) ```

3. 验证:

完成上述步骤后,的 Synapse 工作区应该能够成功连接到 Azure OpenAI 专用终结点。

其他注意事项:

  • 确保的 Synapse 工作区和 Azure OpenAI 资源位于同一个虚拟网络中,或者至少通过 VNet 对等互连或 VPN 网关连接。
  • 检查的网络安全组(NSG)规则,以确保它们允许 Synapse 工作区和 Azure OpenAI 资源之间的流量。

如果在执行这些步骤时遇到任何问题,请提供任何错误消息或其他相关信息,以便我可以提供更具体的帮助。

标签:python,azure,azure-openai
From: 78771242

相关文章

  • anaconda与python是什么关系
    Anaconda是Python的一个发行版,里面内置了很多工具,不用单独安装,因为做了优化也免去了单独安装带来的一些麻烦。Anaconda是一种Python语言的免费增值开源发行版,用于进行大规模数据处理、预测分析,和科学计算,致力于简化包的管理和部署。Anaconda使用软件包管理系统Conda进行包管......
  • 用于检查 Google Gemini 支持的所有 GenerativeAI 模型的 Python 代码是什么?
    作为GenerativeAI世界的新手,我正在尝试加载预先训练的文本生成模型并做一些不起作用的事情。这就是我加载GenerativeAI模型的方式。fromvertexai.generative_modelsimportGenerativeModelgeneration_model=GenerativeModel("gemini-pro")由于它不......
  • 想让字典操作更优雅?自定义Python字典类型,简化你的代码库!
    目录1、继承dict类......
  • Vispy,一个专门用于创建交互式可视化的python库
    目录什么是Vispy?为什么选择Vispy?安装Vispy基础概念创建第一个Vispy可视化2D图形的进阶使用3D图形的绘制交互性结论什么是Vispy?Vispy是一个高性能的Python库,专门用于创建交互式可视化。它支持2D和3D数据的可视化,并且可以轻松地集成到各种应用程序中。Vispy的核心优......
  • python 复制 excel 保留文档中完全相同的参数(样式、单元格大小和融合、边框...)
    我正在寻找一种在其他文件中复制和excel的方法。我有一个“file_1.xlsx”,但我想要一个不存在的“file_1_copy.xlsx”。副本必须与原始文件完全相同,这意味着单元格大小、它们的融合、单元格中文本的颜色、背景、如果有边框,就好像我用右键单击。我有:importopenpyxlfromope......
  • python查看某个包的当前安装版本以及最新版本
    方法1:使用pip和--outdated参数你可以使用piplist--outdated命令来查看哪些包有更新版本可用。这个命令会列出所有安装的包以及它们在PyPI上的最新版本。piplist--outdated这将输出一个包列表,包含当前版本和最新版本,例如:PackageVersionLatestTyp......
  • 【python】错误 SyntaxError: invalid syntax的解决方法总结
    【python】错误SyntaxError:invalidsyntax的解决方法总结在Python编程中,SyntaxError:invalidsyntax是一个常见的错误,通常表示Python解释器在尝试解析代码时遇到了语法错误。这种错误可能由多种原因引起,包括拼写错误、缺少关键字、不恰当的缩进等。本文将深入探讨......
  • MiniQMT国债逆回购策略Python代码全解析
    文章目录......
  • python—爬虫的初步了解
    Python爬虫(WebScraping)是一种自动化从网站上提取数据的技术。Python由于其简洁的语法、丰富的库和强大的社区支持,成为了实现网络爬虫的首选语言之一。下面是一些Python爬虫的基本概念和步骤:1.爬虫的基本概念请求(Request):爬虫向服务器发送的请求,通常包括URL、HTTP方法(如......
  • Python集合的概念与使用
      在Python中,集合(set)是一种无序且不包含重复元素的数据结构。集合对象由一组大括号 或 函数创建,但请注意,大括号 在没有元素的情况下会创建一个空字典,而不是空集合。因此,当你想创建一个空集合时,应该使用 set()函数而不是 set{}集合的特点无序:集合中的元素没有特定的......