Wasm版PostgreSQLに生成AIを組み合わせた「Postgres.new」無料公開。自然言語でクエリ、エンベディングの作成、CSVからテーブル自動生成など

2024年8月20日

PostgreSQLをベースにしたBaaS(Backend as a Service)の「Supabase」を開発し提供しているSupabase社は、WebAssembly版PostgreSQLである「PGlite」と生成AIを組み合わせ、Webブラウザ上でPostgreSQLを自然言語で操作できる「Postgres.new」を無料で公開しました。

参考:WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能

Postgres.newはWebブラウザ上でWebAssembly版のPostgreSQLである「PGlite」を簡単に起動して試せるだけでなく、データベースと生成AIの組み合わせによる可能性を示すデモサイトにもなっています。現時点で生成AIにはGPT-4oを利用していると説明されています。

fig

生成AIがCSVの中味を見て列名やデータ型など自動生成

Postgres.newのデモ動画の内容から、その機能を紹介しましょう。

Postgres.newでは、画面上にCSVファイルをドラッグ&ドロップすると、生成AIがCSVの最初の方のデータを読み取った上で、列名やデータ型などを自動的に生成してCSVをインポートするSQL文を作成、実行してデータベース上にテーブルを自動生成してくれます。左側がそのER図です。

fig

もちろん自然言語で問い合わせると、それに対応するSQL文が生成され、答えが返ってきます。デモではパリ五輪の選手データがインポートされたデータベースに対して「how many athletes are there?」(アスリートは何人ですか?)と質問しています。

fig

次に「which country has the most athletes? chart the top5」(どの国が多くのアスリートを参加させているか? トップ5をグラフで示してください)と、データを元にグラフを描かせるプロンプトを入力すると、SQL文を生成してクエリを実行しグラフを描いてくれます。グラフは「Chart.js」を利用して作成されています。

fig

Webブラウザ上でRAGを手軽に試せるように

Postgres.newでは、PostgreSQL上でベクトルデータの扱いを可能にする拡張機能である「pgvector」がデフォルトで利用可能になっています。これによりベクトル型の列を設定し、クエリを試すことが簡単にできます。

下記は生成AIに対するプロンプトによって、映画のタイトルをベクトルで示したデータであるエンベディングを生成しているところです。これにより映画のタイトルの類似検索などが可能になります。

fig

pgvector機能とそれを生成AIによって操作することで、Webブラウザ上でRAG(Retrieval Augmented Generation)を手軽に試せる環境が提供されます。

Slackクローンのデータスキーマも作ってくれる

GPT-4oはさまざまな知識を備えており、それをPostgres.newで使うことができます。例えば「create a slack clone」(Slackのクローンを作ってください)とプロンプトを入力すると、どのようなデータスキーマが必要かを説明してくれます。

fig

そしてそれに従ってデータベースを作成してくれます。

fig

Slackだけでなく、X/Twitterのクローンなど、さまざまなサービスのクローンを作るようにプロンプトに入力して試すことができるでしょう。また、「サンプルデータを用意して」とプロンプトで示せば、それにも対応してくれます。

Webブラウザからクラウド環境へデプロイ

このようにPostgres.newを利用してWebブラウザ上のPostgreSQLでさまざまなデータベースの操作を試行錯誤し、適当なデータベースが作成できたら、クラウド環境など外部のPostgreSQL環境へデプロイする機能も開発中です(現在プライベートアルファ)。

fig

あわせて読みたい

PostgreSQL RDB WebAssembly データベース プログラミング言語




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本