TiDBとAmazon BedrockでRAGアプリを作る!TiUGハンズオン in 名古屋
はじめに
TiDBユーザーグループ「TiUG」のハンズオン勉強会に参加してきました!
TiUGは、TiDBの技術や活用情報、ユースケースなどをユーザー同士で共有・交換するコミュニティです。
今回は名古屋コラボベース開催ということで、実際に手を動かして学ぶ「ハンズオン形式」で行われました。
テーマは、「TiDBとAmazon Bedrockによる生成AIアプリケーション」。
トレンドのベクトル検索やRAGを、TiDBを使ってどう実現するかを体験してきました。
タイムスケジュール
| 時間 | 内容 | スピーカー |
|---|---|---|
| 19:00 | オープニング・会場案内 | TiUG運営メンバー |
| 19:05 | ハンズオン準備 | |
| 19:10 | ハンズオン:TiDBとAmazon Bedrockによる生成AIアプリケーション | |
| 20:20 | エンディング・記念撮影 | TiUG運営メンバー |
| 20:30 | 撤収・原状復帰 | 参加者のみなさん |
ハンズオン内容:生成AIアプリ構築
今回のハンズオンの最大の特徴は、**「TiDB Labs」**というオンラインプラットフォームを利用した点です。
これにより、以下のメリットがありました。
- 環境構築がほぼ不要(ブラウザとPCがあればOK)
- AWSアカウント不要(Bedrockの設定などを気にせずアプリ開発に集中できる)
前回ワークショップに参加しましたが、ブラウザ上でVScodeを操作は行なっておらずLabsのターミナルで操作を行っていました。
いつも使っているVScode上で操作できるので、やりやすかったです。
1. RAGおよびText2SQLアプリケーションの構築
メインパートでは、TiDB Cloud Starter(無料枠でも利用可能!)を使って、以下の技術スタックでAIチャットアプリを作成しました。
- データベース: TiDB Cloud (Serverless)
- 機能: ベクトルストア (Vector Store)
- UI: Streamlit
- ライブラリ: pytidb
特に便利だと感じたのが pytidb というPythonライブラリです。これを使うことで、TiDBへの接続やベクトルデータの扱いが非常にシンプルになり、「AI + Data」のアプリケーション構築の敷居がぐっと下がった印象です。
実際に作ったもの:
- AIチャットアプリ: ベクトル検索を用いたRAG(Retrieval-Augmented Generation)の実装
- Text2SQL: 自然言語で質問すると、SQLに変換してデータを取得してくれるアプリ
2. Jupyter Notebookでのベクトル検索(オプション)
オプション課題として、Jupyter Notebookを使用したハイブリッドサーチ(ベクトル検索 + 全文検索)の実装もありました。
TiDB一つで、リレーショナルなデータ処理と、AI向けのベクトル検索の両方が完結するのはやはり強力です。
やってみた感想・学び
- 環境の準備が楽: TiDB Labsのおかげで、「環境構築で躓いて終わる」というハンズオンあるあるが回避されていました。
- TiDBの進化: 単なるRDBMSとしてだけでなく、Vector機能が統合されているため、別途Vector DBを用意する必要がないのはアーキテクチャがシンプルになると実感しました。
- (個人の感想): * 懇親会で別会社の実装の苦労した話やサービスの運用方法や現在の採用市場の貴重な話を聞けて学びになりました。
おわりに
最後は参加者全員で記念撮影をして、原状復帰をして解散となりました。
名古屋でのオフライン開催ということで、技術的な学びはもちろん、参加者同士の交流もできて非常に有意義な時間でした。
Discussion