TL;DR:
LangChain のSQLDatabaseChain
を使えば、**「自然言語で質問 → SQL実行 → 回答」**を自動でやってくれるチャットボットが 10 行で作れます。
サンプルコード(SQLite + OpenAI)
pythonコピーする編集するfrom langchain import SQLDatabase, SQLDatabaseChain
from langchain.chat_models import ChatOpenAI
db = SQLDatabase.from_uri("sqlite:///example.db")
llm = ChatOpenAI(temperature=0)
chain = SQLDatabaseChain.from_llm(llm, db)
chain.run("売上が一番高い商品は?")
どんなとき便利?
- データ分析チームの「非エンジニア向け DB チャットボット」
- 表形式データの 問い合わせ自動化(社内FAQ・BI代替)
- SQLite 以外(PostgreSQL, MySQL)にもそのまま対応!
注意点と対処
問題 | 解決法 |
---|---|
変な SQL を出力 | return_intermediate_steps=True でデバッグしやすくなる |
非エンジニアに誤解される | 回答文に SQL を添えると透明性が増す |
DBに直接書き込まれたくない | read_only=True を設定 or SELECT 限定にする |
覚えておこう!
LangChain × SQLite で、“LLM × データベース” の最速体験ができる!
簡単な PoC ならクラウドも不要で、すぐに始められます。