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用の意味層として扱います。
  • プラットフォーム非依存:ラップトップからデータセンタークラスタまで、軽量かつスケーラブルに設計されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト