コード不要!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




自動化の未来:X-PLUG/MobileAgentが変える開発現場

今回は「X-PLUG/MobileAgent」について、俺たちソフトウェアエンジニアの視点から、カラオケのコント風に楽しく、そして分かりやすく解説していくぜ!(ガラガラと扉を開けて、カラオケボックスに入る二人。一人はノートパソコンを抱え、もう一人はスマホを片手にうろうろしている。)


「逆に」な開発者に捧ぐ!Alibaba WebAgent徹底解説

やあ、俺はベテランソフトウェアエンジニア、コードとコーヒーと「逆に」が三度の飯より好きなんだ。今日のお題は Alibaba-NLP/WebAgent か。フム…「逆に、これって何に使えるの?」って思ってるそこの君、いい質問だ!「逆に、AIがWebを自動で探索して情報を集めてくれるって、それ俺たちの仕事、無くなるってこと?」って思った? 安心してくれ、逆だ、逆! これは俺たちの強力なツールになるんだよ。


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

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


現役エンジニア魔法少女が解説する「バイトボット」入門

今日は、最強の魔法ツール「バイトボット」について、ソフトウェアエンジニアの視点から、その秘密と使い方を特別に教えちゃうよ!バイトボットは、あなたのパソコンを自動で動かしてくれる、賢い魔法の使い魔みたいなもの。物語の始まりは、いつも忙しいソフトウェアエンジニアの魔法少女。バグ退治や新しい魔法の開発で毎日てんてこまい。


現場直結!Difyで始めるプロダクションレディなエージェントワークフロー入門

(現場は薄暗い取り調べ室。刑事役の私と、容疑者役のDifyが向かい合っています)私(刑事) さて、Difyくん。キミは一体何者なんだ?「Production-ready platform for agentic workflow development」… ソフトウェアエンジニアにとって、どういう意味があるのか、正直に話してもらおうか!


コード量削減!オールインワン開発環境で実現する高効率AI開発

「おーい、兄ちゃん!アンタ、ソフトウェアエンジニアなんだろ?最近流行りのナウい開発ツールがあるんだ。名前は使わないが、この『開発スタジオ』ってやつ、これがまた、うちのラーメンの味見みたいに、手間なくササッとAIエージェントを作れちまうって話でな!」


MaxKBを活用した業務効率化:開発者向けAIツール

このツールをレストランに例えるなら、お客様(ユーザー)の質問に何でも答えてくれる、知識豊富なベテランシェフのような存在です。‍ソフトウェアエンジニアの視点から見ると、MaxKBは単なるチャットボット作成ツールではありません。知識ベースの自動応答システム構築


コントで学ぶ oraios/serena の真実:未来のプログラミングツール

OrAIos/Serenaは、AIを活用したコーディングエージェントツールキットで、セマンティック検索とコード編集の能力を提供します。MCPサーバーとAgnoの統合により、開発プロセスを劇的に効率化する可能性を秘めています。ソフトウェアエンジニアの視点から、その魅力と活用法を分かりやすく解説しましょう。