使用 Azure OpenAI本篇文章介绍如何使用OpenAI的Azure API来部署模型、创建补全和等待部署状态等操作。阅读本文可以让你快速了解简单的操作,快速上手使用Azure API。 Azure 完成示例在此示例中,我们将尝试遍历使用 Azure 端点完成工作所需的所有操作。
此示例侧重于完成,但也涉及使用 API 也可用的其他一些操作。 此示例旨在快速展示简单操作,并非教程。 [size=1em][size=1.4em]import[size=1.4em] openai
[size=1.4em][size=1.4em]from [size=1.4em]openai[size=1.4em] import[size=1.4em] cli
设置为了使以下部分正常工作,我们首先必须设置一些东西。 让我们从 api_base 和 api_version 开始。 要找到您的 api_base,请转到 [color=var(--color-dark)] https://portal.azure.com,找到您的资源,然后在“资源管理”->“Keys and Endpoints”下查找“Keys”值之一。 [size=1em][size=1.4em]openai.api_type = [size=1.4em]'azure'[size=1.4em]
[size=1.4em]openai.api_key = [size=1.4em]''[size=1.4em] [size=1.4em]# Please add your api key here
(可选)设置:Microsoft Active Directory 身份验证现在让我们看看如何通过 Microsoft Active Directory 身份验证获取密钥。 如果您想使用 Active Directory 身份验证而不是门户中的密钥,请取消注释以下代码。 [size=1em][size=1.4em]# from azure.identity import DefaultAzureCredential[size=1.4em]
[size=1.4em]
[size=1.4em][size=1.4em]# default_credential = DefaultAzureCredential()[size=1.4em]
[size=1.4em][size=1.4em]# token = default_credential.get_token("https://cognitiveservices.azure.com/.default")[size=1.4em]
[size=1.4em]
[size=1.4em][size=1.4em]# openai.api_type = 'azure_ad'[size=1.4em]
[size=1.4em][size=1.4em]# openai.api_key = token.token
部署在本节中,我们将使用 text-davinci-002 模型创建一个部署,然后我们可以使用它来创建补全。 部署:手动创建通过转到门户中“资源管理”->“模型部署”下的资源来创建新部署。 选择 text-davinci-002 作为模型。 (可选)部署:以编程方式创建我们还可以使用代码创建部署: [size=1em][size=1.4em]model = [size=1.4em]"text-davinci-002"[size=1.4em]
[size=1.4em]
[size=1.4em][size=1.4em]# Now let's create the deployment[size=1.4em]
[size=1.4em][size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]'Creating a new deployment with model: {model}'[size=1.4em])[size=1.4em]
[size=1.4em]result = openai.Deployment.[size=1.4em]create[size=1.4em]([size=1.4em]model=model, scale_settings=[size=1.4em]{[size=1.4em]"scale_type"[size=1.4em]:[size=1.4em]"standard"[size=1.4em]})[size=1.4em]
[size=1.4em]deployment_id = result[size=1.4em][[size=1.4em]"id"[size=1.4em]][size=1.4em]
[size=1.4em][size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]'Successfully created deployment with id: {deployment_id}'[size=1.4em])
(可选)Deployments:等待部署成功现在让我们检查新创建的部署的状态,等待它成功。 [size=1em][size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]'Checking for deployment status.'[size=1.4em])[size=1.4em]
[size=1.4em]resp = openai.Deployment.[size=1.4em]retrieve[size=1.4em]([size=1.4em]id=deployment_id[size=1.4em])[size=1.4em]
[size=1.4em]status = resp[size=1.4em][[size=1.4em]"status"[size=1.4em]][size=1.4em]
[size=1.4em][size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]'Deployment {deployment_id} has status: {status}'[size=1.4em])[size=1.4em]
[size=1.4em][size=1.4em]while[size=1.4em] status [size=1.4em]not[size=1.4em] [size=1.4em]in[size=1.4em] [size=1.4em][[size=1.4em]"succeeded"[size=1.4em], [size=1.4em]"failed"[size=1.4em]][size=1.4em]:
[size=1.4em] resp = openai.Deployment.[size=1.4em]retrieve[size=1.4em]([size=1.4em]id=deployment_id[size=1.4em])[size=1.4em]
[size=1.4em] status = resp[size=1.4em][[size=1.4em]"status"[size=1.4em]][size=1.4em]
[size=1.4em] [size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]'Deployment {deployment_id} has status: {status}'[size=1.4em])
完工现在让我们向部署发送示例完成。 [size=1em][size=1.4em]prompt = [size=1.4em]"The food was delicious and the waiter"[size=1.4em]
[size=1.4em]completion = openai.Completion.[size=1.4em]create[size=1.4em]([size=1.4em]deployment_id=deployment_id,
[size=1.4em] prompt=prompt, stop=[size=1.4em]"."[size=1.4em], temperature=[size=1.4em]0[size=1.4em])[size=1.4em]
[size=1.4em]
[size=1.4em][size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]"{prompt}{completion['choices'][0]['text']}."[size=1.4em])
(可选)部署:删除最后让我们删除部署 [size=1em][size=1.4em]print[size=1.4em]([size=1.4em]f[size=1.4em]'Deleting deployment: {deployment_id}'[size=1.4em])[size=1.4em]
[size=1.4em]openai.Deployment.[size=1.4em]delete[size=1.4em]([size=1.4em]sid=deployment_id[size=1.4em])
# [color=var(--color-dark)]API# [color=var(--color-dark)]opanAI API# [color=var(--color-dark)]openAI
|