Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Files API를 통해 파일을 업로드하고 세션의 샌드박스에 마운트하여 에이전트에 파일을 제공할 수 있습니다.
먼저 Files API를 사용하여 파일을 업로드합니다:
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")세션을 생성할 때 resources 배열에 업로드된 파일을 추가하여 샌드박스에 마운트합니다:
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)위의 mount_path를 사용하면 에이전트는 /mnt/session/uploads/data.csv에서 파일을 읽습니다(파일 경로 참조).
세션 내 파일 인스턴스를 참조하는 새로운 file_id가 생성됩니다. 이러한 복사본은 스토리지 제한에 포함되지 않습니다.
resources 배열에 항목을 추가하여 여러 파일을 마운트합니다:
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/src/main.py"},
]세션당 최대 500개의 파일이 지원됩니다.
세션 리소스 API를 사용하여 세션 생성 후에도 파일을 추가하거나 제거할 수 있습니다. 각 리소스는 추가(또는 목록 조회) 시 반환되는 id를 가지며, 이를 삭제에 사용합니다.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."resources.list로 세션의 모든 리소스를 나열합니다. 파일을 제거하려면 리소스 ID와 함께 resources.delete를 호출하세요:
listed = client.beta.sessions.resources.list(session.id)
for entry in listed.data:
print(entry.id, entry.type)
client.beta.sessions.resources.delete(resource.id, session_id=session.id)Files API를 사용하여 세션 범위의 파일을 나열하고 다운로드합니다.
# 세션과 연결된 파일 목록 조회
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# 파일 다운로드
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")에이전트는 다음을 포함한 모든 파일 유형을 처리할 수 있습니다:
.py, .js, .ts, .go, .rs 등).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - 에이전트가 bash를 사용하여 압축을 해제할 수 있습니다mount_path가 /data.csv이면 파일은 샌드박스의 /mnt/session/uploads/data.csv에 배치됩니다mount_path를 생략하면 파일은 /mnt/session/uploads/<file_id>에 배치됩니다/로 시작)Was this page helpful?