How to switch between OpenAI and Azure OpenAI Service endpoints with Python – Azure OpenAI
如何申请和使用 Azure OpenAI API的密钥
在本篇文章中,我们将介绍如何申请和使用Azure OpenAI API的密钥。Azure OpenAI API是一项强大的语言模型服务,可以为开发者提供文本生成、聊天机器人和问答系统等功能。接下来,我们将依照以下大纲逐渐介绍。
一、Azure OpenAI API概述
A. Azure OpenAI API是甚么
Azure OpenAI API是一项基于云平台Azure的语言模型服务,由Microsoft和OpenAI合作开发,为开发者提供强大的自然语言处理能力。
B. 它的利用场景和优势
Azure OpenAI API可以利用于多种场景,包括文本生成、聊天机器人、问答系统等。它的优势在于提供了先进的深度学习算法和大范围模型训练能力,可以生成高质量的文本。
二、申请Azure OpenAI API的步骤
A. 注册Azure账户
1. 访问Azure官网并注册账户:在Azure官网上注册一个新的账户。
2. 创建Azure OpenAI资源:登录Azure后,在Azure管理控制台上创建一个Azure OpenAI资源。
B. 获得API Key和终结点
1. 进入Azure OpenAI资源管理页面:在Azure管理控制台上找到创建的Azure OpenAI资源,并进入资源管理页面。
2. 在”Keys & Endpoint”标签下找到API Key和终结点:在资源管理页面的”Keys & Endpoint”标签下可以找到所需的API Key和终结点。
三、使用Azure OpenAI API
A. 导入OpenAI库并设置API Key和终结点
1. 在代码中导入openai模块:在使用Azure OpenAI API之前,需要先将openai模块导入到代码中。
2. 使用API Key替换代码中的”REPLACE_WITH_YOUR_API_KEY_HERE”:将代码中的”REPLACE_WITH_YOUR_API_KEY_HERE”替换为实际的API Key。
3. 使用终结点替换代码中的”REPLACE_WITH_YOUR_ENDPOINT_HERE”:将代码中的”REPLACE_WITH_YOUR_ENDPOINT_HERE”替换为实际的终结点。
B. 调用Azure OpenAI
1. 通过代码调用Azure OpenAI API:使用代码调用Azure OpenAI API进行文本生成、聊天机器人和问答系统等操作。
2. 指定要使用的模型和部署:在调用API时,可以指定要使用的模型和部署相关参数。
四、保护Azure OpenAI API的密钥
A. 使用环境变量保护密钥
1. 将API密钥存储在环境变量中:可以将API密钥存储在环境变量中,以提高密钥的安全性。
B. 使用Azure Vault保护密钥
1. 将API密钥存储在Azure Vault中:可以将API密钥存储在Azure Vault中,以提供更高级的密钥保护和管理功能。
C. 使用Streamlit Secrets保护密钥
1. 将API密钥存储在Streamlit Secrets中:可使用Streamlit Secrets技术,将API密钥存储在Streamlit Secrets中,提供更安全的密钥管理方案。
五、其他注意事项
A. API Key身份验证和Azure Active Directory身份验证的选择
开发者可以根据实际需求选择使用API Key身份验证或Azure Active Directory身份验证。
B. API Key的安全性和轮换
为了确保API Key的安全性,建议定期轮换API Key,并采取其他公道的安全措施。
C. Azure OpenAI Studio的使用
Azure OpenAI Studio是一个可视化的工具,可以帮助开发者更方便地使用Azure OpenAI API进行模型训练和测试。
通过本篇文章的详细介绍,读者可以了解到如何申请和使用Azure OpenAI API的密钥,并学会了如何保护密钥的方法。希望本文对读者们在使用Azure OpenAI API时能够提供帮助。
azure openai api key的进一步展开说明
目录
- 认证
- API 端点切换
- 模型关键参数
- Azure OpenAI 嵌入多输入支持
- 下一步
1. 认证
在使用 OpenAI 和 Azure OpenAI 服务时,您需要进行一些小的更改来在区别的端点之间切换。本文将指点您了解在 OpenAI 和 Azure OpenAI 之间工作时所遇到的常见更改和差异。
我们建议使用环境变量进行认证。如果您之前没有这样配置过,请参考我们的 Python 快速入门指南。
2. API 端点切换
虽然 OpenAI 和 Azure OpenAI 依赖于相同的 Python 客户端库,但您需要对代码进行一些小的更改才能在区别的端点之间切换。以下是需要做出的更改:
OpenAI 端点
import openai
openai.api_key = "sk-..."
openai.organization = "..."
Azure OpenAI 端点
import openai
openai.api_type = "azure"
openai.api_key = "..."
openai.api_base = "https://example-endpoint.openai.azure.com"
openai.api_version = "2023-05⑴5" (可能会有变化)
Azure Active Directory 认证
Azure OpenAI 还支持使用 Azure Active Directory 进行认证。在使用 Azure Active Directory 进行认证时,您需要进行以下设置:
import openai
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
token = credential.get_token("https://cognitiveservices.azure.com/.default")
openai.api_type = "azure_ad"
openai.api_key = token.token
openai.api_base = "https://example-endpoint.openai.azure.com"
openai.api_version = "2023-05⑴5" (可能会有变化)
3. 模型关键参数
OpenAI 使用 model 关键参数来指定要使用的模型。而 Azure OpenAI 则使用 deployment_id 关键参数来描写要使用的模型部署。Azure OpenAI 也支持将 engine 和 deployment_id 作为模型部署的可互换参数。大多数情况下,对 OpenAI,engine 依然有效,但已被弃用,模型参数更加推荐。
OpenAI 参数
completion = openai.Completion.create(
prompt="
model="text-davinci-003"
)
chat_completion = openai.ChatCompletion.create(
messages="
model="gpt⑷"
)
embedding = openai.Embedding.create(
input="",
model="text-embedding-ada-002"
)
Azure OpenAI 参数
completion = openai.Completion.create(
prompt="
deployment_id="text-davinci-003" #engine="text-davinci-003"
)
chat_completion = openai.ChatCompletion.create(
messages="
deployment_id="gpt⑷" #engine="gpt⑷"
)
embedding = openai.Embedding.create(
input="",
deployment_id="text-embedding-ada-002" #engine="text-embedding-ada-002"
)
4. Azure OpenAI 嵌入多输入支持
OpenAI 目前对使用 text-embedding-ada-002 模型的输入数组数量没有限制。而 Azure OpenAI 当前对 text-embedding-ada-002 Version 2 模型支持最多 16 个输入数组。这两种模型的 API 要求的最大输入令牌限制需要保持在 8191 以下。
OpenAI 参数
inputs = ["A", "B", "C"]
embedding = openai.Embedding.create(
input=inputs,
model="text-embedding-ada-002"
)
Azure OpenAI 参数
inputs = ["A", "B", "C"] #max array size=16
embedding = openai.Embedding.create(
input=inputs,
deployment_id="text-embedding-ada-002" #engine="text-embedding-ada-002"
)
5. 下一步
使用上述步骤,您可以轻松地在 OpenAI 和 Azure OpenAI 之间切换。根据您的需要和偏好,选择适当的认证方式和模型参数。如果您需要更多帮助或文档,可以参考 OpenAI 和 Azure OpenAI 的官方文档。
希望本文章对您有所帮助。如果您有任何疑问或需要进一步解释,请随时联系我们。
azure openai api key的常见问答Q&A
问题1:如何申请 Azure OpenAI API 服务?
答案:申请 Azure OpenAI API 服务的具体步骤以下:
- 登录到 Azure 门户网站。
- 在左上角的搜索栏中搜索 “Azure OpenAI”。
- 选择 “Azure OpenAI” 并点击 “创建”。
- 在 “创建 Azure OpenAI” 页面上,填写必要的信息,如资源组、服务名称和定价层等。
- 选择所需的定价层,并浏览并接受相关条款。
- 点击 “查看 + 创建”,然后点击 “创建” 来创建服务。
- 等待 Azure 完成部署,然后在资源列表中找到新创建的 Azure OpenAI 服务。
- 在服务概述页面中,可以找到 API 密钥和终结点等认证信息。
- 使用 API 密钥和终结点来调用 Azure OpenAI API 服务。
问题1.1:怎样使用 API 密钥调用 Azure OpenAI API 服务?
答案:使用 API 密钥调用 Azure OpenAI API 服务的步骤以下:
- 在 API 要求中包括 “api-key” 的要求头,将 API 密钥作为值传递。
- 构建要求的 URL,将终结点和相关 API 路径添加到 URL 中。
- 向终结点发送 HTTP 要求,等待响应。
- 根据响应内容解析结果,并进行相应的处理。
示例代码:
import requests
headers = {
"api-key": "YOUR_API_KEY"
}
url = "YOUR_ENDPOINT/api/your-api-path"
response = requests.get(url, headers=headers)
result = response.json()
# 处理结果
注意:在示例代码中,需要将 “YOUR_API_KEY” 替换为实际的 API 密钥,”YOUR_ENDPOINT” 替换为实际的终结点,”your-api-path” 替换为实际的 API 路径。
问题1.2:怎样使用 Azure OpenAI API 创建一个聊天机器人?
答案:使用 Azure OpenAI API 创建一个聊天机器人的步骤以下:
- 准备训练数据,包括问题和相应的回答。
- 使用 Azure OpenAI API 的 “chat/completions” 路径来发送聊天要求。
- 向要求中添加问题和其他必要参数。
- 等待响应,解析返回的结果,并进行相应的处理。
示例代码:
import requests
headers = {
"api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
url = "YOUR_ENDPOINT/api/chat/completions"
data = {
"model": "YOUR_MODEL_NAME",
"question": "YOUR_QUESTION"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
# 处理结果
注意:在示例代码中,需要将 “YOUR_API_KEY” 替换为实际的 API 密钥,”YOUR_ENDPOINT” 替换为实际的终结点,”YOUR_MODEL_NAME” 替换为实际的模型名称,”YOUR_QUESTION” 替换为实际的问题。