Milvusで4つの人気AIアプリケーションを作る方法
カバー画像](https://assets.zilliz.com/blog_cover_4a9807b9e0.png)
Milvusはオープンソースのベクトルデータベースです。AIモデルを用いて非構造化データから特徴ベクトルを抽出することによって作成された膨大なベクトルデータセットの追加、削除、更新、およびほぼリアルタイムの検索をサポートします。Milvusは、直感的なAPIの包括的なセットと、広く採用されている複数のインデックスライブラリ(Faiss、NMSLIB、Annoyなど)のサポートにより、機械学習アプリケーションの開発と機械学習オペレーション(MLOps)を加速します。Milvusを使用することで、コストを抑えながら、最小実行可能製品(MVP)を迅速に開発することができます。
"MilvusでAIアプリケーションを開発するには、どのようなリソースがありますか?"という質問は、Milvusコミュニティでよく聞かれます。Milvusを開発した企業であるZillizは、Milvusを活用してインテリジェント・アプリケーションを強化する高速類似検索を行うデモを多数開発した。Milvusソリューションのソースコードはzilliz-bootcampにあります。以下の対話型シナリオでは、自然言語処理(NLP)、逆画像検索、音声検索、コンピュータビジョンを実演しています。
特定のシナリオを実際に体験するために、ソリューションを自由に試してみてください!ご自身のアプリケーションシナリオを
- Slack](https://join.slack.com/t/milvusio/shared_invite/zt-e0u4qu3k-bI2GDNys3ZqX1YCJ9OM~GQ)
- GitHub](https://github.com/milvus-io/milvus/discussions)
自然言語処理(チャットボット)
Milvusは、自然言語処理を使用して、ライブオペレーターをシミュレートし、質問に答え、ユーザーを関連情報に誘導し、人件費を削減するチャットボットを構築するために使用することができます。この応用シナリオを実証するために、ZillizはMilvusと、自然言語処理の事前学習用に開発された機械学習(ML)モデルであるBERTを組み合わせて、意味言語を理解するAI搭載チャットボットを構築しました。
👉ソースコード:zilliz-bootcamp/intelligent_question_answering_v2
MilvusとBERTで作ったAIチャットボット](https://assets.zilliz.com/1_c301a9e4bd.png)
使い方
1.質問と回答のペアを含むデータセットをアップロードする。質問と回答を2つの列に分けて書式設定する。
2.質問を入力すると、アップロードされたデータセットから類似した質問のリストが検索されます。
3.あなたの質問に最も似ている質問を選択することで、答えを明らかにします。
👉動画:[デモ] QAシステム Powered by Milvus
仕組み
質問はGoogleのBERTモデルを使用して特徴ベクトルに変換され、Milvusはデータセットの管理とクエリに使用されます。
**データ処理
1.BERTは、アップロードされた質問と回答のペアを768次元の特徴ベクトルに変換するために使用されます。その後、ベクトルは Milvus にインポートされ、個々の ID が割り当てられる。 2.質問および対応する回答ベクトル ID は、PostgreSQL に格納される。
類似の質問のための検索:。
1.BERT は、ユーザの入力質問から特徴ベクトルを抽出するために使用されます。 2.Milvusは、入力質問に最も似ている質問のベクトルIDを検索します。 3.システムは、PostgreSQLで対応する回答を検索する。
逆画像検索システム
逆画像検索は、パーソナライズされた商品の推奨や、売上を向上させる類似の商品検索ツールを通じて、eコマースを変革している。この応用シナリオにおいて、ZillizはMilvusと画像の特徴を抽出できるMLモデルであるVGGを組み合わせて逆画像検索システムを構築した。
👉ソースコード:zilliz-bootcamp/image_search
MilvusとVGGを組み合わせた逆画像検索システム](https://assets.zilliz.com/2_09000e2e2e.jpeg)
使い方
1..jpg画像のみで構成されたzip圧縮された画像データセットをアップロードする(他の画像ファイルは受け付けない)。 2.類似画像を見つけるための検索入力として使用する画像をアップロードします。
ビデオ[デモ] 画像検索 Powered by Milvus
仕組み
画像はVGGモデルを使って512次元の特徴ベクトルに変換され、Milvusを使ってデータセットの管理とクエリが行われる。
**データ処理
1.VGGモデルを用いて、アップロードされた画像データセットを特徴ベクトルに変換する。その後、ベクトルはMilvusにインポートされ、個々のIDが割り当てられる。 2.画像特徴ベクトルと対応する画像ファイルパスがCacheDBに格納される。
類似画像の検索:.
1.ユーザのアップロード画像を特徴ベクトルに変換するために VGG が使用されます。 2.入力画像に最も類似した画像のベクトルIDをMilvusから取得する。 3.対応する画像ファイルのパスをCacheDBから検索する。
画像ファイルのパスを検索します。
オーディオ検索システム
音声、音楽、効果音、その他の種類の音声検索により、膨大な量の音声データを素早く照会し、類似する音声を浮かび上がらせることができます。用途としては、類似した効果音の特定、IP侵害の最小化などが挙げられます。この応用シナリオを実証するために、ZillizはMilvusとPANNs-オーディオパターン認識のために構築された大規模な事前学習済みオーディオニューラルネットワーク-を組み合わせることで、非常に効率的なオーディオ類似検索システムを構築しました。
👉ソースコード:zilliz-bootcamp/audio_search MilvusとPANNsで構築した音声検索システム](https://assets.zilliz.com/3_419bac3dd2.png)
使い方
1..wavファイルのみからなるzip圧縮されたオーディオデータセットをアップロードする(他のオーディオファイル形式は受け付けない)。 2.2. .wavファイルをアップロードして、類似のオーディオを検索するための検索入力として使用します。
ビデオ[デモ] 音声検索 Powered by Milvus
仕組み
音声は、音声パターン認識のために構築された大規模な事前学習済みオーディオ・ニューラル・ネットワークであるPANNを使って特徴ベクトルに変換される。その後、Milvusを使用してデータセットの管理とクエリを行います。
**データ処理
1.PANNsはアップロードされたデータセットの音声を特徴ベクトルに変換する。このベクトルはMilvusにインポートされ、個々のIDが割り当てられる。 2.音声特徴ベクトルIDとそれに対応する.wavファイルのパスがPostgreSQLに格納される。
類似オーディオの検索:*。
1.PANNsを使用して、ユーザーがアップロードした音声ファイルを特徴ベクトルに変換します。 2.2.内積距離(IP)を計算することで、アップロードされたファイルに最も類似した音声のベクトルIDをMilvusから取得する。 3.システムはMySQLで対応する音声ファイルのパスを検索する。
このようになります。
ビデオオブジェクト検出(コンピュータビジョン)
ビデオオブジェクト検出は、コンピュータビジョン、画像検索、自律走行などに応用されている。この応用シナリオを実証するために、ZillizはMilvusとOpenCV、YOLOv3、ResNet50などの技術やアルゴリズムを組み合わせてビデオオブジェクト検出システムを構築しました。
👉ソースコードzilliz-bootcamp/video_analysis
Milvusによる映像物体検出システム](https://assets.zilliz.com/4_54b4ceb2ad.png)
使い方
1..jpgファイルのみで構成されたzip圧縮された画像データセットをアップロードする(他の画像ファイルタイプは受け付けない)。各画像ファイルには、それが描写しているオブジェクトの名前が付けられていることを確認してください。 2.分析に使用する動画をアップロードする。 3.再生ボタンをクリックすると、アップロードされたビデオが表示され、オブジェクト検出結果がリアルタイムで表示されます。
👉動画デモ】映像オブジェクト検出システム Powered by Milvus
仕組み
物体画像はResNet50を用いて2048次元の特徴ベクトルに変換される。その後、Milvusを用いてデータセットの管理とクエリを行う。
**データ処理
1.ResNet50は物体画像を2048次元の特徴ベクトルに変換する。このベクトルをMilvusにインポートし、個々のIDを付与する。 2.音声特徴ベクトルIDと対応する画像ファイルパスはMySQLに格納される。
映像中の物体の検出:.
1.OpenCVを使用してビデオをトリミングする。 2.YOLOv3は、ビデオ内のオブジェクトを検出するために使用されます。 3.ResNet50は検出された物体画像を2048次元の特徴ベクトルに変換する。
Milvusはアップロードされたデータセットから最も類似したオブジェクト画像を検索する。対応するオブジェクト名と画像ファイルのパスがMySQLから取得される。
読み続けて

Introducing Zilliz CLI and Agent Skills for Zilliz Cloud
Manage your vector database from your terminal or AI coding agent. Zilliz CLI and Agent Skills work with Claude Code, Cursor, Codex, and Copilot.
Milvus/Zilliz + Surveillance: How Vector Databases Transform Multi-Camera Tracking
See how Milvus vector database enhances multi-camera tracking with similarity-based matching for better surveillance in retail, warehouses and transport hubs.

Vector Databases vs. Object-Relational Databases
Use a vector database for AI-powered similarity search; use an object-relational database for complex data modeling with both relational integrity and object-oriented features.
