首页 >后端开发 >Python教程 >上传文件到 OpenAI:传递接力棒

上传文件到 OpenAI:传递接力棒

Susan Sarandon
Susan Sarandon原创
2025-01-05 08:27:39387浏览

Uploading Files to OpenAI: Passing the Baton

为了完成传递接力棒的类比,让我们探索如何使用 OpenAI 的文件 API 将准备好的 JSONL 文件上传到 OpenAI,使我们能够更进一步地微调模型。

上传文件的分步指南

先决条件

  • 确保您已安装 openai Python 包。如果没有,请使用以下命令安装:

pip install openai

  • 从 OpenAI 的 API 设置中获取您的 OpenAI API 密钥。

_上传文件到OpenAI_

  • 这是用于上传准备好的 JSONL 文件的 Python 脚本。
from openai import OpenAI
client = OpenAI()
# File paths for training and testing datasets
file_paths = {
    "train": "train.jsonl",
    "test": "test.jsonl"
}

# Function to upload a file
def upload_file(file_path, purpose="fine-tune"):
    try:
        response = client.files.create(
            file=open(file_path, "rb"),
            purpose=purpose
        )
        print(f"File uploaded successfully: {file_path}")
        print(f"File ID: {response['id']}")
        return response["id"]
    except Exception as e:
        print(f"Failed to upload {file_path}: {e}")
        return None

# Upload both training and test files
file_ids = {split: upload_file(file_paths[split]) for split in file_paths}

print("Uploaded file IDs:", file_ids)

代码说明

API 密钥设置:

  • 设置您的 OpenAI API 密钥以验证请求。

文件路径:

  • 指定之前准备的 JSONL 文件(train.jsonl 和 test.jsonl)的路径。

上传文件:

  • 使用 openai.files.create() 将 JSONL 文件上传到 OpenAI。
  • 目的参数设置为“fine-tune”,用于微调数据集。

错误处理:

  • 捕获并记录上传过程中遇到的任何错误。

文件 ID:

  • 上传后,OpenAI 会为每个上传的文件分配一个唯一的 file_id。启动微调过程时将需要这些 ID。

输出示例

如果上传成功,您会看到如下内容:

File uploaded successfully: dataset/train.jsonl
File ID: file-abc123xyz456
File uploaded successfully: dataset/test.jsonl
File ID: file-def789uvw012
Uploaded file IDs: {'train': 'file-abc123xyz456', 'test': 'file-def789uvw012'}

为什么这一步很重要?

上传 JSONL 文件类似于六三八将已分类的邮件移交给邮政服务进行最终投递。如果没有这一步,微调过程就无法继续,因为 OpenAI 的基础设施需要访问结构化的、经过验证的数据来有效地训练模型。

上传后,接力棒已传递给 OpenAI,您就可以继续使用这些文件对模型进行微调。

以上是上传文件到 OpenAI:传递接力棒的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn