我目前已在 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 地址:
- 获取 Azure OpenAI 资源专用终结点的 IP 地址。可以在 Azure 门户的 OpenAI 资源的“网络”部分下找到它。
-
在的 Python 代码中,将
openai.azure_endpoint
设置为此 IP 地址,例如:https://<PRIVATE_ENDPOINT_IP_ADDRESS>/
.
-
配置自己的 DNS 服务器以解析专用终结点:
- 在的虚拟网络中设置自定义 DNS 服务器(例如,使用 Azure DNS 私有区域)。
- 将此自定义 DNS 服务器配置为将 Azure OpenAI 专用终结点的 DNS 名称解析为其专用 IP 地址。
- 将的 Synapse 工作区配置为使用此自定义 DNS 服务器。
-
在 Synapse 工作区中启用托管标识并授予其对 OpenAI 的访问权限:
- 为的 Synapse 工作区启用托管标识。
- 在的 Azure OpenAI 资源上,将“认知服务 OpenAI 读者”角色分配给 Synapse 工作区的托管标识。
-
在的 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