📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

画像検索の例



この例では、TiDBのベクトル検索機能とマルチモーダル埋め込みモデルを組み合わせることで、画像検索アプリを構築する方法を示します。

ほんの数行のコードで、テキストと画像の両方を理解する検索システムを作成できます。

  • テキストから画像への検索:例えば「ふわふわのオレンジ色の猫」のように、自然言語でペットの写真を説明することで、ペットの写真を検索できます。
  • 画像検索:写真をアップロードして、犬種、色、ポーズなど、視覚的に類似したペットを検索します。

PyTiDB画像検索デモ

マルチモーダル埋め込みによるペット画像検索

前提条件

始める前に、以下のものを用意してください。

  • Python (>=3.10) : Python 3.10以降のバージョンをインストールしてください。
  • TiDB Cloud Starterインスタンス: TiDB Cloudで無料のTiDB Cloud Starterインスタンスを作成できます。
  • Jina AI API キー: Jina AI埋め込みから無料の API キーを取得できます。

実行方法

ステップ1. pytidbリポジトリをクローンする

pytidbはTiDBの公式Python SDKであり、開発者がAIアプリケーションを効率的に構築できるよう設計されています。

git clone https://github.com/pingcap/pytidb.git cd pytidb/examples/image_search/

ステップ2. 必要なパッケージをインストールします

python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r reqs.txt

ステップ3.環境変数を設定する

  1. TiDB Cloudコンソールで、私のTiDBページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。
  2. 右上隅の「接続」をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。
  3. 接続パラメータに応じて環境変数を以下のように設定してください。
cat > .env <<EOF TIDB_HOST={gateway-region}.prod.aws.tidbcloud.com TIDB_PORT=4000 TIDB_USERNAME={prefix}.root TIDB_PASSWORD={password} TIDB_DATABASE=test JINA_AI_API_KEY={your-jina-ai-api-key} EOF

ステップ4.データセットをダウンロードして解凍する

オックスフォード・ペットデータセットを使用して、ペット画像をデータベースに読み込んで検索するデモです。

Linux/macOSの場合:

# Download the dataset curl -L -o oxford_pets.tar.gz "https://thor.robots.ox.ac.uk/~vgg/data/pets/images.tar.gz" # Extract the dataset mkdir -p oxford_pets tar -xzf oxford_pets.tar.gz -C oxford_pets

ステップ5. アプリを実行する

streamlit run app.py

ブラウザを開いてhttp://localhost:8501にアクセスしてください。

ステップ6.データの読み込み

サンプルアプリでは、 「サンプルデータの読み込み」ボタンをクリックすると、サンプルデータがデータベースに読み込まれます。

または、オックスフォード・ペット・データセットのすべてのデータを読み込みたい場合は、 「すべてのデータを読み込む」ボタンをクリックしてください。

  1. サイドバーで検索タイプを選択してください。
  2. 探しているペットの説明文を入力するか、犬または猫の写真をアップロードしてください。
  3. 検索ボタンをクリックしてください。

このページは役に立ちましたか?