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,使用自然语言查询您的内容。

延伸阅读

此页面有帮助吗?

感谢您的反馈!🙏

很抱歉听到此消息。😔 您可以在 GitHub 上编辑此页面,或创建一个 GitHub issue。