Azure OpenAI Service embeddings tutorial – Azure OpenAI(azure openai studio api key)
如何获得Azure OpenAI Studio API密钥?
通过以下步骤,您可以轻松取得Azure OpenAI Studio API密钥,并开始使用API进行开发和定制化服务。
I. 进入Azure OpenAI Studio
要开始获得API密钥,首先需要进入Azure OpenAI Studio并部署GPT聊天模型。
- 在Azure OpenAI Studio中部署GPT聊天模型。
- 进入操场并点击聊天选项。
- 在助理设置中找到配置【Add your data】。
II. 获得API密钥
获得API密钥是使用Azure OpenAI Studio的关键步骤之一。
- 在Azure OpenAI资源中找到密钥和终结点。
- 在Azure门户中找到你的资源。
- 密钥和终结点在资源管理部份。
- 复制你的终结点和访问密钥。
III. 使用API密钥进行开发
一旦获得了API密钥,您可以开始使用它进行开发和定制化服务。
- 导入OpenAI库并设置API密钥和终结点。
- 导入openai库。
- 设置openai.api_key为你的API密钥。
- 设置openai.api_base为你的终结点。
- 通过API密钥进行认证和授权。
- 使用API密钥进行认证和授权。
- 使用API进行自定义服务。
- 在Azure OpenAI Studio中浏览操场和自定义服务。
- 无需编程,使用无代码方法进行开发。
IV. 相关资源和参考文档
下面是一些相关的资源和参考文档,以帮助您深入了解Azure OpenAI Studio和API的使用。
- 参考Microsoft官方文档以获得详细的步骤和说明。
- 参加Azure OpenAI简介课程以了解更多信息。
- 观看Microsoft Mechanics视频以深入了解API的使用方式。
- 参与Azure社区以获得技术问答和支持。
azure openai studio api key的进一步展开说明
目录
- 介绍
- 条件条件
- 设置
- 数据准备
- 嵌入
- 文档搜索
- 总结
介绍
本教程将带您了解怎样使用Azure OpenAI嵌入API进行文档搜索,您可以通过查询知识库来找到最相关的文档。
在本教程中,您将学习:
- 安装Azure OpenAI和其他相关的Python库。
- 下载BillSum数据集并为分析做好准备。
- 为资源终结点和API密钥创建环境变量。
- 使用文本嵌入ADA模型进行搜索。
- 使用余弦类似度对搜索结果进行排序。
强烈推荐使用文本嵌入ADA模型(版本2),它与OpenAI的文本嵌入ADA模型(版本2)的性能相当。即便您目前正在使用版本1,也应迁移到版本2,以充分利用最新的权重/更新的令牌限制。
条件条件
在开始之前,您需要准备以下内容:
- 一个Azure定阅 – 不要钱创建一个
- 在所需的Azure定阅中授与Azure OpenAI的访问权限。
- Python 3.7.1或更高版本。
- 以下Python库:openai,num2words,matplotlib,plotly,scipy,scikit-learn,pandas,tiktoken。
- Jupyter笔记本。
- 部署了文本嵌入ADA模型(版本2)的Azure OpenAI资源。请查阅资源部署指南。
设置
Python库
如果您还没有安装以下库,请先安装它们:
pip install openai num2words matplotlib plotly scipy scikit-learn pandas tiktoken
下载BillSum数据集
BillSum是一个包括美国国会和加利福尼亚州议案的数据集。对演示目的,我们只关注美国议案。该语料库包括了来自第103届到第115届(1993⑵018)国会的议案。BillSum语料库主要关注长度在5,000到20,000个字符之间的中等长度法案。关于该项目和该数据集来源的原始学术论文的更多信息可在BillSum项目的GitHub存储库中找到。
本教程使用了从我们的GitHub示例数据下载的bill_sum_data.csv文件。
检索密钥和终结点
为了成功调用Azure OpenAI,您需要一个终结点和一个密钥。
变量名称 值
ENDPOINT 从Azure门户的Keys & Endpoint部份找到此值。也能够在Azure AI Studio > Playground > Code View中找到这个值。一个示例终结点是:https://docs-test-001.openai.azure.com/
API-KEY 从Azure门户的Keys & Endpoint部份找到此值。可使用KEY1或KEY2。
在Azure门户中打开您的资源。终结点和密钥可以在资源管理部份找到。复制您的终结点和访问密钥,由于在验证API调用时您将需要这两个信息。可使用KEY1或KEY2。始终使用两个密钥可以安全地轮换和重新生成密钥,而不会致使服务中断。
环境变量
在设置环境变量后,您可能需要关闭并重新打开Jupyter笔记本或您正在使用的任何IDE,以即可以访问环境变量。虽然我们强烈推荐使用Jupyter笔记本,但如果出于某种缘由您没法使用它,您将需要修改所有返回pandas dataframe的代码,而不单单是直接调用dataframe_name,在代码块的末尾常常这样做。
在首选的Python IDE中运行以下代码:
注意:在此行之前和以后,我们需要将代码分为开发环境和生产环境,而不是硬编码终结点和密钥。此代码示例仅为演示目的。
import openai
import os
API_KEY = os.getenv("AZURE_OPENAI_API_KEY")
RESOURCE_ENDPOINT = os.getenv("AZURE_OPENAI_ENDPOINT")
openai.api_type = "azure"
openai.api_key = API_KEY
openai.api_base = RESOURCE_ENDPOINT
openai.api_version = "2023⑴2-01"
url = openai.api_base + "/openai/deployments?api-version=2023⑴2-01"
r = requests.get(url, headers={"api-key": API_KEY})
print(r.text)
这个命令的输出会根据您部署的模型类型和数量而有所区别。在这类情况下,我们需要确认会不会有text-embedding-ada-002的条目。如果您发现缺少这个模型的条目,则需要在继续之前将该模型部署到您的资源中。
数据准备
现在我们需要读取csv文件并创建一个pandas DataFrame。创建初始数据帧后,我们可以通过运行df来查看表的内容。
df=pd.read_csv(os.path.join(os.getcwd(),'bill_sum_data.csv')) # This assumes that you have placed the bill_sum_data.csv in the same directory you are running Jupyter Notebooks
df
初始表格的列数比我们需要的多,我们将创建一个名为df_bills的新较小的DataFrame,它只包括文本、摘要和标题列。
df_bills = df[['text', 'summary', 'title']]
df_bills
接下来,我们将对数据进行一些简单的清算,删除冗余的空格并清算标点符号,以便为标记化做准备。
pd.options.mode.chained_assignment = None
def normalize_text(s, sep_token="
"):
s = re.sub(r's+', ' ', s).strip()
s = re.sub(r". ,","",s)
s = s.replace("..",".")
s = s.replace(". .",".")
s = s.replace("
", "")
s = s.strip()
return s
df_bills['text'] = df_bills["text"].apply(lambda x : normalize_text(x))
现在,我们需要删除超过令牌限制(8192个令牌)的法案。
tokenizer = tiktoken.get_encoding("cl100k_base")
df_bills['n_tokens'] = df_bills["text"].apply(lambda x: len(tokenizer.encode(x)))
df_bills = df_bills[df_bills.n_tokens<8192]
len(df_bills)
注意:在本例中,所有法案都在嵌入模型的输入令牌限制以内,但是您可使用上述技术删除会致使嵌入失败的条目。当面对超过嵌入限制的内容时,您还可以将内容分成更小的块,然后逐一嵌入这些块。
我们再次检查df_bills。
df_bills
现在,我们可以将查询“Can I get information on cable company tax revenue?”与text-embedding-ada-002(Version 2)模型进行嵌入。然后,我们将根据余弦类似度找到与我们的查询嵌入最接近的法案嵌入。
# search through the reviews for a specific product
def search_docs(df, user_query, top_n=3, to_print=True):
embedding = get_embedding(
user_query,
engine="text-embedding-ada-002" # engine should be set to the deployment name you chose when you deployed the text-embedding-ada-002 (Version 2) model
)
df["similarities"] = df.ada_v2.apply(lambda x: cosine_similarity(x, embedding))
res = (
df.sort_values("similarities", ascending=False)
.head(top_n)
)
if to_print:
display(res)
return res
res = search_docs(df_bills, "Can I get information on cable company tax revenue?", top_n=4)
最后,我们将展现基于用户查询对全部知识库进行的文档搜索的最好结果。这返回了“1993年纳税人查看权法案”的顶级结果。这份文件在查询和文档之间有0.76的余弦类似度得分。
总结
使用此方法,您可以在知识库中使用嵌入作为搜索机制。用户可以选择最高的搜索结果,并将其用于下游任务,以满足他们的初始查询。
下一步
了解更多关于Azure OpenAI的模型。
azure openai studio api key的常见问答Q&A
问题1:Azure OpenAI 入门教程是甚么?
答案:Azure OpenAI 入门教程是一系列指点用户使用 Azure OpenAI 服务的教程,它包括了无需编写代码实现基于私有数据的 GPT 的方法和步骤。
- 用户可以学习怎样使用 Azure OpenAI 创建一个聊天机器人,通过使用 Azure OpenAI 的 .NET 模型来构建。
- 用户还可以学习怎样使用 Python 调用 Azure OpenAI API,实现与 Azure OpenAI 的交互。
- 另外,还提供了申请微软 Azure OpenAI 的全面教程,帮助用户快速上手并使用 Azure OpenAI 服务。
问题2:如何申请 Azure OpenAI 的 API Key?
答案:要申请 Azure OpenAI 的 API Key,用户需要登录 Azure OpenAI Studio,并在资源管理中找到相应的 Azure OpenAI 资源,然后在 Keys 部份可以找到 API Key。
- 用户可以进入 Azure 门户,在资源管理中找到相应的 Azure OpenAI 资源。
- 在资源的 Keys 部份,用户可以找到用于访问 Azure OpenAI 服务的 API Key。
- 用户可以复制 API Key,将其用于访问 Azure OpenAI 的 REST API。
问题3:怎样使用 Azure OpenAI 创建一个聊天机器人?
答案:使用 Azure OpenAI 创建一个聊天机器人的方法以下:
- 首先,用户需要登录 Azure OpenAI Studio,进入聊天操场。
- 在助理设置中,用户可以配置相关参数,例如添加私有数据等。
- 接下来,用户可以开始与聊天机器人进行对话交互,并根据需要对机器人进行自定义设置。
- 用户还可以将聊天机器人部署到指定的环境中,例如 .NET 模型。
- 最后,用户可以通过调用 Azure OpenAI API 实现与聊天机器人的交互。