你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过在 Azure OpenAI Studio 中使用 GPT-4 Turbo with Vision(预览版)在 Azure OpenAI 中使用图像数据

借助本文了解如何为 GPT-4 Turbo with Vision(Azure OpenAI 服务的视觉模型)提供自己的图像数据。 通过对数据使用 GPT-4 Turbo with Vision,模型可以使用基于自己的图像和图像元数据的检索增强生成 (RAG) 来生成更多自定义和针对性的答案。

重要

弃用 GPT4-Turbo with Vision 预览版模型后,将无法再在图像数据上使用 Azure OpenAI。 若要使用图像数据实现 RAG 解决方案,请参阅 GitHub 上的示例

先决条件

添加数据源

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

屏幕截图显示 Azure OpenAI Studio 中的聊天操场。

在“助手设置”磁贴上,选择“添加数据(预览)”>“+ 添加数据源”。

屏幕截图显示 Azure OpenAI Studio 中用于添加数据的按钮。

在选择“添加数据源”后显示的窗格中,你将看到三个选项可用于选择数据源

屏幕截图显示了数据源的选择。

三个选项全部使用 Azure AI 搜索索引执行图像到图像搜索,并对输入提示图像检索排名靠前的搜索结果。 对于“Azure Blob 存储”和“上传文件”选项,Azure OpenAI 将为你生成图像搜索索引。 对于 Azure AI 搜索,需要具有图像搜索索引。 以下部分包含有关如何创建搜索索引的详细信息。

启用 CORS

首次添加数据源时,你可能会看到一个红色通知,它会要求你启用跨域资源共享 (CORS)。 若要停止警告,请选择“打开 CORS”,以便 Azure OpenAI 可以访问数据源。

屏幕截图显示一个错误,指示 CORS 未启用。

通过上传文件添加数据

可以使用 Azure OpenAI 手动上传图像文件并手动输入它们的元数据。 如果使用一小组图像试验并希望生成数据源,则此功能会非常有用。

  1. 转到 Azure OpenAI 并选择“添加数据源”按钮,如上文所述。 然后选择“上传文件”。

  2. 选择订阅。 选择要在其中存储上传的图像文件的 Blob 存储帐户。 选择将包含新创建的图像搜索索引的 Azure AI 搜索资源。 输入所选的图像搜索索引名称。

    填写所有值后,选中底部的两个复选框以确认产生的使用量,然后选择“下一步”

    屏幕截图显示用于选择 Azure Blob 存储订阅的已完成框。

    图像文件支持以下文件类型:

    • .jpg
    • .png
    • .gif
    • .bmp
    • .tiff
  3. 选择“浏览文件”以选择想要从本地目录中使用的图像文件

  4. 选择图像文件后,它们将显示在表中。 选择“上传文件”。 上传文件后,确认每个文件的状态都显示为“已上传”。 然后,选择“下一步”。

    屏幕截图显示已上传的文件。

  5. 对于每个图像文件,请在提供的说明框中输入元数据。 然后,选择“下一步”。

    屏幕截图显示元数据条目框。

  6. 查看所有信息,确保信息正确无误。 然后选择“保存并关闭”

如果具有现有的 Azure AI 搜索索引,则可以将其用作数据源。 如果还没有为图像创建搜索索引,则可以使用 GitHub 上的 AI 搜索矢量搜索存储库创建一个。 该存储库提供了可使用图像文件创建索引的脚本。

如果想要使用自己的文件(如前面的选项)创建数据源,然后返回到操场体验,选择已创建的但尚未添加的数据源,那么此选项也非常有用。

  1. 转到 Azure OpenAI 并选择“添加数据源”按钮,如上文所述。 然后选择“Azure AI 搜索”

    提示

    可以选择使用“Azure Blob 存储”或“上传文件”选项创建的图像搜索索引。

  2. 选择订阅,以及用于创建图像搜索索引的 Azure AI 搜索服务。

  3. 选择使用图像创建的 Azure AI 搜索索引。

  4. 填充所有值后,请选中底部的两个复选框,以确认将 GPT-4 Turbo with Vision 矢量嵌入和 Azure AI 搜索配合使用所产生的费用。 然后,选择“下一步”。

    屏幕截图显示用于使用 Azure AI 搜索索引的已完成框。

  5. 查看详细信息,然后选择“保存并关闭”

使用 Azure Blob 存储添加数据

如果具有现有 Azure Blob 存储容器,则可以使用它来创建图像搜索索引。 如果要创建新容器,请参阅 Blob 存储快速入门文档。

如有大量图像文件,并且不想手动上传每个图像文件,那么使用 Blob 存储容器选项会特别有用。

如果还没有使用这些文件填充的 Blob 存储容器,并且希望逐个上传文件,则可以改用 Azure OpenAI Studio 上传文件。

在开始将 Blob 存储容器添加为数据源之前,请确保它包含要引入的所有映像。 此外,请确保它包含一个 JSON 文件,其中包括图像文件路径和元数据。

重要

元数据 JSON 文件必须:

  • 具有以“metadata”一词开头的文件名,全部为小写形式且不带空格。
  • 最多包含 10,000 个图像文件。 如果容器中的文件数超过此数目,则可以有多个 JSON 文件,且每个都可以达到此最大数目。
[
    {
        "image_blob_path": "image1.jpg",
        "description": "description of image1"
    },
    {
        "image_blob_path": "image2.jpg",
        "description": "description of image2"
    },
    ...
    {
        "image_blob_path": "image50.jpg",
        "description": "description of image50"
    }
]

使用图像文件和至少一个元数据 JSON 文件填充 Blob 存储容器后,可随时将容器添加为数据源:

  1. 转到 Azure OpenAI 并选择“添加数据源”按钮,如上文所述。 然后选择“Azure Blob 存储”

  2. 选择订阅、Azure Blob 存储和存储容器。 还需要选择 Azure AI 搜索资源,因为将在此资源组中创建新的图像搜索索引。 如果没有 Azure AI 搜索资源,可以使用下拉列表下方的链接创建新资源。

  3. 在“索引名称”框中,输入搜索索引的名称。

    注意

    索引的名称使用后缀 –v,以指示这个索引包含从提供的图像中提取的图像矢量。 在 metadata.json 中提交的说明将添加为索引中的文本元数据。

  4. 填充所有值后,请选中底部的两个复选框,以确认将 GPT-4 Turbo with Vision 矢量嵌入和 Azure AI 搜索配合使用所产生的费用。 然后,选择“下一步”。

    屏幕截图显示 Blob 存储的数据源选择框。

  5. 查看详细信息,然后选择“保存并关闭”

将引入的数据与 GPT-4 Turbo with Vision 模型一起使用

使用前面列出的三种方法中的一种连接数据源后,数据引入过程需要一些时间才能完成。 在进程进行时,将显示一个图标和一条“正在引入”消息

数据引入完成后,确认已创建数据源。 随即会显示数据源的详细信息,以及图像搜索索引的名称。

屏幕截图显示已完成的数据源引入。

现在,此引入的数据已准备好用作所部署的 GPT-4 Turbo with Vision 模型的基础数据。 模型将使用图像搜索索引中的顶级检索数据,并生成专门针对所引入的数据的响应。

屏幕截图显示带有帐篷图像的聊天示例。

其他提示

添加和删除数据源

Azure OpenAI 目前只允许每个聊天会话使用一个数据源。 如果要添加新数据源,必须先移除现有数据源。 可以在数据源信息下选择“移除数据源”来移除它。

在移除数据源时,系统将显示一条警告消息。 移除数据源会清除聊天会话并重置所有操场设置。

屏幕截图显示有关移除数据源的警告。

重要

如果切换到不使用 GPT-4 Turbo with Vision 模型的模型部署,系统将会显示有关移除数据源的警告消息。 移除数据源会清除聊天会话并重置所有操场设置。