Вы можете предоставить файлы вашему агенту, загрузив их через Files API и смонтировав их в контейнер сеанса.
Все запросы Managed Agents API требуют заголовка бета-версии managed-agents-2026-04-01. SDK автоматически устанавливает заголовок бета-версии.
Сначала загрузите файл, используя Files API:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Смонтируйте загруженные файлы в контейнер, добавив их в массив resources при создании сеанса:
mount_path является необязательным, но убедитесь, что загруженный файл имеет описательное имя, чтобы агент знал, что он ищет.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/workspace/data.csv",
},
],
)Будет создан новый file_id, который ссылается на экземпляр файла в сеансе. Эти копии не учитываются в ваших лимитах хранилища.
Смонтируйте несколько файлов, добавив записи в массив 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"},
]Максимум 100 файлов поддерживается на сеанс.
Вы можете добавлять или удалять файлы из сеанса после его создания, используя API ресурсов сеанса. Каждый ресурс имеет id, возвращаемый при его добавлении (или перечислении), который вы используете для удаления.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Перечислите все ресурсы в сеансе с помощью resources.list. Чтобы удалить файл, вызовите resources.delete с ID ресурса:
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 для перечисления файлов, относящихся к сеансу, и их загрузки.
# List files associated with a session
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for f in files:
print(f.id, f.filename)
# Download a file
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Файлы, смонтированные в контейнер, являются копиями только для чтения. Агент может их читать, но не может изменять исходный загруженный файл. Для работы с измененными версиями агент записывает в новые пути в контейнере.
/)Was this page helpful?