RAG の例
この例では、pytidb(TiDB 向け公式 Python SDK)を使用して、最小限の RAG アプリケーションを構築する方法を示します。
このアプリケーションでは、ローカルでの埋め込み生成に Ollama、Web UI に Streamlit、そして RAG パイプラインの構築に pytidb を使用します。
PyTiDB で構築した RAG アプリケーション
前提条件
開始する前に、以下を確認してください。
- Python (>=3.10): Python 3.10 以降をインストールします。
- TiDB Cloud Starter インスタンス: TiDB Cloud で無料の TiDB Cloud Starter インスタンスを作成できます。
- Ollama: Ollama からインストールします。
実行方法
ステップ 1. 推論 API を準備する
Ollama CLI を使用して埋め込みモデルと LLM モデルを pull します。
ollama pull mxbai-embed-large
ollama pull gemma3:4b
ollama run gemma3:4b
/embed エンドポイントと /generate エンドポイントが実行中であることを確認します。
curl http://localhost:11434/api/embed -d '{
"model": "mxbai-embed-large",
"input": "Llamas are members of the camelid family"
}'
curl http://localhost:11434/api/generate -d '{
"model": "gemma3:4b",
"prompt": "Hello, Who are you?"
}'
ステップ 2. リポジトリをクローンする
git clone https://github.com/pingcap/pytidb.git
cd pytidb/examples/rag/
ステップ 3. 必要なパッケージをインストールし、環境をセットアップする
python -m venv .venv
source .venv/bin/activate
pip install -r reqs.txt
ステップ 4. 環境変数を設定する
- TiDB Cloud コンソール で My TiDB ページに移動し、対象の TiDB Cloud Starter インスタンス名をクリックして概要ページを開きます。
- 右上の Connect をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。
- 以下のように、接続パラメータに従って環境変数を設定します。
cat > .env <<EOF
TIDB_HOST={gateway-region}.prod.aws.tidbcloud.com
TIDB_PORT=4000
TIDB_USERNAME={prefix}.root
TIDB_PASSWORD={password}
TIDB_DATABASE=test
EOF
ステップ 5. Streamlit アプリを実行する
streamlit run main.py
ブラウザを開き、http://localhost:8501 にアクセスします。
トラブルシューティング
502 Bad Gateway エラー
グローバルプロキシ設定を無効にしてみてください。
関連リソース
- ソースコード: GitHub で見る
