Azure Machine Learning - 使用自己的数据与 Azure OpenAI 模型对话

Azure Machine Learning - 使用自己的数据与 Azure OpenAI 模型对话

在本文中,可以将自己的数据与 azure OpenAI 模型配合使用。 对数据使用 Azure OpenAI 模型可以提供功能强大的对话 AI 平台,从而实现更快、更准确的通信。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

环境准备

  • Azure 订阅 - 免费创建订阅。

  • 已在所需的 Azure 订阅中授予对 Azure OpenAI 的访问权限。

    Azure OpenAI 服务需要注册,并且目前仅供经批准的企业客户与合作伙伴使用。

  • 已部署聊天模型的 Azure OpenAI 资源(例如 GPT-3 或 GPT-4)。

  • 聊天模型可以使用版本 gpt-35-turbo (0301)gpt-35-turbo-16kgpt-4gpt-4-32k

  • 请确保至少为 Azure OpenAI 资源分配了[认知服务参与者]角色。

使用 Azure OpenAI Studio 添加数据


导航到 Azure OpenAI Studio,然后使用有权访问 Azure OpenAI 资源的凭据登录。 在登录过程中或登录之后,选择适当的目录、Azure 订阅和 Azure OpenAI 资源。

  1. 选择“Chat Playground”磁贴。
  1. 在“助手设置”磁贴上,选择“添加数据(预览)”>“+ 添加数据源”。
  2. 在显示的窗格中,选择“选择数据源”下的“上传文件”。 选择“上传文件”。 Azure OpenAI 需要存储资源和搜索资源来访问数据并编制数据索引。

3.1. 要使 Azure OpenAI 访问存储帐户,需要启用跨原点资源共享 (CORS)。 如果尚未为 Azure Blob 存储资源启用 CORS,请选择“启用 CORS”。

3.2. 选择 Azure AI 搜索资源,然后选择确认以表明知晓连接该资源将使用你的帐户。 然后,选择“下一步”。

  1. 在“上传文件”窗格中,选择“浏览文件”,并选择要上传的文件。 然后选择“上传文件”。 然后,选择“下一步”。

  2. 在“数据管理”窗格中,可以选择为索引启用[语义搜索还是向量搜索]。

  3. 查看输入的详细信息,然后选择“保存并关闭”。 现在,你可以与模型聊天,模型将使用数据中的信息来构造响应。

Chat Playground


通过Chat Playground使用开始使用无代码方法浏览 Azure OpenAI 功能。 这是一个简单的文本框,可以在其中提交提示以生成补全内容。 在此页中,可以快速循环访问和试验这些功能。

可以试验温度和预响应文本等配置设置,以提高任务的性能。 可以在 [REST API]中详细了解每个参数。

  • 选择“生成”按钮后会将输入的文本发送到补全 API,并将结果流式传输回到文本框中。
  • 选择“撤消”按钮可以撤消上一次生成调用。
  • 选择“重新生成”按钮可以同时执行撤消和生成调用。

部署模型

对 Azure OpenAI 工作室中的体验感到满意后,可以通过选择“部署到”按钮直接从工作室部署 Web 应用。

这让你可以选择将模型部署为独立的 Web 应用程序,或者如果要在模型上使用[你自己的数据],则可以使用 Power Virtual Agents。

例如,如果选择部署 Web 应用:

首次部署 Web 应用时,应选择“创建新的 Web 应用”。 为应用选择一个名称,该名称将成为应用 URL 的一部分。 例如,https://<appname>.azurewebsites.***

为已发布的应用选择订阅、资源组、位置和定价计划。 要更新现有应用,请选择“发布到现有 Web 应用”,然后从下拉菜单中选择上一个应用的名称。

使用Python调用

要成功地对 Azure OpenAI 进行调用,需要使用以下变量。 本快速入门假定已将数据上传到 Azure Blob 存储帐户,并且已创建 Azure AI 搜索索引。

变量名称
AOAIEndpoint 在从 Azure 门户检查 Azure OpenAI 资源时,可在“密钥 & 终结点”部分中找到此值。 也可在“Azure AI 工作室”>“聊天操场”>“代码视图”中查找该值。 示例终结点为:https://my-resoruce.openai.azure.***
AOAIKey 在 Azure 门户检查 Azure OpenAI 资源时,可在“资源管理>密钥 & 终结点”部分中找到此值。 可以使用 KEY1KEY2。 始终准备好两个密钥可以安全地轮换和重新生成密钥,而不会导致服务中断。
AOAIDeploymentId 此值将对应于在部署模型时为部署选择的自定义名称。 可在 Azure 门户中的“资源管理”>“部署”下,或者在 Azure AI 工作室中的“管理”>“部署”下查找此值。
SearchEndpoint 在 Azure 门户检查 Azure AI 搜索资源时,可在“概览”部分中找到此值。
SearchKey 在 Azure 门户检查 Azure AI 搜索资源时,可在“设置>密钥”部分中找到此值。 你可以使用主要管理密钥或辅助管理密钥。 始终准备好两个密钥可以安全地轮换和重新生成密钥,而不会导致服务中断。
SearchIndex 此值对应于为存储数据而创建的索引的名称。 在从 Azure 门户检查 Azure AI 搜索资源时,可以在“概述”部分找到它。

环境变量

  • [命令行]
setx AOAIEndpoint REPLACE_WITH_YOUR_AOAI_ENDPOINT_VALUE_HERE
setx AOAIKey REPLACE_WITH_YOUR_AOAI_KEY_VALUE_HERE
setx AOAIDeploymentId REPLACE_WITH_YOUR_AOAI_DEPLOYMENT_VALUE_HERE
setx SearchEndpoint REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_VALUE_HERE
setx SearchKey REPLACE_WITH_YOUR_AZURE_SEARCH_RESOURCE_KEY_VALUE_HERE
setx SearchIndex REPLACE_WITH_YOUR_INDEX_NAME_HERE

创建 Python 环境

  1. 为项目新建一个名为 openai-pytho 的文件夹,并且新建一个名为 main.py 的 Python 代码文件。 更改到该目录:
mkdir openai-python
cd openai-python
  1. 安装以下 Python 库:
  • [OpenAI Python 1.x]
pip install openai
pip install python-dotenv

创建 Python 应用

  1. 从项目目录中,打开 main.py 文件并添加以下代码:
  • [OpenAI Python 1.x]
import os
import openai
import dotenv

dotenv.load_dotenv()

endpoint = os.environ.get("AOAIEndpoint")
api_key = os.environ.get("AOAIKey")
deployment = os.environ.get("AOAIDeploymentId")

client = openai.AzureOpenAI(
    base_url=f"{endpoint}/openai/deployments/{deployment}/extensions",
    api_key=api_key,
    api_version="2023-08-01-preview",
)

***pletion = client.chat.***pletions.create(
    model=deployment,
    messages=[
        {
            "role": "user",
            "content": "How is Azure machine learning different than Azure OpenAI?",
        },
    ],
    extra_body={
        "dataSources": [
            {
                "type": "AzureCognitiveSearch",
                "parameters": {
                    "endpoint": os.environ["SearchEndpoint"],
                    "key": os.environ["SearchKey"],
                    "indexName": os.environ["SearchIndex"]
                }
            }
        ]
    }
)

print(***pletion.model_dump_json(indent=2))
  1. 运行以下命令:
python main.py

应用程序以适合在许多场景下使用的 JSON 格式打印响应。 它包含对来自已上传文件的查询和引文的答案。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

转载请说明出处内容投诉
CSS教程_站长资源网 » Azure Machine Learning - 使用自己的数据与 Azure OpenAI 模型对话

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买