前言

有两种类型的数据集对象,常规Dataset和✨IterableDataset✨。Dataset提供对行的快速随机访问和内存映射,因此即使加载大型数据集也只使用相对少量的设备内存。但是对于非常非常大的数据集,甚至不适合磁盘或内存,IterableDataset允许您访问和使用数据集,而无需等待它完全下载!

本教程将向您展示如何加载和访问Dataset和IterableDataset。

Operating System: Ubuntu 22.04.4 LTS

参考文档

  1. OpenAI Models
  2. OpenAI developer platform
  3. Developer quickstart

Models

src link: https://platform.openai.com/docs/models

Models overview

OpenAI API由具有不同功能和价格点的各种模型提供支持。您还可以通过微调针对您的特定用例对我们的模型进行自定义。

Model Description
GPT-4o 我们用于复杂、多步骤任务的高智能旗舰型号
GPT-4o mini 我们经济实惠且智能的小型模型,可用于快速、轻量级的任务
o1-preview and o1-mini 通过强化学习训练的语言模型来执行复杂的推理。
GPT-4 Turbo and GPT-4 上一套高智能模型
GPT-3.5 Turbo 用于简单任务的快速、廉价模型
DALL·E 在给定自然语言提示的情况下可以生成和编辑图像的模型
TTS 一组可以将文本转换为自然发音的语音音频的模型
Whisper 可以将音频转换为文本的模型
Embeddings 一组可以将文本转换为数字形式的模型
Moderation 可以检测文本是否敏感或不安全的微调模型
GPT base 一组没有指令遵循的模型,可以理解和生成自然语言或代码
Deprecated 已弃用的型号的完整列表以及建议的替换

对于GPT系列模型,上下文窗口是指单个请求中可以使用的最大tokens数,包括输入和输出tokens。

我们还发布了开源模型,包括Point-EWhisperJukeboxCLIP

GPT-4o

GPT-4o(“o”代表“omni”)是我们最先进的型号。它是多模态的(接受文本或图像输入并输出文本),它具有与GPT-4 Turbo相同的高智能,但效率更高——它生成文本的速度快2倍,价格便宜50%。此外,GPT-4o在我们的任何型号中具有最佳的非英语视觉和性能。GPT-4o在OpenAI API中提供给付费客户。在我们的文本生成指南中了解如何使用GPT-4o。

Model Description Context window Max output tokens Training data
gpt-4o GPT-4o:我们用于复杂、多步骤任务的高智能旗舰型号。GPT-4o比GPT-4 Turbo更便宜、更快。 128,000 tokens 4,096 tokens 截至2023年10月
gpt-4o-2024-05-13 gpt-4o目前指向这个版本。 128,000 tokens 4,096 tokens 截至2023年10月
gpt-4o-2024-08-06 支持结构化输出的最新快照 128,000 tokens 16,384 tokens 截至2023年10月
chatgpt-4o-latest 动态模型在ChatGPT不断更新到GPT-4o的当前版本。用于研究和评估。 128,000 tokens 16,384 tokens 截至2023年10月

GPT-4o mini

GPT-4o mini(“o”代表“omni”)是我们小型型号类别中最先进的型号,也是我们迄今为止最便宜的型号。它是多模态的(接受文本或图像输入并输出文本),比gpt-3.5-turbo具有更高的智能,但同样快。它旨在用于较小的任务,包括视觉任务。

您之前会使用gpt-3.5-turbo,我们建议选择gpt-4o-mini, 因为此型号功能更强大且更便宜。

Model Description Context window Max output tokens Training data
gpt-4o-mini GPT-4o-mini:我们经济实惠且智能的小型模型,用于快速、轻量级的任务。GPT-4o mini比GPT-3.5 Turbo更便宜、更强大。目前指向gpt-4o-mini-2024-07-18。 128,000 tokens 16,384 tokens 截至2023年10月
gpt-4o-mini-2024-07-18 gpt-4o-mini目前指向这个版本。 128,000 tokens 16,384 tokens 截至2023年10月

o1-preview and o1-mini

o1系列大型语言模型通过强化学习进行训练,以执行复杂的推理。o1模型在回答之前先思考,在回应用户之前产生一个漫长的内部思维链。在我们的推理指南中了解o1模型的功能和限制。

今天有两种型号可用:

  • o1-preview:旨在解决跨领域难题的推理模型。
  • o1-mini:更快、更便宜的推理模型,特别擅长编码、数学和科学。
Model Description Context window Max output tokens Training data
o1-preview 指向o1模型的最新快照:o1-preview-2024-09-12 128,000 tokens 32,768 tokens 截至2023年10月
o1-preview-2024-09-12 最新的o1型号快照 128,000 tokens 32,768 tokens 截至2023年10月
o1-mini 指向最近的o1-mini快照:o1-mini-2024-09-12 128,000 tokens 65,536 tokens 截至2023年10月
o1-mini-2024-09-12 最新的o1-mini型号快照 128,000 tokens 65,536 tokens 截至2023年10月

GPT-4 Turbo and GPT-4

GPT-4是一个大型多模态模型(接受文本或图像输入并输出文本),由于其更广泛的一般知识和高级推理能力,它可以比我们以前的任何模型更准确地解决难题。GPT-4在OpenAI API中提供给付费客户。与gpt-3.5-turbo一样,GPT-4针对聊天进行了优化,但适用于使用聊天完成API的传统完成任务。在我们的文本生成指南中了解如何使用GPT-4。

Model Description Context window Max output tokens Training data
gpt-4-turbo 具有视觉能力的最新GPT-4 Turbo模型。视觉请求现在可以使用JSON模式和函数调用。目前指向gpt-4-turbo-2024-04-09。 128,000 tokens 4,096 tokens 截至2023年12月
gpt-4-turbo-2024-04-09 GPT-4 Turbo带Vision模型。Vision请求现在可以使用JSON模式和函数调用。gpt-4-turbo目前指向这个版本。 128,000 tokens 4,096 tokens 截至2023年12月
gpt-4-turbo-preview GPT-4 Turbo预览模型。目前指向gpt-4-0125-preview。 128,000 tokens 4,096 tokens 截至2023年12月

对于许多基本任务,GPT-4和GPT-3.5模型之间的差异并不显著。然而,在更复杂的推理情况下,GPT-4比我们以前的任何模型都更有能力。

Developer quickstart

src link: https://platform.openai.com/docs/quickstart

OpenAI API为用于自然语言处理、图像生成、语义搜索和语音识别的最先进的AI模型提供了一个简单的接口。按照本指南了解如何对自然语言提示生成类似人类的响应,为语义搜索创建向量嵌入,并从文本描述中生成图像

Create and export an API key

在此处的仪表板中创建一个API密钥,您将使用它来安全地访问API。将密钥存储在安全的位置,如计算机上的.zshrc文件或其他文本文件。生成API密钥后,将其导出为终端中的环境变量。

1
export OPENAI_API_KEY="your_api_key_here"

Make your first API request

将OpenAI API密钥导出为环境变量后,您就可以发出第一个API请求了。您可以将REST API直接与您选择的HTTP客户端一起使用,也可以使用我们的官方SDK之一,如下所示。

要在Python中使用OpenAI API,您可以使用Python的官方OpenAI SDK。使用pip安装SDK开始:

1
pip install openai

安装OpenAI SDK后,创建一个名为example.py的文件并将以下示例之一复制到其中:

Generate text

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{
"role": "user",
"content": "Write a haiku about recursion in programming."
}
]
)

print(completion.choices[0].message)

Generate an image

1
2
3
4
5
6
7
8
9
10
from openai import OpenAI
client = OpenAI()

response = client.images.generate(
prompt="A cute baby sea otter",
n=2,
size="1024x1024"
)

print(response.data[0].url)

Create vector embeddings

1
2
3
4
5
6
7
8
9
from openai import OpenAI
client = OpenAI()

response = client.embeddings.create(
model="text-embedding-3-large",
input="The food was delicious and the waiter..."
)

print(response)

用python example.py执行代码。过一会儿,您应该会看到API请求的输出!

结语

第一百七十一篇博文写完,开心!!!!

今天,也是充满希望的一天。