MilvusでNLWebを使う
マイクロソフトのNLWebは、Schema.org、RSSのようなフォーマット、そして新しいMCPプロトコルを使って、ウェブサイトのための自然言語インターフェースを可能にするフレームワークです。
Milvusは、自然言語処理アプリケーションのための強力なコンテキスト検索を可能にする、ストレージと効率的なベクトル類似検索を埋め込むためのNLWeb内のベクトルデータベースバックエンドとしてサポートされています。
このドキュメントは主に公式クイックスタートドキュメントに基づいています。もし古い内容や一貫性のない内容を見つけた場合は、公式ドキュメントを優先し、遠慮なく私たちに問題を提起してください。
使用方法
NLWebはMilvusを検索エンジンとして使用するように設定することができます。以下はMilvusを使用したNLWebの設定と使用方法についてのガイドです。
インストール
リポジトリをクローンし、環境を構築します:
git clone https://github.com/microsoft/NLWeb
cd NLWeb
python -m venv .venv
source .venv/bin/activate # or `.venv\Scripts\activate` on Windows
cd code
pip install -r requirements.txt
pip install pymilvus # Add Milvus Python client
Milvusの設定
Milvusを利用するために、設定を更新します。
設定ファイルの更新code/config
config_retrieval.yaml ファイルを開き、Milvus の設定を追加します:
preferred_endpoint: milvus_local
endpoints:
milvus_local:
database_path: "../data/milvus.db"
# Set the collection name to use
index_name: nlweb_collection
# Specify the database type
db_type: milvus
データの読み込み
設定が完了したら、RSSフィードを使ってコンテンツを読み込みます。
code :
python -m tools.db_load https://feeds.libsyn.com/121695/rss Behind-the-Tech
これでコンテンツがMilvusコレクションに取り込まれ、テキストデータとベクター埋め込みデータの両方が保存されます。
サーバーの実行
NLWebを起動するには、code ディレクトリから、実行します:
python app-file.py
これで、http://localhost:8000/ のウェブUI、またはMCP互換のREST APIを直接使用して、自然言語経由でコンテンツを照会できるようになります。
参考文献
- Milvusドキュメント
- NLWebソース
- チャットクエリの寿命
- プロンプトの変更による動作の変更
- 制御フローの変更
- ユーザーインターフェースの変更