Milvus Liteのご紹介:数秒でGenAIアプリケーションの構築を開始
Pythonアプリケーション内でローカルに動作する軽量なベクトルデータベース、Milvus Liteをご紹介いたします。オープンソースのMilvusベクトルデータベースをベースにしたMilvus Liteは、ベクトルインデックス作成とクエリ解析のコアコンポーネントを再利用する一方で、分散システムにおける高いスケーラビリティを実現するために設計された要素を削除しています。この設計により、ラップトップ、Jupyter Notebooks、モバイルデバイスやエッジデバイスなど、コンピューティングリソースが限られた環境に理想的なコンパクトで効率的なソリューションを実現します。
Milvus Liteは、LangChainやLlamaIndexのような様々なAI開発スタックと統合されており、サーバーをセットアップすることなく、RAG(Retrieval Augmented Generation)パイプラインのベクターストアとして使用することができます。PythonライブラリとしてAIアプリケーションに組み込むには、pip install pymilvus
(バージョン2.4.3以上)を実行するだけです。
Milvus LiteはMilvus APIを共有し、小規模なローカルデプロイメントと、数十億のベクターを持つDockerやKubernetes上にデプロイされたMilvusサーバーの両方でクライアントサイドコードが動作することを保証します。
Milvus Liteを構築した理由
多くのAIアプリケーションは、チャットボットやショッピングアシスタントなどのアプリケーションのために、テキスト、画像、音声、動画を含む非構造化データのベクトル類似検索を必要とします。ベクトルデータベースは、ベクトル埋め込みデータを保存し検索するために作られ、AI開発スタックの重要な部分であり、特にRAG(Retrieval Augmented Generation)のような生成的AIのユースケースにとって重要です。
数多くのベクトル検索ソリューションがあるにもかかわらず、大規模な生産展開にも対応する、簡単に始められるオプションがありませんでした。Milvusの開発者として、私たちはMilvus on Kubernetes、Docker、マネージドクラウドサービスを含む様々なデプロイメントオプションで一貫したエクスペリエンスを保証しながら、AI開発者がアプリケーションをより速く構築できるようにMilvus Liteを設計しました。
Milvus Liteは、Milvusエコシステム内の一連の製品群に加わる重要な製品です。Milvus Liteは、開発のあらゆる段階をサポートする汎用的なツールを開発者に提供します。プロトタイピングから本番環境、エッジコンピューティングから大規模なデプロイメントまで、Milvusはあらゆる規模、あらゆる開発段階のユースケースをカバーする唯一のベクターデータベースとなりました。
Milvus Liteの仕組み
Milvus Liteは、Milvusで利用可能なすべての基本操作(コレクションの作成、ベクターの挿入、検索、削除など)をサポートしています。ハイブリッド検索などの高度な機能にも近々対応する予定です。Milvus Liteは効率的な検索のためにデータをメモリにロードし、SQLiteファイルとして永続化します。
Milvus LiteはMilvusのPython SDKに含まれており、シンプルなpip install pymilvus
。以下のコードスニペットは、ローカルファイル名を指定し、新しいコレクションを作成することで、Milvus Liteでベクトルデータベースをセットアップする方法を示しています。"milvus_demo.db"
"http://localhost:19530"
MilvusのAPIに慣れている人にとって、唯一の違いはuri
がネットワークエンドポイントではなくローカルファイル名を参照していることです。その他はすべて同じです。Milvus Liteは、以下に示すように、動的または明示的に定義されたスキーマを使用して、生のテキストやその他のラベルをメタデータとして保存することもサポートしています。
from pymilvus import MilvusClient
client = MilvusClient("milvus_demo.db")
# This collection can take input with mandatory fields named "id", "vector" and
# any other fields as "dynamic schema". You can also define the schema explicitly.
client.create_collection(
collection_name="demo_collection",
dimension=384 # Dimension for vectors.
)
スケーラビリティのために、Milvus Liteで開発されたAIアプリケーションは、サーバーエンドポイントでuri
を指定するだけで、DockerやKubernetes上にデプロイされたMilvusを使用するように簡単に移行することができます。
AI開発スタックとの統合
ベクトル検索を簡単に始められるMilvus Liteの導入に加え、MilvusはLangChain、LlamaIndex、Haystack、Voyage AI、Ragas、Jina AI、DSPy、BentoML、WhyHow、Relari AI、Airbyte、HuggingFace、MemGPTなど、AI開発スタックの多くのフレームワークやプロバイダーとも統合しています。広範なツールとサービスのおかげで、これらの統合はベクトル検索機能を備えたAIアプリケーションの開発を簡素化する。
そして、これはほんの始まりに過ぎません-多くのエキサイティングな統合が間もなく登場します!ご期待ください!
その他のリソースと例
Milvus クイックスタートドキュメントでは、RAG(Retrieval-Augmented Generation)や画像検索のようなAIアプリケーションを構築するためにMilvus Liteを使用するための詳細なガイドとコード例をご覧いただけます。
Milvus Liteはオープンソースプロジェクトです。まずはコントリビューティングガイドをご覧ください。また、Milvus LiteのGitHubリポジトリに課題を提出することで、バグを報告したり、機能をリクエストすることができます。
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word