DB-GPTは、データベースとLLMを組み合わせたエージェント型AIデータアシスタントです。自然言語からのSQL生成・実行、RAGによる知識検索、複数エージェントによるワークフロー実行をWeb UIとAPIで提供します。設定ファイル(toml)を切り替えるだけでLLMプロバイダーやデータソースを変更できる構成です。
リポジトリはdbgpt-core・dbgpt-app・dbgpt-serveなど複数パッケージのモノレポで、依存管理にuvとpyproject.tomlを使っています。configs以下にはdbgpt-proxy-openai.tomlやdbgpt-local-qwen.tomlなど十数種類の設定ファイルがあり、LLMプロバイダーとデータソースをここで切り替えます。CLIコマンドdbgpt start webserverでFastAPIベースのwebserverが起動し、ポート5670でAPIを公開します。内部ではエージェントがAWELというワークフロー記法でプラン作成・SQL生成・RAG検索を連鎖させ、結果をストリーミングで返します。assets/schemaにはMySQL用のスキーマとバージョンごとのアップグレードSQLが用意されており、docker-compose.ymlはMySQLコンテナとwebserverコンテナを連携させる例を示します。
- STEP 01
configsディレクトリからLLMプロバイダー用のtomlを選び、APIキーを環境変数に設定してdocker compose up -dを実行します。
- STEP 02
初回起動時はMySQLの初期化SQLがすべて終わるまでwebserverの接続が失敗することがあり、ログで待機状況を確認します。
- STEP 03
ブラウザでhttp://localhost:5670を開き、Web UIでデータソース登録やチャット画面を操作します。
- STEP 04
dbgpt knowledge loadコマンドでローカル文書を取り込み、RAG検索の挙動を確認します。
- STEP 05
curlやPythonのdbgpt_clientから/api/v2/chat/completionsを呼び出し、ストリーミング応答を受け取ります。
- STEP 06
Dev Container利用時はmodelsフォルダにtext2vec-large-chineseを手動配置する必要があり、忘れるとRAG機能が動きません。
実行すると、SQL自動生成・実行、Excelやfin_report内のPDFに対するRAG質問応答、複数エージェントによるプラン結果がWeb UIとAPIで得られます。加えてMySQLスキーマにチャット履歴やアプリ定義が保存され、設定ファイルを切り替えるだけで別のLLMやデータベースに接続し直せます。
text2vec-large-chineseなどのモデルファイルは自動ダウンロードされず、手動配置が必要です。
ベースイメージはnvidia/cudaやRustツールチェーンのビルドを含み、GPU環境とネットワーク環境への依存が大きいです。
webserverはMySQLの初期化SQL完了を待つ必要があり、起動タイミングによって最初の起動が失敗することがあります。
READMEに書かれているのはDev Container手順のみで、エージェントやRAGの動作確認にはdocs内の別ドキュメントを読む必要があります。
社内データとLLMを組み合わせたRAGチャットボットや、自然言語でのSQL操作を試したい開発チームに向いています。config tomlの種類の多さやdocker-compose例、15種類以上のデータソースコネクタ定義から、構成管理が実運用を想定していることが読み取れます。そのためインストールせずとも構成の妥当性は判断できますが、モデルダウンロードやGPU環境の準備には相応の手間が必要です。