TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #paddleocr

当前筛选 #paddleocr清除筛选
Machinelearning

@ai_machinelearning_big_data · Post #9453 · 30.01.2026 г., 10:05

🌟PaddleOCR-VL-1.5: компактная модель для сложного парсинга. PaddlePaddle обновили свою линейку PaddleOCR-VL, выпустив PaddleOCR-VL-1.5 - компактную VLM на 0.9 млрд. параметров на базе ERNIE-4.5-0.3B-Paddle. Несмотря на скромный размер, в задачах разбора документов она показывает SOTA-результаты. На тесте OmniDocBench v1.5 модель выбила 94.5% точности, обойдя не только прошлую версию, но и более тяжелых конкурентов. Фишка обновления - упор на полевые условия. Модель специально учили работать с плохими исходниками: кривыми сканами, бликами от мониторов и мятыми страницами. Попутно сделали бенчмарк Real5-OmniDocBench, который гоняет модели по 5 сценариям: сканирование, перекосы, деформация листа, фото с экрана и плохое освещение. 🟡В 1.5 добавили: 🟢Text spotting: находит и распознает текст одновременно (печатный русский - неплохо, рукописный - почти никак) 🟢Seal recognition: распознает печати (русские - не очень, китайские - на ура). 🟢Cross-page table merging: умеет склеивать таблицы, которые разорваны между страницами. 🟢Работа с заголовками: не теряет структуру параграфа при переходе на новый лист. 🟢Новые языки: добавили поддержку тибетского и бенгальского, подтянули распознавание редких символов и древних текстов. 🟡Деплой - на любой вкус Модель работает с transformers, дружит с Flash Attention 2 и, само собой, поддерживается PaddlePaddle 3.2.1. Если нужно быстро поднять сервис - есть готовый Docker-образ. 🟡Пара важных моментов по использованию Если нужен полноценный постраничный парсинг всего документа, лучше использовать официальный пакет PaddleOCR. Реализация через transformers пока ограничена только распознаванием отдельных элементов и споттингом. В пайплайн встроили логику препроцессинга. Если картинка меньше 1500 пикселей, она автоматом апскейлится фильтром Lanczos. При этом есть потолок в 1.6 млн. пикселей для споттинга, это чтобы не перегружать память GPU и сохранить читаемость мелкого шрифта. 📌Лицензирование: Apache 2.0 License. 🟡Модель 🟡Arxiv 🟡Demo 🟡DeepWiki 🖥Github @ai_machinelearning_big_data #AI#ML#VL#OCR#PaddleOCR

Machinelearning

@ai_machinelearning_big_data · Post #8792 · 16.10.2025 г., 14:10

📄PaddleOCR-VL (0.9B) — компактная Vision-Language модель нового поколения Команда Baidu AI представила PaddleOCR-VL (0.9B) — сверхлёгкую VLM-модель, которая достигает SOTA-точности в задачах распознавания: - текстов, - таблиц, - формул, - графиков 💡Под капотом: - NaViT - динамический vision-энкодер - ERNIE - облегчённая языковая модель от Baidu ⚡️ Поддержка 109 языков. 🟠GitHub: https://github.com/PaddlePaddle/PaddleOCR) 🟠HuggingFace: https://huggingface.co/PaddlePaddle/PaddleOCR-VL 🟠Docshttps://paddleocr.ai/latest/en/index.html @ai_machinelearning_big_data #BaiduAI#PaddlePaddle#Ernie#PaddleOCR#VisionLanguage#AI#OCR