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

快速入门:在 AI 聊天中使用图像

通过 Azure OpenAI Studio,以无代码方式开始探索 GPT-4 Turbo with Vision 功能。

先决条件

  • Azure 订阅。 免费创建一个
  • 已在所需的 Azure 订阅中授予对 Azure OpenAI 的访问权限。 目前,仅应用程序授予对此服务的访问权限。 可以通过在 https://aka.ms/oai/access 上填写表单来申请对 Azure OpenAI 的访问权限。 如果有任何问题,请在此存储库上提出问题以联系我们。
  • 已部署 GPT-4 Turbo with Vision 模型的 Azure OpenAI 服务资源。 请参阅适用区域的 GPT-4 和 GPT-4 Turbo 预览版模型可用性。 有关资源创建的详细信息,请参阅资源部署指南
  • 适用于视觉增强功能(可选):与 Azure OpenAI 资源位于同一区域的 Azure 计算机视觉资源,位于付费 (S1) 层。

注意

目前不支持使用视觉模型关闭 GPT-4 Turbo 的内容筛选。

登录到 Azure OpenAI Studio

浏览到 Azure OpenAI Studio,然后使用与 Azure OpenAI 资源关联的凭据登录。 在登录过程中或登录之后,选择适当的目录、Azure 订阅和 Azure OpenAI 资源。

在“管理”下选择“部署”,然后通过选择模型名称“gpt-4”和模型版本“vision-preview”来创建 GPT-4 Turbo with Vision 部署。 有关模型部署的详细信息,请参阅资源部署指南

在“操场”部分下选择“聊天”

操场

在此页中,可以快速循环访问和试验模型的功能。

有关助手设置、聊天会话、设置和面板的一般帮助,请参阅聊天快速入门

启动聊天会话来分析图像或视频

在此聊天会话中,你将指示助手来帮助理解你输入的图像。

  1. 首先,从下拉列表中选择 GPT-4 Turbo with Vision 部署。

  2. 在“助手设置”窗格中,提供一条系统消息来指导助手。 默认系统消息为:“你是帮助人们查找信息的 AI 助手。”可以根据上传的图像或场景定制系统消息。

    注意

    建议更新系统消息,使之与任务具体相关,以免模型做出无用的响应。

  3. 保存所做的更改,当系统提示你确认更新系统消息时,请选择“继续”

  4. 在“聊天会话”窗格中,输入文本提示(例如“描述此图像”),然后使用附件按钮上传图像。 可以根据用例使用不同的文本提示。 然后选择“发送”

  5. 观察提供的输出。 考虑提出与图像分析相关的后续问题以了解更多信息。

OpenAI Studio 聊天操场的屏幕截图。

清理资源

如果你想要清理和删除 OpenAI 资源,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。

按照本文的要求,开始通过 Azure OpenAI REST API 来部署和使用 GPT-4 Turbo with Vision 模型。

先决条件

  • Azure 订阅。 免费创建一个
  • 已在所需的 Azure 订阅中授予对 Azure OpenAI 的访问权限。 目前,仅应用程序授予对此服务的访问权限。 可以通过在 https://aka.ms/oai/access 上填写表单来申请对 Azure OpenAI 的访问权限。 如果有任何问题,请在此存储库上提出问题以联系我们。
  • Python 3.8 或更高版本
  • 以下 Python 库:requestsjson
  • 已部署 GPT-4 Turbo with Vision 模型的 Azure OpenAI 服务资源。 请参阅适用区域的 GPT-4 和 GPT-4 Turbo 预览版模型可用性。 有关资源创建的详细信息,请参阅资源部署指南
  • 适用于视觉增强功能(可选):与 Azure OpenAI 资源位于同一区域的 Azure 计算机视觉资源,位于付费 (S1) 层。

注意

目前不支持使用视觉模型关闭 GPT-4 Turbo 的内容筛选。

检索密钥和终结点

若要成功调用 Azure OpenAI API,需要有关 Azure OpenAI 资源的以下信息:

变量 名称
终结点 api_base 终结点值位于 Azure 门户中资源的“密钥和终结点”下。 也可在“Azure OpenAI Studio”>“操场”>“代码视图”中找到该值。 示例终结点为:https://docs-test-001.openai.azure.com/
api_key 密钥值也位于 Azure 门户中资源的“密钥和终结点”下。 Azure 为资源生成两个密钥。 可以使用其中任意一个值。

在 Azure 门户中转到你的资源。 在导航窗格中,选择“资源管理”下的“密钥和终结点”。 复制“终结点”值和访问密钥值。 可以使用 KEY 1 或 KEY 2 值。 准备好两个密钥可以安全地轮换和重新生成密钥,而不会导致服务中断。

屏幕截图显示 Azure 门户中的 Azure OpenAI 资源的“密钥和终结点”页面。

创建新的 Python 应用程序

创建名为“quickstart.py”的新 Python 文件。 在首选编辑器或 IDE 中打开新文件。

  1. quickstart.py 的内容替换为以下代码。

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. 做出以下更改:

    1. 在相应的字段中输入终结点 URL 和密钥。

    2. 在相应字段中输入 GPT-4 Turbo with Vision 部署名称。

    3. "image" 字段的值更改为图像的 URL。

      提示

      还可以使用 base 64 编码的图像数据代替 URL。 有关详细信息,请参阅 GPT-4 Turbo with Vision 操作指南

  3. 使用 python 命令运行应用程序:

    python quickstart.py
    

清理资源

如果你想要清理和删除 OpenAI 资源,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。

按照本文的要求,开始通过 Azure OpenAI Python SDK 来部署和使用 GPT-4 Turbo with Vision 模型。

库源代码 | 包 (PyPi) |

先决条件

  • Azure 订阅。 免费创建一个
  • 已在所需的 Azure 订阅中授予对 Azure OpenAI 的访问权限。 目前,仅应用程序授予对此服务的访问权限。 可以通过在 https://aka.ms/oai/access 上填写表单来申请对 Azure OpenAI 的访问权限。 如果有任何问题,请在此存储库上提出问题以联系我们。
  • Python 3.8 或更高版本
  • 以下 Python 库:os
  • 已部署 GPT-4 Turbo with Vision 模型的 Azure OpenAI 服务资源。 请参阅适用区域的 GPT-4 和 GPT-4 Turbo 预览版模型可用性。 有关资源创建的详细信息,请参阅资源部署指南
  • 适用于视觉增强功能(可选):与 Azure OpenAI 资源位于同一区域的 Azure 计算机视觉资源,位于付费 (S1) 层。

设置

使用以下项安装 OpenAI Python 客户端库:

pip install openai

注意

此库由 OpenAI 维护,目前为预览版。 参考发行历史记录version.py 提交历史记录跟踪库的最新更新。

检索密钥和终结点

若要成功对 Azure OpenAI 发出调用,需要一个终结点和一个密钥。

变量名称
ENDPOINT 从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 或者,可以在“Azure OpenAI Studio”>“操场”>“代码视图”中找到该值。 示例终结点为:https://docs-test-001.openai.azure.com/
API-KEY 从 Azure 门户检查资源时,可在“密钥和终结点”部分中找到此值。 可以使用 KEY1KEY2

在 Azure 门户中转到你的资源。 可在“资源管理”部分中找到“密钥和终结点”部分。 复制终结点和访问密钥,因为在对 API 调用进行身份验证时需要这两项。 可以使用 KEY1KEY2。 始终准备好两个密钥可以安全地轮换和重新生成密钥,而不会导致服务中断。

Azure 门户中 Azure OpenAI 资源概述 UI 的屏幕截图,其中终结点和访问密钥的位置用红圈标示。

环境变量

为密钥和终结点创建和分配持久环境变量。

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

创建新的 Python 应用程序

创建名为“quickstart.py”的新 Python 文件。 在首选编辑器或 IDE 中打开新文件。

  1. quickstart.py 的内容替换为以下代码。

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. 做出以下更改:

    1. 在相应字段中输入 GPT-4 Turbo with Vision 部署的名称。
    2. "url" 字段的值更改为图像的 URL。

      提示

      还可以使用 base 64 编码的图像数据代替 URL。 有关详细信息,请参阅 GPT-4 Turbo with Vision 操作指南

  3. 使用 python 命令运行应用程序:

    python quickstart.py
    

清理资源

如果你想要清理和删除 OpenAI 资源,可以删除资源或资源组。 删除资源组同时也会删除与之相关联的任何其他资源。

后续步骤