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} 到模型中。我们将使用 system 和 user 消息进行第一次请求,并将从 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 可以直接处理图像,并根据图像采取智能行动。我们可以提供两种格式的图像:
Base64 编码
URL
首先让我们查看将要使用的图像,然后尝试将此图像作为 Base64 和 URL 链接发送给 API。
Base64 图像处理
URL 图像处理
视频处理
虽然无法直接将视频发送到API,但GPT-4o可以理解视频,如果您提取帧并将其作为图像提供。它在这项任务上的表现优于GPT-4 Turbo。
由于截至2024年5月,API中的GPT-4o尚不支持音频输入,我们将结合使用GPT-4o和Whisper来处理提供的视频的音频和视觉部分,并展示两个用例:
摘要
问答
视频处理设置
我们将使用两个用于视频处理的Python包 - opencv-python和moviepy。
这些包需要ffmpeg,因此请确保提前安装。根据你的操作系统,你可能需要运行brew install ffmpeg或sudo apt install ffmpeg
将视频处理为两个组件:帧和音频
示例 1:摘要
现在我们已经拥有视频帧和音频,让我们进行一些不同的测试,以生成视频摘要,以比较使用不同模态的模型的结果。我们应该预期到,使用视觉和音频输入的上下文生成的摘要将是最准确的,因为模型能够使用视频的全部上下文。
视觉摘要
音频摘要
视觉 + 音频摘要
视觉摘要
视觉摘要是通过仅向模型发送视频帧生成的。仅凭帧,模型可能会捕捉到视觉方面,但会错过演讲者讨论的任何细节。
模型能够捕捉视频视觉的高层次方面,但错过了演讲中提供的细节。
音频摘要
音频摘要是通过向模型发送音频转录生成的。仅凭音频,模型可能会偏向于音频内容,并且会错过演示和视觉提供的上下文。
{audio} 输入对于 GPT-4o 目前不可用,但很快就会推出!目前,我们使用现有的 whisper-1 模型来处理音频。
音频摘要可能会偏向于演讲中讨论的内容,但结构远不如视频摘要。
音频 + 视觉摘要
音频 + 视觉摘要是通过同时向模型发送视频的视觉和音频生成的。当同时发送这两者时,模型预计能够更好地总结,因为它可以一次性感知整个视频。
在结合视频和音频后,您将能够获得一个更详细和全面的事件摘要,该摘要使用了来自视频的视觉和音频元素的信息。
示例 2:问答
对于问答,我们将使用与之前相同的概念,针对我们处理过的视频提出问题,同时进行相同的 3 项测试,以展示结合输入模态的好处:
视觉问答
音频问答
视觉 + 音频问答
比较这三种回答,最准确的答案是通过同时使用音频和视频生成的。Sam Altman 在主题演讲中并没有讨论打开窗户或收音机,而是提到了模型在单个请求中执行多个功能的能力改进,同时这些例子在他身后展示。
结论
集成音频、视觉和文本等多种输入模式,显著提升了模型在多样化任务上的表现。这种多模态方法允许更全面的理解和互动,更加贴近人类感知和处理信息的方式。
Last updated