GPT-4o 介绍

这个笔记本来自 OpenAI Cookbooks,增强了 Portkey 可观察性和功能

GPT-4o 模型

GPT-4o(“o”代表“全能”)旨在处理文本、音频和视频输入的组合,并能够生成文本、音频和图像格式的输出。

当前能力

目前,该API仅支持{text, image}输入,输出为{text},与gpt-4-turbo相同的模态。其他模态,包括音频,将会很快推出

本指南将帮助您开始使用GPT-4o进行文本、图像和视频理解。

开始使用

安装 OpenAI SDK for Python

pip install --upgrade --quiet openai portkey-ai

配置 OpenAI 客户端

首先,在 这里 获取您的 OpenAI API 密钥。现在,让我们开始进行第一次请求,输入一个简单的 {text} 到模型中。我们将使用 systemuser 消息进行第一次请求,并将从 assistant 角色接收响应。

from openai import OpenAI
from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders

import os

## 设置 API 密钥和模型名称
MODEL="gpt-4o"
client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY", "<如果未设置为环境变量,请输入您的 OpenAI API 密钥>"),
    base_url=PORTKEY_GATEWAY_URL,
    default_headers=createHeaders(
        provider="openai",
        api_key="PORTKEY_API_KEY" # 默认为 os.environ.get("PORTKEY_API_KEY")
    )
  )

图像处理

GPT-4o 可以直接处理图像,并根据图像采取智能行动。我们可以提供两种格式的图像:

  1. Base64 编码

  2. URL

首先让我们查看将要使用的图像,然后尝试将此图像作为 Base64 和 URL 链接发送给 API。

Base64 图像处理

URL 图像处理

视频处理

虽然无法直接将视频发送到API,但GPT-4o可以理解视频,如果您提取帧并将其作为图像提供。它在这项任务上的表现优于GPT-4 Turbo。

由于截至2024年5月,API中的GPT-4o尚不支持音频输入,我们将结合使用GPT-4o和Whisper来处理提供的视频的音频和视觉部分,并展示两个用例:

  1. 摘要

  2. 问答

视频处理设置

我们将使用两个用于视频处理的Python包 - opencv-python和moviepy。

这些包需要ffmpeg,因此请确保提前安装。根据你的操作系统,你可能需要运行brew install ffmpegsudo apt install ffmpeg

将视频处理为两个组件:帧和音频

示例 1:摘要

现在我们已经拥有视频帧和音频,让我们进行一些不同的测试,以生成视频摘要,以比较使用不同模态的模型的结果。我们应该预期到,使用视觉和音频输入的上下文生成的摘要将是最准确的,因为模型能够使用视频的全部上下文。

  1. 视觉摘要

  2. 音频摘要

  3. 视觉 + 音频摘要

视觉摘要

视觉摘要是通过仅向模型发送视频帧生成的。仅凭帧,模型可能会捕捉到视觉方面,但会错过演讲者讨论的任何细节。

模型能够捕捉视频视觉的高层次方面,但错过了演讲中提供的细节。

音频摘要

音频摘要是通过向模型发送音频转录生成的。仅凭音频,模型可能会偏向于音频内容,并且会错过演示和视觉提供的上下文。

{audio} 输入对于 GPT-4o 目前不可用,但很快就会推出!目前,我们使用现有的 whisper-1 模型来处理音频。

音频摘要可能会偏向于演讲中讨论的内容,但结构远不如视频摘要。

音频 + 视觉摘要

音频 + 视觉摘要是通过同时向模型发送视频的视觉和音频生成的。当同时发送这两者时,模型预计能够更好地总结,因为它可以一次性感知整个视频。

在结合视频和音频后,您将能够获得一个更详细和全面的事件摘要,该摘要使用了来自视频的视觉和音频元素的信息。

示例 2:问答

对于问答,我们将使用与之前相同的概念,针对我们处理过的视频提出问题,同时进行相同的 3 项测试,以展示结合输入模态的好处:

  1. 视觉问答

  2. 音频问答

  3. 视觉 + 音频问答

比较这三种回答,最准确的答案是通过同时使用音频和视频生成的。Sam Altman 在主题演讲中并没有讨论打开窗户或收音机,而是提到了模型在单个请求中执行多个功能的能力改进,同时这些例子在他身后展示。

结论

集成音频、视觉和文本等多种输入模式,显著提升了模型在多样化任务上的表现。这种多模态方法允许更全面的理解和互动,更加贴近人类感知和处理信息的方式。

Last updated