August 5

Ограничения использования /mnt/data/ в чат GPT

Подборка предназначена для моего сообщества https://t.me/ainovasapiens

Собрал инфу по лимитам, форматам при работе с аналитикой в GPT через /mnt/data/ в одном месте.

ОЗУ процесса

Доступно примерно 1 ГБ оперативной памяти для Python‑процесса. Чтобы увидеть точное значение, укажите в промпте этот код:

import psutil, os; print(psutil.virtual_memory().total/1024/1024, "MB")

Длительность контейнера

При активной работе контейнер живёт до 1 часа. Если в течение 20–30 минут нет сообщений или вызовов Python, контейнер автоматически прекращается, и всё содержимое каталога /mnt/data безвозвратно удаляется.

Время одного вызова Python

Каждый вызов инструментов `python` или `python_user_visible` ограничен 300 секундами (5 минутами). Длинные вычисления следует делить на этапы и сохранять промежуточные результаты на диск.

Размер одного файла

512 МБ — это жёсткий верхний предел для загрузки (upload) и сохранения (save) файла. Попытка превысить лимит приведёт к ошибке.

Количество файлов (upload / download)

Пользователи Plus / Pro / Team / Enterprise могут загружать и скачивать до 80 файлов за 3 ч. На тарифе Free — 3 файла в сутки. Считаются только операции загрузки и выгрузки; файлы, созданные внутри контейнера, не учитываются.

Специальные лимиты по типу файла

• Текст и документы — не более 2 млн токенов.
• CSV и другие таблицы — около 50 МБ.
• Изображения — до 20 МБ.
Файлы крупнее этих ограничений будут отклонены при загрузке.

Передача файлов пользователю

После создания файла в ответе укажите ссылку вида `[Скачать](sandbox:/mnt/data/имя_файла)` — клиент сможет скачать файл напрямую.

Работа с архивами

Крупные датасеты (например, SQL‑дампы) удобно загружать архивом (.zip или .tar.gz) и распаковывать внутри песочницы:

 import zipfile
 with zipfile.ZipFile('/mnt/data/archive.zip') as z:
  z.extractall('/mnt/data')

Распределяйте по подпапкам

Например в промпте укажите вложенные папки: (/mnt/data/tmp, /mnt/data/cache, /mnt/data/out) — меньше шансов перепутать сырой и готовый файлы.

Доступ в интернет

Файлы можно загрузить через Gooole диск, но не по ссылке, а подключив его внутри GPT.

Ключевые советы

  • Кешируйте промежуточные артефакты в /mnt/data и проверяйте их наличие перед повторным вычислением.
  • Дробите большие наборы данных: лимиты 512 МБ на файл и 1 ГБ RAM редко позволяют работать «всё‑в‑памяти».
  • Скачивайте важные результаты сразу — контейнер может завершиться после 20 минут бездействия.
  • Для крупных источников (например, SQL‑дампы) загружайте архивом и распаковывайте их внутри песочницы.
  • Поддерживайте сессию «живой» (короткий код или сообщение раз в 10–15 минут), если расчёты длятся долго.

Что ещё «живёт» в /mnt/data/ без проблем (проверено на практике)

Электронные таблицы

.xlsx, .xls, .ods

Pandas считывает напрямую через read_excel(); LibreOffice-совместимые .ods тоже открываются (через pyexcel-ods).

Документы

.docx, .doc, .rtf, .odt, .tex, .md, .rst, .html

Для .docx удобна библиотека python-docx; LaTeX (.tex) можно компилировать, если использовать встроенный pdfLaTeX (наличие зависит от образа).

Архивы

.zip, .tar, .tar.gz / .tgz, .tar.bz2, .tar.xz, .7z

Встроенные модули zipfile, tarfile; для .7z используйте py7zr. Удобно грузить большие датасеты и распаковывать внутри.

Сжатые тексты

.gz, .bz2, .xz (одиночные файлы)

Pandas читает CSV/JSON «на-лету»: read_csv('file.csv.gz').

Часто применяемые бинарные данные

.npy, .npz, .pkl / .pickle, .joblib, .h5 / .hdf5, .feather, .arrow

Позволяют хранить большие массивы NumPy, модели sklearn, данные Arrow — всё читается без ошибок.

Геоданные

.shp, .geojson, .kml, .gpkg, .tif/.tiff (GeoTIFF)

Работает через geopandas/rasterio (если библиотека установлена в образе).

Статистика / соц-науки

.dta (Stata), .sav / .zsav (SPSS), .sas7bdat (SAS)

Читается через pandas.read_stata, pyreadstat.

Графика

.svg, .eps, .ps, .bmp, .tif/.tiff, .webp

Pillow открывает большинство; Matplotlib сохраняет в этих форматах.

Аудио

.wav, .flac, .mp3, .ogg

Модули wave / pydub / librosa читают; объём нужно держать ≤ 20 МБ.

Видео

.mp4, .mov, .webm, .avi

Чтение/конверсия через moviepy/opencv (при наличии). Ограничение размера всё ещё 20 МБ.

Коды / разметка

.py, .ipynb (уже упоминалось), .jsonl, .yaml / .yml, .xml, .csv.gz

Эти файлы удобны для скриптовых операций и хранения аннотаций.

Базы данных

.sqlite / .db, .parquet, .feather, .arrow, .orc

SQLite очень удобен для «крупного количества маленьких JSON» вместо тысяч файлов.

Модели ML

.pt / .pth (PyTorch), .h5 (Keras), .onnx

Если модель < 512 МБ, грузится без проблем.

Что чаще всего блокируется или удаляется

  • Исполняемые бинарники: .exe, .dll, .so, .a, .out.
  • Сценарии со встроенным бинарным содержимым (упакованные malware).
  • Файлы с известными сигнатурами вредоносного ПО.

Лайфхаки при работе с форматами

  1. Большие Excel-файлы → Parquet
import pandas as pd
df = pd.read_excel('huge.xlsx', sheet_name=None)  # все листы
for name, sheet in df.items():
    sheet.to_parquet(f'/mnt/data/{name}.parquet', compression='zstd')

Конвертация «тяжёлых» изображений в WebP

Снижает размер ×3–4, оставаясь внутри лимита 20 МБ:

from PIL import Image
img = Image.open('photo.png')
img.save('/mnt/data/photo.webp', 'webp', quality=85)

Объединяйте много мелких JSON → JSONL + gzip
1 файл легче передавать и он лучше переживает лимит на количество upload-операций.

TL;DR: практически любые данные, которые не являются исполняемым кодом, можно держать в /mnt/data. Главное — вписаться в лимиты 512 МБ на файл, 1 ГБ RAM и 20 МБ для картинок.

Подборка предназначена для моего сообщества https://t.me/ainovasapiens