使用Azure OpenAI服务生成图像:详细指南

在数字时代,人工智能和机器学习技术正在不断进步,为我们提供了许多令人惊叹的工具和应用程序。Azure OpenAI服务是微软提供的一项强大的云计算服务,可以用于生成图像、文本和更多内容。在本文中,我们将深入探讨如何使用Azure OpenAI服务生成图像,同时介绍了必要的设置和认证步骤。

步骤1:准备工作

在开始之前,我们需要安装必要的依赖项。这些依赖项将帮助我们与Azure OpenAI服务进行通信,并处理生成的图像。

! pip install openai
! pip install requests
! pip install pillow
! pip install azure-identity

除了安装依赖项外,还需要在Azure门户中创建必要的资源。你可以在Microsoft Docs中找到关于如何创建这些资源的详细指南。

一旦资源创建完毕,我们需要获取Azure OpenAI服务的端点(Endpoint)。你可以在Azure门户中的"资源管理" -> "密钥和端点"下找到端点信息。有了这个信息,我们就可以设置SDK以连接到Azure OpenAI服务。

import os
import openai

openai.api_base = '' # 在这里添加你的端点
openai.api_version = '2023-06-01-preview'

步骤2:认证

Azure OpenAI服务支持多种认证机制,包括API密钥和Azure凭据。

使用API密钥认证

要配置OpenAI SDK以使用Azure API密钥,我们需要设置api_type为azure,并将api_key设置为与你的端点关联的密钥。你可以在Azure门户的"资源管理" -> "密钥和端点"中找到这个密钥。

use_azure_active_directory = False

if not use_azure_active_directory:
    openai.api_type = 'azure'
    openai.api_key = os.environ["OPENAI_API_KEY"]

请注意,在这个示例中,我们通过在代码中设置变量来配置库以使用Azure API。但在开发过程中,考虑使用环境变量来配置,以提高安全性。

使用Microsoft Active Directory认证

现在,让我们看看如何通过Microsoft Active Directory认证来获取密钥。

from azure.identity import DefaultAzureCredential

if use_azure_active_directory:
    default_credential = DefaultAzureCredential()
    token = default_credential.get_token("https://cognitiveservices.azure.com/.default")

    openai.api_type = 'azure_ad'
    openai.api_key = token.token

需要注意的是,令牌在一段时间后会过期。为了确保每次请求都发送有效的令牌,你可以通过请求认证来刷新即将过期的令牌。下面是一个示例,展示了如何刷新令牌的过程。

步骤3:生成图像

设置和认证完成后,你现在可以使用Azure OpenAI服务生成图像,并从返回的URL中检索它们。

生成图像

首先,让我们生成图像。在这个过程中,我们需要提供一个提示(prompt),指示生成器生成什么样的图像。

generation_response = openai.Image.create(
    prompt='一只赛博朋克猴子梦见一串美味的香蕉,数字艺术',
    size='1024x1024',
    n=2
)

print(generation_response)

在上述代码中,我们通过调用Image.create方法生成了图像。生成的图像将包含在响应中。

下载并显示图像

有了生成图像的URL,我们可以使用requests库来下载图像,并使用Pillow库来打开和显示它。

import os
import requests
from PIL import Image

image_dir = os.path.join(os.curdir, 'images')
if not os.path.isdir(image_dir):
    os.mkdir(image_dir)

image_path = os.path.join(image_dir, 'generated_image.png')
image_url = generation_response["data"][0]["url"]
generated_image = requests.get(image_url).content

with open(image_path, "wb") as image_file:
    image_file.write(generated_image)

display(Image.open(image_path))

上述代码首先设置了保存图像的目录,并下载了生成的图像。然后,它使用Pillow库来打开图像并在Jupyter Notebook中显示出来。

结论

通过本文,我们深入探讨了如何使用Azure OpenAI服务生成图像。从设置和认证到生成图像和显示图像,我们详细介绍了整个过程。Azure OpenAI服务为开发者提供了一个强大的工具,可用于自动化生成图像,这在许多应用中都具有潜力。

如果你对Azure OpenAI服务的其他功能和用途感兴趣,还可以进一步研究和探索。Azure提供了丰富的机器学习和人工智能工具,可用于解决各种问题和挑战。

希望本文能够帮助你开始使用Azure OpenAI服务生成图像,同时也激发你探索更多机器学习和人工智能领域的想法。

声明:本站所有文章,如无特殊说明或标注,均为本站(王大神)原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
指数词

如何使用Azure端点实现自动完成:一份详细指南

2023-9-17 22:27:15

指数词

如何使用多个OpenAI服务实例:详细指南

2023-9-17 22:31:23

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索