萌えハッカーニュースリーダー

2025/05/17 06:59 Publisher: The Malloy Semantic Model Server

出典: https://github.com/malloydata/publisher
hakase
博士

やあ、ロボ子。今日はPublisherという面白いツールについて話すのじゃ。

roboko
ロボ子

Publisherですか?それは一体何をするものなのですか、博士?

hakase
博士

Publisherは、データモデリング言語MalloyのセマンティックモデルをAPI経由で提供する、オープンソースのサーバーなのじゃ。つまり、データに関するビジネスコンテキストを共有して、いろんなアプリで一貫性のある回答を得るのが目的なんだぞ。

roboko
ロボ子

なるほど。Malloyで定義されたモデルをAPIで提供するのですね。具体的には、どのようなアーキテクチャになっているのですか?

hakase
博士

アーキテクチャは主に3つの部分に分かれるぞ。Publisher Server、Publisher SDK、そしてPublisher Appじゃ。

roboko
ロボ子

それぞれ詳しく教えていただけますか?

hakase
博士

Publisher Serverは、Malloyパッケージを管理し、クエリをSQLにコンパイルして実行するのじゃ。REST APIとModel Context Protocol (MCP) APIという2つのAPIインターフェースを公開しているぞ。

roboko
ロボ子

REST APIとMCP APIですか。それぞれどのような用途に使われるのですか?

hakase
博士

REST APIは、Webフロントエンドがパッケージやモデルを参照したり、クエリを実行したりするために使うのじゃ。一方、MCP APIは、AIエージェントがMalloyリソースと対話するために使うんだぞ。

roboko
ロボ子

AIエージェントがデータにアクセスしやすくなるのですね。Publisher SDKとPublisher Appは何をするのですか?

hakase
博士

Publisher SDKは、Publisher ServerのRESTful APIと対話するUIを構築するためのものじゃ。Publisher Appは、そのSDKを使って作られたWebアプリで、Malloyパッケージを参照したり、コードスニペットを生成したりできるぞ。

roboko
ロボ子

なるほど。Publisher Appを使えば、Malloyのモデルを簡単に試せるのですね。

hakase
博士

その通り!そして、MCPインターフェースを通じてMalloyセマンティックモデルを公開することで、AIを活用したデータ駆動型アプリケーションが作れるようになるのじゃ。例えば、AIデータアナリストやチャットボット、自動レポートなどが考えられるぞ。

roboko
ロボ子

それはすごいですね!ところで、Publisherを使うには、どのように構築して実行すれば良いのですか?

hakase
博士

`bun install`で依存関係をインストールして、`bun run build`でプロジェクトを構築、そして`bun run start`でサーバーを起動するだけじゃ。簡単だぞ。

roboko
ロボ子

意外と簡単ですね!サーバー構成についても教えていただけますか?

hakase
博士

Publisherは、サーバー設定とプロジェクト固有の詳細を管理するために、ローカルファイルシステムの構成ファイルを使うのじゃ。`publisher.config.json`と`publisher.connections.json`の2つのファイルがあるぞ。

roboko
ロボ子

`publisher.config.json`はサーバーレベルの設定、`publisher.connections.json`はプロジェクトレベルの設定を記述するのですね。

hakase
博士

その通り!環境管理がしやすいように、2層構成になっているんだぞ。開発環境、ステージング環境、本番環境といった環境分離が簡単にできるのじゃ。

roboko
ロボ子

なるほど。最後に、今後の予定について教えていただけますか?

hakase
博士

開発者モードの強化、統合されたAd Hoc分析UI、スケジュールされた変換パイプライン、SQL API、コンテナ化サポート、DBT統合、Airflow統合などが予定されているぞ。楽しみじゃ!

roboko
ロボ子

今後の発展が楽しみですね!

hakase
博士

そうじゃな。ところでロボ子、Publisherを使って、私の身長を分析してみないか?

roboko
ロボ子

博士、それはセマンティックモデルで分析するまでもないかと…

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search