NLWeb: 让每个网站都装上一个智能的“对话引擎”

微软近日开源了一个重量级新项目NLWeb (Natural Language Web),致力于简化网站构建对话式交互界面的过程。传统的对话式接口构建过程复杂,需要开发者具备丰富的自然语言处理和对话式AI知识。NLWeb项目通过提供一系列开源协议和工具,简化了这一过程,使得开发者能够更加专注于业务逻辑的实现。

核心理念与工作方式

NLWeb 的核心思想是巧妙地利用了现有的网络生态。

  1. 拥抱现有标准:NLWeb 认识到,全球有超过一亿的网站已经在使用 Schema.org 或 RSS 等半结构化数据格式来描述其内容。这为NLWeb提供了一个丰富的、现成的语义层。LLM(大型语言模型)通常对 Schema.org 有很好的理解,NLWeb 正是利用了这一点。
  2. 协议先行:它定义了一套简洁的协议(基于REST API),使得用户或AI代理能够通过自然语言与网站进行交互,并以基于Schema.org的JSON格式接收返回结果。其中,MCP (Model Context Protocol) 是一个关键的新兴协议,NLWeb原生支持。您可以将MCP之于NLWeb的关系,类比为HTTP之于HTML的关系——它是AI代理与NLWeb赋能的网站进行交互的通道。
  3. “聊天查询的生命周期”:当用户发起一个查询,NLWeb会进行一系列处理,包括(但不限于):
    • 查询理解与去语境化:基于对话历史,理解用户真实意图。
    • 数据检索:向向量数据库等后端服务检索相关信息(通常是Schema.org格式的JSON对象)。
    • 结果排序与生成:利用LLM对结果进行打分、排序,并可能生成摘要或直接回答。
    • 可控性:一个重要的特点是,由于返回的内容源自网站自身的数据库,这在很大程度上避免了AI的“幻觉”问题,确保了信息的真实性(除非进行了可能引入不确定性的后处理)。

NLWeb的优势与特点

  • 降低门槛:让原本复杂的对话界面开发变得简单,特别是对于那些内容可以被抽象为“项目列表”(如产品、食谱、景点、评论等)的网站。
  • 开放与社区驱动:NLWeb提供的是概念验证代码,鼓励社区基于其协议开发更多样化、更强大的实现。
  • 平台无关性:它设计上是轻量级且可扩展的,可以在多种操作系统(Windows, MacOS, Linux)上运行,并兼容各类向量数据库(Qdrant, Snowflake, Milvus, Azure AI Search等)和LLM(OpenAI, Deepseek, Gemini, Anthropic等)。
  • 双重受益:不仅能通过对话界面提升人类用户的体验,还能通过MCP协议促进AI代理之间的自动化交互,构建一个更智能、互联的AI Web。

小结

简单讲,NLWeb想做的就是为网站装上一个智能的“对话引擎”,让用户和AI都能通过自然语言与网站高效互动,最终目标是推动构建一个更加智能和互联的“AI Web”。

项目地址:https://github.com/microsoft/NLWeb

使用方法:https://github.com/microsoft/NLWeb/blob/main/docs/nlweb-hello-world.md

公众号回复“进群”入群讨论。

(文:AI工程化)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往