NLWeb#
Предлагаемая Microsoft инфраструктура NLWeb позволяет создавать интерфейсы естественного языка для веб-сайтов, используя Schema.org, форматы вроде RSS и появляющийся протокол MCP.
В рамках NLWeb поддерживается использование Vector DB в качестве векторного хранилища для хранения вложений и извлечения контекста.
Использование#
Интеграция с Vector DB включена по умолчанию в NLWeb. Можно установить и настроить его для использования Vector DB в качестве механизма поиска.
Установка#
Склонируйте репозиторий и настройте среду выполнения:
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
Настройка Vector DB#
Чтобы использовать Vector DB, обновите конфигурацию.
Скопируйте и отредактируйте файл переменных окружения
cp .env.template .envУбедитесь, что следующие значения установлены в файле
.env:QDRANT_URL="https://xyz-example.cloud-region.cloud-provider.cloud.qdrant.io:6333" QDRANT_API_KEY="<your-api-key-here>"Обновите файлы конфигурации в
code/configretrieval_engine: qdrant_urlТакже можно воспользоваться экземпляром Vector DB в оперативной памяти для экспериментов.
retrieval_engine: qdrant_local endpoints: qdrant_local: # Path to a local directory database_path: "../data/" # Set the collection name to use index_name: nlweb_collection # Specify the database type db_type: qdrant
Загрузка данных#
После настройки загрузите контент с помощью RSS-лент.
Из директории code:
python -m tools.db_load https://feeds.libsyn.com/121695/rss Behind-the-Tech
Это позволит импортировать содержимое в локальный экземпляр Vector DB.
Запуск сервера#
Для запуска NLWeb из директории code выполните команду:
python app-file.py
Теперь можно запрашивать контент естественным языком либо через интерфейс веб-приложения по адресу http://localhost:8000/, либо напрямую через совместимый с MCP REST API.