ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
by
sutetotanuki
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ブラウザ上で実⾏され、 AIアシスタント付きデータベース postgres.new を触ってみた 1
Slide 2
Slide 2 text
2 postgres.new とは?
Slide 3
Slide 3 text
3 postgres.newとは? Supabaseが作成したブラウザ上で動作し AIアシスタントがついた PostgreSQL 主に以下のことができる ● スキーマの⾃動⽣成 ● ⾃然⾔語でSQLを使わずにクエリ ● ⾃然⾔語でグラフ⽣成 ● ⾃然⾔語でシードデータを投⼊
Slide 4
Slide 4 text
4 できること
Slide 5
Slide 5 text
5 URLにアクセスするだけで試せる https://postgres.new アクセスするだけでプレイグランドが使える アクセスしたブラウザ上でPostgreSQLが起動し ブラウザ上でデータを保存する
Slide 6
Slide 6 text
6 スキーマの⾃動⽣成 CSVをドラックドロップ するだけでスキーマが ⽣成される
Slide 7
Slide 7 text
7 スキーマの⾃動⽣成 CSVデータのヘッダとデータの特徴から 列名とデータ型を⾃動で定義 customer_id,first_name,last_name,email,phone_number 1,田中,太郎,
[email protected]
,090-1234-5678 2,佐藤,花子,
[email protected]
,080-2345-6789 3,鈴木,一郎,
[email protected]
,070-3456-7890 4,山田,美咲,
[email protected]
,090-4567-8901 5,伊藤,健太,
[email protected]
,080-5678-9012 サンプルCSV
Slide 8
Slide 8 text
8 スキーマの⾃動⽣成 複数の関連のあるCSV ファイルをアップロード するとその内容から リレーションを推測して くれる
Slide 9
Slide 9 text
9 ⾃然⾔語でSQL チャットから ⾃然⾔語でクエリできる 複数CSVの関連を理解し 関連を考慮したSQLを⽣成
Slide 10
Slide 10 text
10 ⾃然⾔語でSQL ⽣成したSQLを確認できる 関連を理解したjoin句が ⽣成されてる
Slide 11
Slide 11 text
11 ⾃然⾔語でグラフ⽣成 ⾃然⾔語でグラフ⽣成 ができる 依頼内容に応じて グラフの種類を使い分 けてくれる
Slide 12
Slide 12 text
12 ⾃然⾔語でデータ投⼊ チャットから⾃然⾔語で データを投⼊することで る
Slide 13
Slide 13 text
13 使ってみて
Slide 14
Slide 14 text
14 使ってみて ● チャットでエンターを押すと実⾏されてしま うので⽇本語で使いにくい(コピペで対応) ● グラフは2つ以上同時に⽣成できない ● ⽣成AIなので⽣成されるSQLも揺れがある。 例えばランキングでも昇順、降順の指定がな いとばらつく。明⽰的に指定する必要がある ● デフォルトでは limit 5 が必ずつく ○ 「全ての」とつけて回避
Slide 15
Slide 15 text
15 エラーの⾃動修正 エラーになった場合は ⾃動修正。修正できな い場合はサジェスト (画像はUTF-8でないと 取り込めないから icov 等使って直してと⾔わ れてる)
Slide 16
Slide 16 text
16 エラーの⾃動修正 エラーになった場合は ⾃動修正。修正できな い場合はサジェスト (画像はUTF-8でないと 取り込めないから icov 等使って直してと⾔わ れてる)
Slide 17
Slide 17 text
17 使えそうなユースケース ● 簡易な分析 ● 表計算ソフトを使って作成してたような グラフの作成を⾃然⾔語でサクッと作る ● ⾮エンジニアが複雑なクエリを⾃然⾔語で 実⾏する
Slide 18
Slide 18 text
18 使われてる技術要素
Slide 19
Slide 19 text
19 ブラウザ上で起動するPostgreSQL PGLite というライブラリを使っている WASM(Web Assembly)でビルドされ、 ブラウザ上で実⾏されるPostgreSQL データの永続化はIndexedDB等が使われる ブラウザでデータベース操作が完結し WebSocketなど使わずにPostgreSQLが使える
Slide 20
Slide 20 text
20 ⽣成AIのモデル gpt-4o-2024-08-06 が使われてる オープンソースになっていて 現時点のソースでは以下のリンクから プロンプトと⼀緒に使⽤してるモデルも確認で きる https://github.com/supabase-community/postgres-new/blob/main/apps/postgres-new/app/api/chat/route.ts#L63
Slide 21
Slide 21 text
21 ⽣成AIのフロントエンドへの組み込み VercelのAI SDKが使われている AI SDKは⽣成AIを使った機能を React や Vueに 組み込むためのフロントエンドライブラリ ChatのSSEを使ったリアルタイム制御や StreamingをこのSDKを使って実現
Slide 22
Slide 22 text
22 SQLやグラフデータの⽣成 グラフの描画にはChart.jsが使⽤されている が、グラフに渡すデータはAIから返却された レスポンスが渡される この処理はFunction Callingによって実現され ている
Slide 23
Slide 23 text
23 今後のロードマップ
Slide 24
Slide 24 text
24 ロードマップ ● S3に置いてどこからでもアクセスできる ● Wordなど出⼒形式の拡充 ● URLを共有することでデータベースを他の ユーザーと共有 ● OPFSサポート
Slide 25
Slide 25 text
25 まとめ
Slide 26
Slide 26 text
26 まとめ ● Supabaseからブラウザ上で起動しAIアシスタ ントがついた postgres.new が出ました ● ⾃然⾔語でクエリできたりグラフが作れる ● 技術的には PGLiteや GPT-4o が使われてる ● 今後ファイル同期、出⼒フォーマットの拡充 が予定されてる
Slide 27
Slide 27 text
マッハチーム 27 プロダクト開発の 「立ち上げ専門チーム」 です。 高速に、プロダクト開発 と、 顧客との信頼関係構築 を行うことを目指しています。
Slide 28
Slide 28 text
こんな希望が叶うかも 28 ・ モダンな技術でフルスタック開発に挑戦したい 2~3名のエンジニアで、フロントエンド、サーバーサイド、インフラの全てを担当できます ・ プリセールスから入りプロダクトの方向性を提案したい エンジニアがプリセールスも顧客折衝もガンガン進めていきます ・ 0から1を圧倒的なスピードで立ち上げたい ・2~6人月程度の案件サイズがボリュームゾーンです ・様々な業界・お客様のご支援を高速に回して、マッハで経験を獲得できます