Puoi fornire file al tuo agente caricandoli tramite la Files API e montandoli nella sandbox della sessione.
Tutte le richieste all'API Managed Agents richiedono l'header beta managed-agents-2026-04-01. L'SDK imposta automaticamente l'header beta.
Per prima cosa, carica un file utilizzando la Files API:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Monta i file caricati nella sandbox aggiungendoli all'array resources durante la creazione di una sessione:
Il mount_path è opzionale, ma assicurati che il file caricato abbia un nome descrittivo in modo che l'agente possa identificarlo.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/workspace/data.csv",
},
],
)Viene creato un nuovo file_id che fa riferimento all'istanza del file nella sessione. Queste copie non vengono conteggiate nei tuoi limiti di archiviazione.
Monta più file aggiungendo voci all'array resources:
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py"},
]È supportato un massimo di 100 file per sessione.
Puoi aggiungere o rimuovere file da una sessione dopo la creazione utilizzando l'API delle risorse della sessione. Ogni risorsa ha un id restituito quando viene aggiunta (o elencata), che utilizzi per le eliminazioni.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Elenca tutte le risorse di una sessione con resources.list. Per rimuovere un file, chiama resources.delete con l'ID della risorsa:
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)Usa la Files API per elencare i file associati a una sessione e scaricarli.
# Elenca i file associati a una sessione
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for f in files:
print(f.id, f.filename)
# Scarica un file
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")L'agente può lavorare con qualsiasi tipo di file, inclusi:
.py, .js, .ts, .go, .rs e altri).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - l'agente può estrarli utilizzando bashI file montati nella sandbox sono copie di sola lettura. L'agente può leggerli ma non può modificare il file originale caricato. Per lavorare con versioni modificate, l'agente scrive in nuovi percorsi all'interno della sandbox.
/)Was this page helpful?