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용 세마틱 계층으로 간주합니다.
- 플랫폼 독립성: 랩톱에서 데이터 센터 클러스터까지 가볍고 확장 가능한 설계로 되어 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트