Коротка відповідь
Якщо Whizi відхилив ваш імпорт, спершу перевірте обраний файл: єдиний файл, який читає Whizi, це conversations.json усередині експорту ChatGPT або Claude, тож розпакуйте експорт і виберіть саме цей файл, а не сам zip-архів. Далі, імпорт може не вдатися в одному з двох місць, і формулювання повідомлення підказує, де саме: парсер у браузері, що читає ваш файл експорту, або кінцева точка імпорту, яка отримує розмови, згенеровані парсером. Помилки файлу стосуються обраного файлу. Помилки завантаження стосуються мережі або сесії. Тут немає нічого неоднозначного, бо кожне повідомлення це фіксований рядок, прив'язаний до однієї умови.
Друге, що варто знати перед будь-якою повторною спробою: повторний запуск імпорту ніколи не дублює чати. Кожна імпортована розмова прив'язана до ключа з облікового запису, джерела та ідентифікатора джерела, тож повторний імпорт того самого експорту, відновлення після розриву з'єднання чи подвійне натискання Import завжди дають ті самі чати лише один раз.
| Що ви побачили | Де стався збій | Що робити |
|---|---|---|
| Повідомлення про формат експорту або conversations.json | Читання вашого файлу, до будь-якого завантаження | Виберіть інший файл з експорту, див. таблицю нижче |
| Повідомлення про вашу сесію або з'єднання | Завантаження, на півдорозі | Увійдіть знову або перепідключіться, потім запустіть імпорт ще раз |
| Кількість розмов, які не вдалося імпортувати | Деякі пакети не пройшли жодної повторної спроби | Запустіть імпорт знову, він підхопить лише те, чого бракує |
| Нічого, але це триває довго | Обмеження швидкості, це задумана поведінка | Зачекайте, імпортер повторює спроби самостійно |
Помилки під час читання файлу експорту
Вони виникають у браузері, ще до того, як хоч один байт покине ваш пристрій. Сам файл експорту ніколи не завантажується: браузер розбирає його і надсилає лише нормалізовані розмови, тож помилка тут означає, що файл так і не дійшов до етапу відправлення.
| Повідомлення | Причина | Виправлення |
|---|---|---|
Той файл не є експортом ChatGPT або Claude. Шукайте conversations.json усередині zip-архіву експорту. | Парсер не може розпізнати жоден з форматів експорту, або zip видає нерозпізнаний вміст | Відкрийте архів експорту і виберіть саме conversations.json |
Усередині цього zip немає conversations.json. Розпакуйте його і виберіть файл напряму. | Обраний zip не містить відповідного файлу | Розпакуйте його самостійно, знайдіть conversations.json і виберіть цей файл |
Цей файл не є коректним JSON, тому читати було нічого. | Обраний файл не вдається розібрати як JSON | Завантажте експорт із ChatGPT або Claude ще раз і виберіть з нього conversations.json |
У цьому експорті немає розмов із текстом. | Експорт розбирається, але дає нуль розмов | Експорт справді порожній від текстових стенограм. З боку Whizi виправляти нічого |
Цей файл завеликий, щоб браузер міг його відкрити. Виберіть натомість .zip експорту, який читається по одному файлу за раз. | Обраний необроблений .json файл перевищує ліміт читання браузера | Виберіть натомість .zip. Необроблений .json експорт приймається до 300 МБ; шлях через .zip не має власної стелі, бо розпаковується лише запис conversations.json |
Не вдалося прочитати цей файл. Спробуйте ще раз. | Читання файлу викликало помилку з іншої причини | Це справді випадок для повтору. Якщо повторюється з тим самим файлом, виберіть .zip експорту, який читається по одному запису за раз |
Перше повідомлення найширше, бо один рядок охоплює дві умови: формат експорту, який парсер не розпізнає, і zip, що видає нерозпізнаний вміст. В обох випадках виправлення однакове: розпакувати експорт і вибрати conversations.json напряму.
Помилки самого завантаження
Щойно файл розібрано, імпортер надсилає розмови пакетами. На цьому етапі можуть статися дві речі, і обидві можна виправити.
| Повідомлення | Причина | Виправлення |
|---|---|---|
Ваша сесія завершилася. Увійдіть знову, потім запустіть імпорт. | Отримання токена не повернуло нічого посеред імпорту | Увійдіть знову, потім запустіть імпорт заново. Все, що вже потрапило в систему, залишається, і повторний запуск його пропускає |
Не вдалося завершити імпорт. Перевірте з'єднання і спробуйте ще раз. | Будь-який інший збій завантаження під час запуску імпорту | Перевірте з'єднання і запустіть ще раз |
Третій варіант це взагалі не помилка, а підсумок: {count} не вдалося імпортувати. Запустіть імпорт ще раз, щоб їх підхопити. Це кількість розмов, чиї пакети не пройшли жодної повторної спроби. Інструкція в повідомленні це і є повне виправлення, а ключ дедуплікації, описаний у короткій відповіді, пояснює, чому повторний запуск нічого вам не коштує.
Помилки, які повертає кінцева точка імпорту
Це коди та рядки, які генерує сам маршрут імпорту. Сайт дзеркалить ті самі ліміти й перевіряє дані перед надсиланням, тож ці помилки найважливіші, коли щось надсилає дані напряму до кінцевої точки або коли пакет сформовано некоректно.
| Код | Повідомлення | Причина |
|---|---|---|
invalid_import | Потрібне тіло у форматі об'єкта JSON. | Тіло імпорту не є об'єктом |
invalid_source | Потрібне джерело імпорту chatgpt або claude. | Поле джерела відсутнє або не є одним із двох прийнятих джерел |
empty_import | Потрібна хоча б одна розмова. | Масив розмов відсутній або порожній |
too_many_conversations | Цей пакет містить {count} розмов, що перевищує ліміт 25 на запит. | Понад 25 розмов в одному запиті |
too_many_messages | Розмова {n} містить {count} повідомлень, що перевищує ліміт 400 на запит. Надішліть решту як append. | Понад 400 повідомлень в одній розмові в одному запиті |
invalid_import | Розмова {n} не є об'єктом. | Елемент масиву розмов не є об'єктом |
invalid_import | Розмова {n} не має масиву messages. | Розмова не містить масиву повідомлень |
invalid_import | Розмова {n} має недійсну ціль append. | Поле appendTo не є ні рядком, ні null |
invalid_message | Розмова {n}, повідомлення {m}, не є об'єктом. | Елемент повідомлення не є об'єктом |
invalid_message | Розмова {n}, повідомлення {m}, потребує ролі "user" або "assistant". | Повідомлення має роль, відмінну від цих двох |
invalid_message | Розмова {n}, повідомлення {m}, не має тексту. | Вміст повідомлення не є рядком |
request_too_large | Запит завеликий. | Тіло JSON перевищує ліміт байтів маршруту, за заявленим Content-Length або фактично прочитаними байтами |
Ліміти за цими повідомленнями: 25 розмов на запит, 400 повідомлень на розмову на запит і тіло запиту не більш як 2,000,000 байтів. Імпортер на сайті ділить дані рівно по 25 і 400 та тримає кожен запит під 1,200,000 байтів, навмисно нижче за ліміт у 2,000,000 байтів, щоб залишити місце для обгортки запиту. Розмову, довшу за 400 повідомлень, не відхиляють, а розрізають: залишок надсилається як append-фрагменти до чату, створеного першим фрагментом.
Великий імпорт зупиняється на 20 секунд за раз
Імпорт розмов обмежено 20 запитами на хвилину для одного користувача. Великий експорт неминуче впреться в цю стелю, і це очікувана поведінка, а не збій.
Коли це відбувається, ви не побачите жодної помилки. Імпорт, що натрапляє на HTTP 429, ніде не показується: клієнт чекає 20 секунд і повторює спробу, до 4 спроб на пакет. Тож імпорт, який на великому експорті виглядає застряглим на двадцять секунд за раз, робить саме те, що й повинен. Дайте йому продовжувати роботу.
Якщо пакети все ще не проходять після цих 4 спроб, вони потрапляють у підсумок {count} не вдалося імпортувати. Запустіть імпорт ще раз, щоб їх підхопити., і повторний запуск імпорту, а не звернення в підтримку, і є виправленням.
Що імпорт навмисно пропускає
Певний вміст пропускається навмисно, тож навіть успішний імпорт може виглядати неповним порівняно з оригіналом.
Для експорту ChatGPT імпортується лише та гілка, яка була на екрані. Перегенеровані відповіді та відкинуті чернетки не відтворюються як повідомлення. Вміст, що не є стенограмою, теж пропускається: приховані міркування, код і вивід інструменту аналізу, чернетки перегляду, блоки користувацьких інструкцій і виклики функцій.
Для експорту Claude блоки міркувань, виклики інструментів і вкладення відкидаються. Імпортуються лише текстові блоки.
Розмови у файлі, що не містять читабельного тексту, підраховуються і повідомляються як пропущені, а не тихо відкидаються, тож кількість пропущених це інформація, а не помилка.
Розмова без придатної назви стає Імпортований чат, а назва, довша за 120 символів, обрізається. Імпортоване повідомлення, довше за ліміт вмісту, скорочується, а не відхиляється, тож одне завелике повідомлення не коштує вам решти цієї розмови.
Нарешті, часові мітки: імпортоване повідомлення з датою до 2015-01-01 або з датою в майбутньому відкидається як часова мітка, і запис повертається до часу імпорту. Чат, що з'явився з датою, коли ви запустили імпорт, а не зі своєю оригінальною датою, потрапив під це правило.
Чому повторний запуск імпорту безпечний
Ключ дедуплікації з короткої відповіді має запасний варіант. Коли експорт не дає стабільного ідентифікатора розмови, ключем стає хеш самої стенограми, тож повторний запуск все одно зіставляє ці розмови, замість додавання других копій.
Один наслідок, про який варто знати: видалення імпортованого чату з подальшим повторним імпортом того самого експорту повертає чат назад, а не повідомляє про дублікат. Якщо ви навмисно видалили імпортовану розмову, не запускайте той експорт повторно, якщо не хочете, щоб вона повернулася.
- Виберіть conversations.json з експорту, а не сам zip-файл експорту
- Необроблений .json експорт приймається до 300 МБ, понад цей розмір використовуйте .zip
- Помилки сесії та з'єднання означають, що треба увійти знову або перепідключитися, а потім повторити спробу
- Кількість, яку не вдалося імпортувати, означає, що треба запустити імпорт ще раз
- Видалення імпортованого чату й повторний імпорт повертають його назад
- Пауза великого імпорту на 20 секунд за раз це обмеження швидкості, а не збій
- Перегенеровані гілки ChatGPT, а також блоки міркувань і вкладення Claude, відкидаються навмисно
Поширені запитання
Whizi каже, що мій експорт ChatGPT не є експортом ChatGPT. Чому?
Повідомлення таке: Той файл не є експортом ChatGPT або Claude. Шукайте conversations.json усередині zip-архіву експорту. Воно з'являється, коли парсер не може розпізнати жоден з форматів в обраному файлі, або коли zip видає нерозпізнаний вміст. Файл, який читає Whizi, це conversations.json, тож розпакуйте експорт і виберіть цей файл напряму. Якщо ви обрали zip і натомість отримали Усередині цього zip немає conversations.json. Розпакуйте його і виберіть файл напряму., то в zip взагалі немає відповідного запису, і експорт треба завантажити знову.
Мій імпорт зупинився на півдорозі. Чи призведе повторний запуск до дублювання чатів?
Ні. Повторний запуск це передбачений спосіб відновлення після розриву з'єднання, завершеної сесії або невдалого пакету: другий запуск додає ті самі чати лише один раз і підхоплює лише те, чого бракує. Жодного попереднього кроку з очищення робити не потрібно.
Чому імпортувалися лише деякі з моїх розмов?
Можуть з'явитися два різні лічильники, і лише один з них є помилкою. {count} не вдалося імпортувати. Запустіть імпорт ще раз, щоб їх підхопити. рахує пакети, які не пройшли жодної повторної спроби, і повторний запуск імпорту є виправленням. Другий, кількість пропущених, повідомляє про розмови у файлі без читабельного тексту, а не про розмови, з якими щось пішло не так.
Імпорт уже деякий час стоїть на місці. Він зламаний?
Дивіться, чи він рухається знову, а не на те, скільки часу минуло. Пауза приблизно на 20 секунд, за якою йде подальший прогрес, це обмежувач швидкості, бо клієнт чекає 20 секунд і повторює спробу, замість того щоб щось вам показувати. Імпорт, який справді завершився, повідомляє про це або одним з рядків помилок на цій сторінці, або підсумком {count} не вдалося імпортувати. Запустіть імпорт ще раз, щоб їх підхопити. Тиша разом з періодичним прогресом означає, що треба залишити все як є.
Чи завантажується мій файл експорту ChatGPT або Claude до Whizi?
Ні. Сам файл експорту ніколи не потрапляє на сервер. Ваш браузер читає його, розбирає і надсилає лише нормалізовані розмови, тому й усі помилки формату на цій сторінці трапляються ще до відправлення чогось. Повні деталі обробки даних у статті що Whizi робить з вашими даними.