Об этом проекте

Magika — это инструмент Google для определения типа файлов на основе ИИ, использующий компактную модель глубокого обучения (всего несколько МБ) для распознавания типов содержимого файлов. Согласно README, модель обучалась и оценивалась на примерно 100 миллионах образцов, охватывающих более 200 типов содержимого, включая как бинарные, так и текстовые форматы, и показывает около 99% средней точности и полноты на тестовом наборе. Инференс занимает примерно 5 мс на файл на одном CPU после загрузки модели, и время почти постоянно независимо от размера файла, поскольку используется только ограниченная часть содержимого. Проект распространяется в виде инструмента командной строки, написанного на Rust, Python API, а также привязок для Rust, JavaScript/TypeScript (с npm-пакетом, обеспечивающим работу браузерной демонстрации) и Go (описан как находящийся в разработке). Варианты установки включают pipx, Homebrew, скрипт установки для Unix и PowerShell, cargo, pip и npm. CLI поддерживает рекурсивное сканирование, чтение из стандартного ввода, вывод в JSON и JSONL, пользовательские форматы вывода, вывод MIME-типов и меток, а также печать оценок. Также предлагаются режимы предсказания: высокая уверенность, средняя уверенность и наилучшее предположение, плюс система порогов для каждого типа содержимого, которая может возвращать общие метки, такие как «Generic text document» или «Unknown binary data», когда модель не уверена. В README указано, что Magika используется в Google в больших масштабах для направления файлов Gmail, Drive и Safe Browsing в соответствующие сканеры безопасности и политик контента, а также интегрирован с VirusTotal и abuse.ch. Веб-демонстрация работает локально в браузере. Проект распространяется под лицензией Apache 2.0 и содержит отказ от ответственности о том, что он не является официальным проектом Google.