0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

未来を感じたNLWebを触ってみた

Posted at

こんにちは。
クリエーションラインのKodakです。

Microsoft Build 2025で発表された NLWeb にとても未来を感じたので、さっそく触ってみました。

NLWebとは?

Natural Language Web(NLWeb) の略で、Webサイト上に会話型インターフェースを簡単に構築できることを目的としたオープンソースプロジェクトです。

「HTMLがWeb上で共有できるドキュメントとして標準化されたように、今度はAI Webの基盤を構築したい」
――そんなミッションを掲げているようです。

たしかに、Web上でAIと自然に会話して、欲しい情報をすぐに取得できるようになれば、かなり便利になりますよね。

今までと未来

これまでのような「入力」「検索」「クリック」といった操作から、
「会話するだけで情報が得られる」――そんな未来がやってくるのでは?と期待しています。

now_and_future.png

また、先日Googleが発表した Agent2Agent(A2A) を組み合わせれば、
AIエージェント同士がNLWeb上で会話し、最適な回答を導き出す ―― そんな世界も見えてきます。

a2a_future.png

さっそくNL Webを触ってみる

ローカル環境でNLWebを動かしてみます。
NLWebでは ベクターデータベース を使用するため、Embedding用のモデルが必要です。

2025年5月時点では、Azure、OpenAI、Gemini、Snowflake に対応しています。
これらを使うのが良さそうです。(AWS Bedrock も早く対応してほしいですね)

git clone https://github.com/microsoft/NLWeb
cd NLWeb

README.md だとvenv使っていますが、poetryの方が使い慣れているため、poetryを使いました。

cd code
poetry init
poetry add $( cat requirements.txt )

.envを作成し、使用するモデルのAPI_KEYを入れます。
私は、Embedding用のモデルも使えるOpenAIのAPI_KEYを設定しました。

cp .env.template .env

code/config_embedding.yaml ここで、Embedding用のモデルを選択します。

# code/config_embedding.yaml

- preferred_provider: azure_openai
+ preferred_provider: openai

code/config_llm.yaml ここで会話用のモデルを選択します。

# code/config_llm.yaml

- preferred_provider: azure_openai
+ preferred_provider: openai

code/config_retrieval.yaml ここでベクターDBを選択します。ローカルで動かしたいので、ローカルで動くQdrantを選択します。

# code/config_retrieval.yaml

- preferred_endpoint: azure_ai_search
+ preferred_endpoint: qdrant_local

今回は、自分の はてなブログのRSS をデータとして投入しました。
tools.db_load の引数として <データのURL> と <サイト名> を指定します。
この <サイト名> は、データに対するラベルのようなもののようです。

現時点では、さまざまな種類のデータを柔軟に扱える設計にはなっていないようなので、今後のアップデートに期待ですね。

python -m tools.db_load https://kodak.hatenablog.com/rss kodak-rss

最後に起動してみます。

python app-file.py

Ask からAIとの会話が可能で、きちんと応答してくれました。

kodak-nlweb.png

さいごに

  • アーキテクチャや内部の仕組みなど、まだまだ分からないことだらけ
  • 用語も難しく、深掘りしたくても言語化が難しいと感じた
  • それでも「未来を感じる」と思っていただけた方には、以下の動画もおすすめです

👋

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?