Web 開発では、ファイルをサーバーにアップロードする前のファイル タイプの検出が重要です。このステップにより、サーバーとユーザーのセキュリティを確保し、悪意のあるファイルの可能性を傍受できるだけでなく、アップロードされたファイルが完全で期待どおりであることを保証し、データ コンプライアンスを向上させることができます。同時に、ユーザーにタイムリーなフィードバックとガイダンスを提供することで、ユーザー エクスペリエンスを向上させ、不必要な混乱を回避することもできます。
以前、アバオ兄弟は「JavaScript はどのようにしてファイルの種類を検出するのでしょうか?」を紹介しましたが、AI 時代に入った今、私たちは時代に追いつく必要があります。次に、アバオ兄弟は、Google のオープンソース Magika[1] ツールを使用して正確なファイル タイプ検出を実現する方法を紹介します。
写真
Magika は、最新の深層学習テクノロジーに依存した新しい人工知能ファイル分類および検出ツールです。正確な検出を提供します。わずか約 1MB の高度に最適化されたカスタム Keras モデルを使用しており、単一の CPU で実行している場合でも、ミリ秒単位で正確なファイル識別を可能にします。
100 万を超えるファイルと 100 を超えるコンテンツ タイプ (バイナリ ファイル形式とテキスト ファイル形式を含む) の評価において、Magica は 99% 以上の精度と再現率を達成しました。 Magika は、Gmail、ドライブ、セーフ ブラウジング ファイルを適切なセキュリティ スキャナとコンテンツ ポリシー スキャナにルーティングすることで、Google ユーザーの安全を保つために大規模に使用されています。
写真
パフォーマンスの面では、AI モデルと大規模なトレーニング データセットを備えた Magika 100 を超えるファイル タイプの 1M ファイル ベンチマークで評価した場合、そのパフォーマンスは他の既存のツールよりも約 20% 高くなります。ファイルの種類別に見ると、他のツールでは処理が難しいコード ファイルや構成ファイルなどのテキスト ファイルのパフォーマンスが大幅に向上しています。
写真
Magika はブラウザと Node.js 環境をサポートしており、Web デモ[2] Web サイトにアクセスして次のことを行うことができます。その機能を体験してください。
写真
npm install magikaorpnpm add magika
import { Magika } from "magika";const file = new File(["# Hello I am a markdown file"], "hello.md");const fileBytes = new Uint8Array(await file.arrayBuffer());const magika = new Magika();await magika.load();const prediction = await magika.identifyBytes(fileBytes);console.log(prediction);
import { readFile } from "fs/promises";import { MagikaNode as Magika } from "magika";const data = await readFile("some file");const magika = new Magika();await magika.load();const prediction = await magika.identifyBytes(data);console.log(prediction);
ここでは Magika に関する関連コンテンツが紹介されています。 Magika については、この記事を読み続けてください。 Magika: AI を活用した高速かつ効率的なファイル タイプの識別[3]。
[1]Magika: https://github.com/google/magika
[2]ウェブデモ: https://google.github. io/magika/
[3]Magika: AI を活用した高速かつ効率的なファイル タイプ識別: https://opensource.googleblog.com/2024/02/magika-ai-powered-fast-and-efficient-ファイルタイプ識別.html
以上が1MB の魔法の AI が数百万のファイルを 99% の精度で検出します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。