林逍遥 AI林逍遥 AI
登录
Files API批量

文件上传:批量处理文档

·5 分钟阅读

Files API 让你上传文件到 Anthropic 平台,然后在多次对话中重复引用——不需要每次都重新上传。这对于批量处理文档、构建知识库、反复分析同一份数据等场景非常实用。

你将学到什么

  • Files API 的上传和引用方式
  • 支持的文件类型和大小限制
  • 批量文档处理工作流
  • 与 Citations 的结合使用

上传文件

# 上传文件
file = client.files.create(
    file=open("report.pdf", "rb"),
    purpose="user_message",
)

print(file.id)  # file_abc123

在对话中引用

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "document",
                "source": {
                    "type": "file",
                    "file_id": "file_abc123"
                },
                "citations": {"enabled": True}
            },
            {"type": "text", "text": "总结这份报告的核心要点"}
        ]
    }]
)

Note: 使用 Files API 需要 beta header:files-api-2025-04-14

支持的文件类型

  • 文档:PDF、TXT、Markdown、HTML
  • 图片:JPEG、PNG、GIF、WebP
  • 数据:CSV、JSON
  • 大小限制:单文件最大 32MB

批量处理示例

import os

# 上传所有 PDF
file_ids = []
for filename in os.listdir("documents/"):
    if filename.endswith(".pdf"):
        f = client.files.create(
            file=open(f"documents/{filename}", "rb"),
            purpose="user_message",
        )
        file_ids.append((filename, f.id))

# 批量分析
for filename, fid in file_ids:
    response = client.messages.create(
        model="claude-haiku-4-5",  # 用 Haiku 节省成本
        max_tokens=2048,
        messages=[{
            "role": "user",
            "content": [
                {"type": "document", "source": {"type": "file", "file_id": fid}},
                {"type": "text", "text": "提取文档的标题、作者、摘要,用 JSON 格式返回"}
            ]
        }],
    )
    print(f"{filename}: {response.content[0].text}")

文件管理

# 列出所有文件
files = client.files.list()

# 获取文件信息
file_info = client.files.retrieve("file_abc123")

# 删除文件
client.files.delete("file_abc123")

实战练习

Tip: 用 Files API 处理你的文档。

  1. 上传 3 份 PDF,让 Claude 分别生成摘要
  2. 构建一个多文档问答:上传多个文件,让 Claude 跨文档回答问题

关键要点

Note: 本文核心总结

  • Files API 让你上传一次、多次引用,省去重复传输
  • 支持 PDF、图片、数据文件等多种格式
  • 配合 Haiku 模型进行批量处理,成本极低
  • 需要 beta header 启用

延伸阅读

二维码
微信公众号:lingxiaoyao

关注公众号,获取最新 AI 教程和课程更新

加载评论中...