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

画像検索の例



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

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

  • テキストから画像への検索: 「ふわふわのオレンジ色の猫」など、自然言語で欲しいものを説明してペットの写真を検索します
  • 画像間検索: 写真をアップロードして、品種、色、ポーズなどで視覚的に似ているペットを検索します

PyTiDB 画像検索デモ

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

前提条件

始める前に、次のものがあることを確認してください。

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

実行方法

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

pytidbは、開発者が 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コンソールクラスターページに移動し、ターゲット クラスターの名前をクリックして概要ページに移動します。
  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. データをロードする

サンプル アプリでは、 [サンプル データの読み込み]ボタンをクリックして、サンプル データをデータベースに読み込むことができます。

または、Oxford Pets データセット内のすべてのデータをロードする場合は、 [すべてのデータのロード]ボタンをクリックします。

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

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