コード不要!AIがSQLとグラフを自動生成するGenBIツール入門


コード不要!AIがSQLとグラフを自動生成するGenBIツール入門

Canner/WrenAI

2025-08-29

WrenAIは、以下のような点で、ソフトウェアエンジニアの助けになります。

WrenAIを使えば、SQLのクエリを手動で書く必要がなくなります。自然言語で「先月の売上トップ10の顧客を教えて」と入力するだけで、適切なSQLクエリが自動生成されます。これにより、単純なデータ抽出やレポート作成にかかる時間を大幅に削減できます。

新しいプロジェクトやサービスで、データベースのスキーマや内容がまだ頭に入っていない場合でも、WrenAIが強力な味方になります。たとえば、「ユーザーテーブルの登録日ごとのユーザー数をグラフにして」と頼めば、テーブル構造を完璧に把握していなくても、瞬時にグラフが生成されます。

WrenAIは、SQLクエリだけでなく、グラフ(Text-to-Chart)の生成も可能です。これにより、BIツールや可視化ライブラリのコードを書く手間が省けます。特定のデータセットを可視化したいとき、複雑な設定をすることなく、すぐにグラフを作成できます。

WrenAIの導入は、いくつかのステップで行います。まず、Pythonのパッケージとしてインストールし、接続したいデータベースの認証情報を設定します。

pip install wrenai

この例では、BigQueryに接続する設定をします。認証情報を含むJSONファイル(credentials.json)を用意してください。

import os
from wrenai.database import BigQueryDatabase

# サービスアカウントキーのJSONファイルへのパスを設定
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/your/credentials.json"

# BigQueryのデータベース接続を初期化
db = BigQueryDatabase(
    project_id="your-gcp-project-id",
    dataset_name="your-dataset-name"
)

次に、データベース接続とLLM(大規模言語モデル)のAPIキーを使って、エージェントを初期化します。ここでは、GoogleのLLMを利用する例を示します。

from wrenai import Agent

# Google AI Studioから取得したAPIキーを設定
os.environ["GOOGLE_API_KEY"] = "your-google-api-key"

agent = Agent(db=db)

これで、WrenAIを使う準備ができました。

架空のラーメン店「麺屋エンジニア」のデータベースを使って、WrenAIがどのように役立つかをコント形式で見てみましょう。

状況

ラーメン屋の店主「ラオウ」(本当はソフトウェアエンジニア)は、お客さんがどのメニューをよく注文しているか知りたがっています。

コード

# 自然言語で質問
query = "各ラーメンメニューの総売上を、売上が高い順に並べて。"

# WrenAIにSQLクエリを生成させる
sql_query = agent.generate_sql(query)
print("--- WrenAIが生成したSQL ---")
print(sql_query)

# WrenAIにデータを実行させて、結果を取得
results = db.run_query(sql_query)
print("\n--- ラーメンの売上ランキング ---")
print(results)

WrenAIが生成するSQLの例

SELECT
  menu_name,
  SUM(price) AS total_sales
FROM
  orders
GROUP BY
  menu_name
ORDER BY
  total_sales DESC

ラオウの一言

「SQLを手で書かなくても、勝手にやってくれるなんて…!これで、ラーメン作りに専念できるぜ!」

状況

ラオウは、どの年代の顧客が一番多いのかを知りたくなりました。

コード

# 自然言語で質問
query = "顧客の年齢層別の顧客数を円グラフにして。"

# WrenAIにグラフを生成させる
chart = agent.generate_chart(query)
chart.save("customer_age_chart.html")
print("顧客の年齢層別データが、円グラフとして customer_age_chart.html に保存されました。")

ラオウの一言

「グラフまで自動で!?これはすごい!若いお客さんが多いのか、それともご年配が多いのか、一目でわかる!」

状況

ラオウは、売上データから何か新しい発見がないか、AIに尋ねてみることにしました。

コード

# 自然言語で洞察を求める
query = "最近の売上データから、何か面白い傾向や洞察を教えて。"

# WrenAIに分析と洞察を生成させる
insights = agent.generate_insights(query)
print("\n--- AIによるラーメン店の洞察 ---")
print(insights)

WrenAIからの返答(例)

「分析の結果、以下の洞察が得られました。

週末のランチタイム(12
00〜14
00)に、特に「特製つけ麺」の注文が急増しています。

雨の日は、「辛味噌ラーメン」の注文が増える傾向が見られます。

過去1ヶ月で、新規顧客の再来店率が上昇傾向にあります。」

ラオウの一言

「なるほど!雨の日に辛いものが食べたくなるのか…!よし、雨の日限定メニューを開発しよう!AI、ありがとう!」


Canner/WrenAI




論理的な情報検索を実現:PageIndexによる次世代RAGシステムの構築

PageIndexは、従来のVector-Based RAG (Retrieval-Augmented Generation)とは一線を画す、新しい推論ベースのRAGフレームワークです。従来のRAGでは、ドキュメントを一定のサイズでチャンク(断片)に区切り、それをベクトル化(埋め込み)してデータベースに保存し、質問のベクトルと類似度の高いチャンクを検索していました。


「DeepResearch」入門:AIが自動で調査レポート作成、エンジニアの働き方を激変させる

おい、アンタ、ちょっとこっち来い。アンタら、「DeepResearch」って聞いてピンとくるか?これは、ただのチャットボットとは訳が違う。アリババが作った、「自動で情報収集して、レポートにまとめる」 AIエージェントだ。普通のAIは、アンタが質問したことに答えるだけだが、こいつは自分で考えて、勝手にネットの情報を掘り起こし、アンタが欲しい答えを探し出してくる。まるで、優秀な部下を一人雇ったようなもんだ。


ソフトウェアエンジニアのためのAIエージェント入門:自律的なデバッグと実行のループを設計する

「本当のAIエージェント(Claude Codeのようなもの)」をどう作るのか、実際に手を動かした時のワクワク感を込めて解説します!これまで僕たちが使ってきたチャットAIは、言わば「アドバイスをくれる同僚」でした。でも、Claude CodeのようなAIエージェントは違います。彼は「実際にキーボードを叩いて、コマンドを実行し、バグを直して、テストを通す実務担当者」なんです。


苦悩を笑いに!nanobrowserで始めるウェブ自動化入門

「また新しいAIツールを導入するの?設定が難しそうだし、うちのシステムに組み込めるかな…」 「毎日のルーティン作業にうんざり…でも、手作業でやるしかないし…」 「特定のウェブサイトからデータを集めたいけど、手動だと時間がかかりすぎる…」そんな悩み、もう終わりにしましょう!nanobrowserは、まるで優秀なAI秘書のように、あなたのウェブ上の退屈なタスクを自動化してくれます。


ドラえもんの道具で解説!RD-Agentがもたらす開発革命

研究開発(R&D)を自動化してくれる、まさに「開発者版どこでもドア」とでもいうべきすごい技術なんです。「RD-Agent」は、AIを使ってAIの研究開発を自動化するためのツールです。まるで優秀なAIアシスタントがチームに入ってくれるようなイメージです。


Umami入門: エンジニアのためのモダンなウェブ解析ツール

Umamiは、Google Analyticsに代わる、プライバシーに配慮したモダンなウェブサイト解析ツールです。ソフトウェアエンジニアの視点から見ると、Umamiは単なるアクセス解析ツール以上の価値を提供します。Google Analyticsのような既存のツールは、非常に多機能な一方で、データの収集方法やプライバシー保護の観点から問題視されることがあります。特に、GDPR(EU一般データ保護規則)やCCPA(カリフォルニア州消費者プライバシー法)などの法規制が厳格化する中、ユーザーの同意なしにデータを収集することはリスクとなります。


【実録】LobeHub導入ガイド:MCP対応エージェントで開発体験を劇的に変える方法

正直なところ、LLM(大規模言語モデル)を仕事で使うとき、「ブラウザのチャット画面とエディタを行き来するのが面倒だな」とか「自分専用の最強アシスタントをサクッと作りたいな」と思ったことはありませんか?LobeChatは、まさにその「痒い所に手が届く」エンジニア垂涎のツールなんです。


開発効率を劇的に上げる!DeepChatを活用したモダンなAIチャット機能の実装ガイド

この「DeepChat」は、まるであなた専属のAIスタイリストさんのように、強力なAI(例えば、ChatGPTのような大規模言語モデル)をあなたのアプリケーションやウェブサイトにスムーズに組み込むのを手伝ってくれます。特に私たちエンジニアにとっての大きなメリットは、以下の3点です。


エンタープライズRAG基盤 WeKnora:Go言語で構築する、高速・高信頼なLLM知識検索フレームワークの解剖

今回は、中国の巨大テック企業Tencentが公開している、文書理解・検索・質問応答のためのLLM(大規模言語モデル)活用フレームワーク「Tencent/WeKnora」について見ていきましょう。「え、また新しいLLMフレームワーク?もうお腹いっぱいだよ


それは、AIが「道具」を手に取った日。MiroThinker導入ガイド:深淵からの招待状

あなたが耳にしたMiroThinker(およびそれを支えるMiroMindAIのプロジェクト)は、単なるチャットAIではありません。それは、自ら検索し、コードを書き、検証を繰り返す「フルスタック・リサーチエージェント」の系譜です。ソフトウェアエンジニアの視点から、この不思議な存在がどう役に立つのか、その招待状をお送りします。