nlweb-ai/NLWeb

Main reference implementation for NLWeb, implemented in Python.

解決的問題

NLWeb 簡化了網站對話式介面的建立,讓人類使用者與 AI 代理都能透過自然語言與網頁內容互動。它解決了 AI 助手需要一種標準化方式,透過自然語言 API 與網頁內容互動的需求,並利用現有的語意層(如 Schema.org)。

工作原理

NLWeb 提供協定與一組工具,將網站內容轉換為對話式端點。它使用 Schema.org 構造化資料以 JSON 格式回傳回應。每個 NLWeb 實例都扮演 MCP(Model Context Protocol)伺服器的角色,支援用於自然語言查詢的 ask 方法。專案包含多個模組:

  • AskAgent:核心查詢代理,處理針對網站的自然語言查詢。
  • AgentFinder:用於在全網範圍內路由至 NLWeb 代理的發現服務。
  • DataFinder:使用 Schema.org 映射將自然語言轉換為企業資料來源用 SQL 的轉譯器。
  • ModelRouter:用於路由與評分 LLM,根據品質閾值選擇成本效益高的模型的工具。
  • NLWebScorer:用於對搜尋結果進行排序與評估的神經評分模型。

適用對象

希望為其網站實作自然語言介面的網站所有者與開發者,以及需要一種結構化、標準化方式與網路互動的 AI 代理開發者。

主要亮點

  • MCP 支援:原生支援 Model Context Protocol,讓 AI 代理更容易與網站互動。
  • 廣泛相容性:支援 Windows、macOS 與 Linux,可與各種向量儲存(如 Qdrant、Milvus、Elasticsearch)和 LLM(OpenAI、DeepSeek、Gemini、Anthropic)整合。
  • 語意網整合:利用 Schema.org 與 RSS 將網路視為 AI 的語意層。
  • 平台無關:設計為輕量且可擴展,適用於從筆電到資料中心叢集的各類環境。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案