NLWeb
Microsoft 的 NLWeb 是一个提议的框架,旨在使用 Schema.org、RSS 等格式以及新兴的 MCP 协议,为网站启用自然语言接口。
NLWeb 支持 Qdrant 作为向量存储后端,用于存储嵌入和检索上下文。
用法
NLWeb 默认包含 Qdrant 集成。您可以安装并配置它,以使用 Qdrant 作为检索引擎。
安装
克隆仓库并设置环境
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
配置Qdrant
要使用 Qdrant,请更新您的配置。
1. 复制并编辑环境变量文件
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>"
2. 更新 code/config
中的配置文件
config_retrieval.yaml
retrieval_engine: qdrant_url
或者,您可以使用内存中的 Qdrant 实例进行实验。
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
这将把内容摄取到您的本地 Qdrant 实例中。
运行服务器
要启动 NLWeb,从 code
目录中运行
python app-file.py
您现在可以使用位于 http://localhost:8000/ 的 Web UI,或者直接通过兼容 MCP 的 REST API,使用自然语言查询您的内容。