For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

文件和产物

从您的环境中获取文件,并保留已发布的输出。

文件和已发布的产物

文件存储在智能体的环境中。产物是从 OpenAI 托管环境中发布的文件副本。环境过期后,您仍可下载该副本。

环境如何获取文件
self_hosted使用您的提供商的文件 API 或挂载的文件系统。
openai_hosted对于 /workspace/outputs 下的文件,请使用会话的 Artifacts API。
none没有环境文件系统。请从会话条目中读取输出。

上传文件

对于 OpenAI 托管环境,请在创建会话时通过 environment.files 提供输入文件。为每个文件选择 /workspace 下的目标路径。

使用 type: "file_id" 并提供来自 Files APIfile_id,或者使用 type: "inline" 并提供经过 base64 编码的 data。这两种形式都需要 path

如需在环境连接后添加文件,请使用环境的 Files API

获取您的文件

从您自己的环境中获取

让智能体将输出写入一个已知路径。轮次完成后,通过您的提供商或基础设施获取文件。在环境过期或您删除环境之前,将文件保存到应用的存储中。

自托管环境中的文件不会通过 Artifacts API 发布,包括 /workspace/outputs 下的文件。有关各提供商的文件访问方式,请参阅沙盒提供商

从 OpenAI 托管环境中获取

让智能体将文件保存到 /workspace/outputs 下,例如 /workspace/outputs/report.pdf。轮次完成时,OpenAI 会将输出发布为不可变的产物。

将您的 API 客户端、会话 ID、已完成的轮次 ID、产物路径和本地目标路径传递给此函数。它会列出产物,并下载同时匹配轮次和路径的文件:

查找并下载产物
# Pass the saved session ID, completed turn ID, artifact path, and local destination.
def download_artifact(client, session_id, turn_id, path, destination):
    for artifact in client.beta.agents.sessions.artifacts.list(session_id):
        if artifact.turn_id != turn_id or artifact.path != path:
            continue
        with client.beta.agents.sessions.artifacts.with_streaming_response.content(
            artifact.id, session_id=session_id
        ) as response:
            response.stream_to_file(destination)
        return
    raise FileNotFoundError(f"No artifact for {path!r} in turn {turn_id}")

有关请求和响应字段,请参阅列出产物获取元数据下载内容的参考资料。

下载多个文件

该 API 每次请求下载一个产物,不提供批量下载端点。 如需下载多个文件,请列出产物,并请求每个文件的 content。 如需一次下载全部文件,请让智能体将结果打包为 ZIP 文件, 保存到 /workspace/outputs 下,然后将该压缩包作为一个产物下载。

文件生命周期

环境过期后,已发布的产物仍会保留。请在删除会话之前下载您需要保留的所有内容。

无法通过此 API 上传或编辑产物。如需发布新版本,请让智能体更新文件并完成另一个轮次。使用轮次 ID 和路径来区分版本。

当您不再需要已发布的副本时,请删除产物。删除产物不会影响环境中的文件。

文件限制

文件操作限制
创建会话时包含的文件每次请求 50 个文件。
内联上传每个文件 5 MiB,按 base64 编码前的大小计算。
一次创建请求中的内联上传总计 10 MiB,按 base64 编码前的大小计算。
从 Files API 复制的文件每个文件 50 MiB。
已发布的产物每个文件 200 MiB。
一起发布的输出总计 500 MiB。