如何使用 GPT 4o API 实现视觉、文本、图像等功能?

CSDN 2024-06-25 16:01:03 阅读 73

如何使用 GPT 4o API 实现视觉、文本、图像等功能?

引言

在积累了大量关于搜索引擎的炒作之后,OpenAI 发布了 ChatGPT-4o,这是其受到广泛好评的 ChatGPT-4 模型的升级版,并成为其旗舰产品 ChatGPT 的核心。这个改进版本在速度和性能上有显著提升,在文本、视觉和音频处理方面提供了增强的能力。这款创新模型将在包括 Free、Plus 和 Team 在内的各种 ChatGPT 计划中可用,并将集成到多个 API 中,例如 Chat Completions、Assistants 和 Batch。如果你想访问 GPT 4o API 来生成和处理视觉、文本等内容,那么这篇文章适合你。

在这里插入图片描述

目录

什么是 GPT-4o?

GPT-4o 是 OpenAI 最新和最强大的 AI 模型。这不仅仅是 AI 聊天机器人领域的又一步,而是一个具有突破性功能的飞跃,称为 多模态能力

这意味着:传统上,像以前版本的 GPT 这样的语言模型主要集中在理解和响应文本。GPT-4o 打破了这一模式,成为真正的多模态模型。它可以无缝处理来自不同格式的信息,包括:

文本: 这是其核心优势,允许 GPT-4o 进行对话、回答问题,以及生成诗歌或代码等创作性文本格式。

音频: 想象一下,播放一首歌给 GPT-4o,让它分析音乐、描述激发的情感,甚至写出受其启发的歌词!GPT-4o 可以理解口语,包括语调和潜在的背景噪音。

视觉: 给 GPT-4o 看一张图片,它可以分析内容、描述场景,甚至根据图像讲述一个故事。这为图像分类或为视频生成字幕等应用开辟了新天地。

这种多模态能力使 GPT-4o 能够更加清晰地理解世界。它能掌握超越文字字面意思的沟通细节。以下是这些优点的分解:

更自然的对话: 通过理解音频中的语调和图像上下文,GPT-4o 能进行更自然且有吸引力的对话。它能体会到人类沟通中的微妙之处。

增强的信息处理: 想象一下分析包含文本、音频录音和图像的数据集。GPT-4o 能从所有这些格式中提取洞见,从而对信息有更全面的理解。

新的应用: 可能性是无限的!GPT-4o 可以用于创建更好理解你需求的 AI 助手,开发结合文本和多媒体元素的教育工具,甚至通过基于不同输入生成创意内容来推动艺术表达的界限。

GPT-4o 的多模态能力代表了 AI 发展的重要飞跃。它们为一个未来开辟了道路,在这个未来里,AI 可以以更接近人类的方式与世界互动并理解信息。

GPT-4o API 能做什么?

GPT-4o 的 API 释放了它在各种任务中的潜力,使其成为开发人员和用户强大的工具。以下是其功能的分解:

聊天补全: 与 GPT-4o 进行自然对话,类似于聊天机器人。提问、提供创意写作的提示,或者单纯聊任何你感兴趣的话题。

图像和视频理解: 分析视觉内容!提供图像或视频帧并获得描述、摘要或洞见。想象一下,展示 GPT-4o 一张度假照片并生成基于风景的故事。

音频处理: 探索声音世界。播放音频片段并获得转录、情绪分析,甚至受音乐启发的创意内容。

文本生成: GPT-4o 仍可处理经典的基于文本的功能。需要一首诗、一篇剧本,或者对你的问题的详细回答?根据你的提示,GPT-4o 可以生成多种创意文本格式。

代码补全: 在编码问题上卡住了吗?GPT-4o 可能能够通过代码补全来帮助你编写更高效的代码。

JSON 模式和函数调用: 对于有经验的开发人员,这些功能允许与 GPT-4o 进行更程序化的交互。更精确地构建你的请求和响应,以实现复杂的任务。

如何使用 GPT-4o API 实现视觉和文本功能?

虽然 GPT-4o 是一个新模型,API 可能还在不断发展中,但以下是你与之交互的一般思路:

访问和身份验证:

OpenAI 账号: 你可能需要一个 OpenAI 账号来访问 API。这可能涉及注册一个免费账号,或者如果存在不同访问级别,则使用付费层账户。API Key: 一旦你拥有账户,就可以获取你的 API 密钥。这个密钥用于验证你对 GPT-4o API 的请求。

安装必要的库

pip install openai

导入 openai 库并进行认证

import openai

openai.api_key = "<Your API KEY>"

聊天完成

代码:

response = openai.chat.completions.create(

model="gpt-4o",

messages=[

{ "role": "system", "content": "You are a helpful assistant."},

{ "role": "user", "content": "Who won the world series in 2020?"},

{ "role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},

{ "role": "user", "content": "Where was it played?"}

]

)

输出:

print(response.choices[0].message.content)

图像处理

代码:

response = openai.chat.completions.create(

model="gpt-4o",

messages=[

{

"role": "user",

"content": [

{ "type": "text", "text": "What’s in this image?"},

{

"type": "image_url",

"image_url": {

"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",

},

},

],

}

],

max_tokens=300,

)

在这里插入图片描述

输出:

print(response.choices[0])

视频处理

导入必要库:

from IPython.display import display, Image, Audio

import cv2 # We're using OpenCV to read video, to install !pip install opencv-python

import base64

import time

from openai import OpenAI

import os

import requests

client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY", "<your OpenAI API key if not set as env var>"))

使用 GPT 的视觉能力获取视频描述

video = cv2.VideoCapture("<Your Video Address>")

base64Frames = []

while video.isOpened():

success, frame = video.read()

if not success:

break

_, buffer = cv2.imencode(".jpg", frame)

base64Frames.append(base64.b64encode(buffer).decode("utf-8"))

video.release()

print(len(base64Frames), "frames read.")

display_handle = display(None, display_id=True)

for img in base64Frames:

display_handle.update(Image(data=base64.b64decode(img.encode("utf-8"))))

time.sleep(0.025)

提供提示语:

PROMPT_MESSAGES = [

{

"role": "user",

"content": [

"These are frames from a video that I want to upload. Generate a compelling description that I can upload along with the video.",

*map(lambda x: { "image": x, "resize": 768}, base64Frames[0::50]),

],

},

]

params = {

"model": "gpt-4o",

"messages": PROMPT_MESSAGES,

"max_tokens": 200,

}

输出:

result = client.chat.completions.create(**params)

print(result.choices[0].message.content)

音频处理

代码:

from openai import OpenAI

client = OpenAI()

audio_file= open("/path/to/file/audio.mp3", "rb")

transcription = client.audio.transcriptions.create(

model="whisper-1",

file=audio_file

)

输出:

print(transcription.text)

图像生成

代码:

from openai import OpenAI

client = OpenAI()

response = client.images.generate(

model="dall-e-3",

prompt="a man with big moustache and wearing long hat",

size="1024x1024",

quality="standard",

n=1,

)

image_url = response.data[0].url

输出:

在这里插入图片描述

音频生成

代码:

from pathlib import Path

from openai import OpenAI

client = OpenAI()

speech_file_path = Path(__file__).parent / "speech.mp3"

response = client.audio.speech.create(

model="tts-1",

voice="alloy",

input="Data science is an interdisciplinary academic field that uses statistics, scientific computing, scientific methods, processes, algorithms and systems to extract or extrapolate knowledge and insights from potentially noisy, structured, or unstructured data."

)

response.stream_to_file(speech_file_path)

GPT-4o API 的优势和应用

GPT-4o API 解锁了强大的 AI 能力,人人可用。这是它的精髓:

提高效率: 自动化任务,更快分析数据,按需生成创意内容。

个性化体验: 理解你的聊天机器人、适应你的教育工具等等。

打破沟通障碍: 实时翻译语言,为视障用户描述图像。

促进 AI 创新: 研究人员可以利用 GPT-4o 的能力探索 AI 的新前沿。

未来是开放的: GPT-4o 在各个领域将会有新的令人兴奋的应用出现。

总结

简而言之,GPT-4o 在 AI 领域是一个重大的变革。它具备多模态能力,可以理解文本、音频和视觉内容。其 API 为开发者和用户打开了大门,从创建自然对话到分析多媒体内容。借助 GPT-4o,任务变得自动化,体验个性化,沟通障碍被打破。准备迎接一个由 AI 驱动创新,并改变我们与技术互动方式的未来吧!



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。