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聊天模型。

  1. 在Azure OpenAI Studio中部署GPT聊天模型。
  2. 进入操场并点击聊天选项。
  3. 在助理设置中找到配置【Add your data】。

II. 获得API密钥

获得API密钥是使用Azure OpenAI Studio的关键步骤之一。

  1. 在Azure OpenAI资源中找到密钥和终结点。
    • 在Azure门户中找到你的资源。
    • 密钥和终结点在资源管理部份。
    • 复制你的终结点和访问密钥。

III. 使用API密钥进行开发

一旦获得了API密钥,您可以开始使用它进行开发和定制化服务。

  1. 导入OpenAI库并设置API密钥和终结点。
    • 导入openai库。
    • 设置openai.api_key为你的API密钥。
    • 设置openai.api_base为你的终结点。
  2. 通过API密钥进行认证和授权。
    • 使用API密钥进行认证和授权。
  3. 使用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 实现与聊天机器人的交互。

ChatGPT相关资讯

ChatGPT热门资讯

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!