在数字时代,人工智能和自动化已经深刻影响了我们的生活。你可能已经听说过Azure,这是微软提供的云计算服务,其中包括强大的人工智能功能。今天,我们将深入探讨如何利用Azure的端点来实现自动完成(Completions)。这是一项功能强大的任务,可以用于自动化文本生成、智能推荐等多个领域。本文将为你详细介绍如何设置和使用Azure端点,以实现自动完成。
步骤1:准备工作
在开始之前,我们需要进行一些设置。首先,我们要确定Azure的API版本和端点(Endpoint)。要找到你的API端点,请登录Azure门户,找到你的资源,然后在"资源管理" -> "密钥和端点"下查找"端点"值。
import os
import openai
openai.api_version = '2023-05-15'
openai.api_base = '' # 请在此处添加你的端点
接下来,我们需要设置API类型和API密钥。根据你的需求,你可以从门户获取密钥,也可以通过Microsoft Active Directory Authentication获取。根据这两种情况,API类型是azure或azure_ad。
设置:门户
首先,让我们看看如何从Azure门户获取密钥。登录Azure门户,找到你的资源,然后在"资源管理" -> "密钥和端点"下查找一个"Keys"值。
openai.api_type = 'azure'
openai.api_key = os.environ["OPENAI_API_KEY"]
请注意,在此示例中,我们通过在代码中设置变量来配置库以使用Azure API。但在开发过程中,考虑使用环境变量来配置:
- OPENAI_API_BASE
- OPENAI_API_KEY
- OPENAI_API_TYPE
- OPENAI_API_VERSION
设置:Microsoft Active Directory Authentication
现在,我们来看看如何通过Microsoft Active Directory Authentication获取密钥。如果你想使用Active Directory Authentication而不是门户中的密钥,请取消下面代码块的注释。
# from azure.identity import DefaultAzureCredential
# default_credential = DefaultAzureCredential()
# token = default_credential.get_token("https://cognitiveservices.azure.com/.default")
# openai.api_type = 'azure_ad'
# openai.api_key = token.token
需要注意的是,令牌在一段时间后会过期。为了确保每次请求都发送有效的令牌,你可以通过请求认证来刷新即将过期的令牌。
步骤2:部署模型
在这一步,我们将创建一个部署,使用text-davinci-002模型。这个部署将成为我们实现自动完成的关键。
手动创建部署
首先,登录Azure门户,在"资源管理" -> "模型部署"下创建一个新的部署。选择text-davinci-002作为模型。
deployment_id = '' # 请在此处填写门户中的部署ID
步骤3:实现自动完成
现在,我们将向部署发送一个样本自动完成请求。
prompt = "这顿饭很美味,服务员"
completion = openai.Completion.create(deployment_id=deployment_id,
prompt=prompt, stop="。", temperature=0)
print(f"{prompt}{completion['choices'][0]['text']}。")
这段代码会将一个开始文本(prompt)发送给Azure的部署,然后返回一个自动完成的文本。在这个示例中,我们以“这顿饭很美味,服务员”为开头,要求模型生成以句号为终止的文本。
结论
通过这个教程,我们学会了如何使用Azure端点来实现自动完成。从设置API版本和端点,到创建部署并生成自动完成的文本,我们已经了解了整个过程。自动完成是一个非常强大的任务,可以在多个领域中提高工作效率和准确性。
如果你对Azure的其他功能和用途感兴趣,还可以进一步研究和探索。Azure提供了丰富的人工智能和云计算工具,可用于解决各种问题和挑战。
希望这个指南对你有所帮助,让你更好地利用Azure来实现自动完成和其他任务。