Skip to content

mahiro0915/sql-generator-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI SQL Generator

アプリ概要

AI SQL Generator は、自然言語での質問から SQL を自動生成するツールです。SQL の構文が分からない、複雑なクエリを書くのに時間がかかる、という課題を解決します。例: 「先月1万円以上購入したユーザーを教えて」という自然文から、実行可能な SQL を生成します。

使用技術

  • Java 17
  • Spring Boot 4.0.3
  • Thymeleaf(サーバーサイドレンダリング)
  • OpenAI Java クライアント(openai-java 4.0.0)
  • H2 Database(組み込み DB、開発用)

こだわったポイント

  • プロンプトエンジニアリング: 質問文を適切に正規化・コンテキスト化して、正確で安全な SQL を生成するテンプレートを設計しました。
  • セーフガード: 生成 SQL の簡易な検証(例えば明示的な DROP/DELETE の実行禁止や LIMIT の追加)を行い、安全に利用できるよう配慮しています。
  • Spring Boot での API 連携: 外部 API 呼び出し(OpenAI)に対する例外処理、リトライやタイムアウト設定を実装しています。

使い方(開発者向け簡易)

必要な環境変数

  • OPENAI_API_KEY — OpenAI の API キー

設定例(Windows cmd):

set OPENAI_API_KEY=sk-XXXXXXXXXXXX

ビルド / 起動

cd /d C:\pleiades\2025-12\workspace\sql-generator-web
mvnw.cmd -DskipTests package
mvnw.cmd spring-boot:run

または生成された JAR を実行:

java -jar target\sql-generator-web-0.0.1-SNAPSHOT.jar

画面操作

  • ブラウザで http://localhost:8080 を開き、自然言語で質問を入力して「SQLを生成」を押します。
  • 生成された SQL は画面下部に表示されます。

動作画面

  • src/main/resources/templates/index.html にあるシンプルな UI を使用しています(検索ボックスと生成結果表示)。
  • 実際の動作画面のスクリーンショットは別途 docs/screenshots/ に配置します。画像はそちらを参照してください。

注意点

  • 生成された SQL をそのまま本番DBで実行する前に、必ず内容を確認してください。特に更新系クエリは操作対象を限定することを推奨します。
  • API キー等の機密情報はリポジトリに含めないでください。

About

AI SQL 生成ツール

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors