Код: Выделить всё
KeyError: '__fields_set__'
Traceback:
File "/usr/local/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 589, in _run_script
exec(code, module.__dict__)
File "/src/frontend/pages/Chat.py", line 217, in
parsed_documents_dict_temp = pickle.load(open(file_path, "rb"))
File "/usr/local/lib/python3.9/site-packages/pydantic/v1/main.py", line 417, in __setstate__
object_setattr(self, '__fields_set__', state['__fields_set__'])
Чтобы попытаться справиться с (ii), я убедился, что обе среды работают на Python 3.9. 19. Но проблема остается.
Я могу подтвердить, что словарь, который я собираю в среде блоков данных, я могу распаковать в среде блоков данных. Так что дело не в том, что файл рассола поврежден. Так что это (я думаю) как-то связано с различиями в версии рассола, используемой в каждой среде. Но помимо сохранения версий Python одинаковыми, я не знаю, что еще я могу изменить.
Я также видел ссылки на PyDantic в некоторых сообщениях в Интернете, и ошибка ясно видна. что ошибка исходит от PyDantic, но я не использую PyDantic для создания словаря и поэтому не знаю, как удовлетворить любые требования, которые он ищет. Есть ли способ вручную изменить состояние с ['fields_set']? Я предполагаю, что проблема в том, что Pydantic по какой-то причине считает, что состояние равно «fields_set», и поэтому не считает, что следует распаковывать объект?
Есть мысли, как исправить?
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-document
Мобильная версия