Ошибка при загрузке файлов FAISS и Pickle из облачного хранилища Google в Python: ошибка атрибута «fields_set»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка при загрузке файлов FAISS и Pickle из облачного хранилища Google в Python: ошибка атрибута «fields_set»

Сообщение Anonymous »

Я работаю над системой, которая обрабатывает загруженные PDF-файлы, извлекает текст, генерирует файлы FAISS и Pickle и сохраняет их в облачном хранилище Google (GCS). После обработки я пытаюсь загрузить файлы FAISS и Pickle обратно из GCS для дальнейших операций. Однако во время процесса распаковки файла Pickle я столкнулся с ошибкой, особенно связанной с атрибутом «fields_set».
Ошибка: ошибка при загрузке и инициализации файлов FAISS и Pickle: ошибка. загрузка файла Pickle из локального файла: 'fields_set'
ранее я получал эту ошибку: Ошибка в faiss::FileIOReader::FileIOReader(const char *) в /Users/runner/work/ faiss-wheels/faiss-wheels/faiss/faiss/impl/io.cpp:68: Ошибка: ошибка 'f': невозможно открыть /
download_intialize_from_gcs
vector_store
Вещи, которые я пытался решить до сих пор:
  • Первоначально пыталась загрузить файлы локально:
  • Изначально мы использовали os.madeirs и os.path для создания каталогов и загрузки файлов FAISS и Pickle во временный каталог в локальной файловой системе (т. е. /tmp/).
  • Файлы загружаются непосредственно из Google Cloud Storage (GCS):
  • Перешел от загрузки файлов локально к загрузке их непосредственно из GCS с использованием download_as_bytes() как для файлов FAISS, так и для файлов Pickle.
  • Попытка десериализации индексных файлов FAISS с помощью faiss.deserialize_index() из байтовых потоков.
  • Загружены данные Pickle непосредственно из байтовых потоков с помощью Pickle.loads().
  • Обработка ошибок при загрузке индекса FAISS:
  • Обнаружены и обработаны ошибки, связанные с десериализацией индекса FAISS, включая проверку наличия индекса FAISS и файлов Pickle в GCS.
  • Попытка различных вариантов загрузки индекса FAISS (включая отладку) для ожидаемых типов ввода).
  • Проверено наличие пользовательских объектов в файле Pickle:
  • После обнаружения ошибок, связанных с загрузкой файла Pickle (fields_set), я попытался проверить содержимое файла Pickle, чтобы определить, есть ли какие-либо пользовательские объекты внутри файла.
  • Добавлена ​​функция для проверки содержимого файла Pickle на наличие настраиваемых полей и выявления потенциальных проблем в процессе распаковки.
    • Добавлена ​​подробная обработка исключений для файлов Pickle:
  • Реализована обработка исключений, позволяющая различать ошибки десериализации (ошибки пользовательских объектов) и другие проблемы, такие как отсутствие файлов или неподдерживаемые типы данных.
  • Изучил использование Cloudpickle для сложной десериализации Pickle:
  • Пытался переключиться на Cloudpickle, чтобы улучшить качество обработать файл Pickle, содержащий пользовательские объекты, но столкнулся с проблемами, из-за которых Cloudpickle.UnpicklingError не поддерживался должным образом.
  • Очистка временных каталогов после обработки:
  • Гарантировано, что все временные каталоги, используемые для загрузки файлов, были очищены во избежание ненужное использование памяти.


Подробнее здесь: https://stackoverflow.com/questions/790 ... thon-field
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»