Ограничения использования /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/ без проблем (проверено на практике)
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 сохраняет в этих форматах.
Модули wave / pydub / librosa читают; объём нужно держать ≤ 20 МБ.
Чтение/конверсия через moviepy/opencv (при наличии). Ограничение размера всё ещё 20 МБ.
.py, .ipynb (уже упоминалось), .jsonl, .yaml / .yml, .xml, .csv.gz
Эти файлы удобны для скриптовых операций и хранения аннотаций.
.sqlite / .db, .parquet, .feather, .arrow, .orc
SQLite очень удобен для «крупного количества маленьких JSON» вместо тысяч файлов.
.pt / .pth (PyTorch), .h5 (Keras), .onnx
Если модель < 512 МБ, грузится без проблем.
Что чаще всего блокируется или удаляется
- Исполняемые бинарники: .exe, .dll, .so, .a, .out.
- Сценарии со встроенным бинарным содержимым (упакованные malware).
- Файлы с известными сигнатурами вредоносного ПО.
Лайфхаки при работе с форматами
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