📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

ベクトル検索の例



この例では、TiDBとローカル埋め込みモデルを使用してセマンティック検索アプリケーションを構築する方法を示します。ベクトル検索を使用して、キーワードだけでなく意味に基づいて類似アイテムを検索します。

このアプリケーションは、ローカル エンベディング生成にオラマ、Web UI にストリームリット、および RAG パイプラインを構築するためにpytidb (TiDB 用の公式 Python SDK) を使用します。

ベクトル埋め込みを用いた意味検索

ベクトル埋め込みを用いた意味検索

前提条件

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

  • Python (>=3.10) : Python 3.10以降のバージョンをインストールしてください。
  • TiDB Cloud Starterインスタンス: TiDB Cloudで無料のTiDB Cloud Starterインスタンスを作成できます。
  • Ollama :オラマからインストールします。

実行方法

ステップ1. Ollamaで埋め込みサービスを開始する

埋め込みモデルを取得します。

ollama pull mxbai-embed-large

埋め込みサービスが実行されていることを確認してください。

curl http://localhost:11434/api/embed -d '{ "model": "mxbai-embed-large", "input": "Llamas are members of the camelid family" }'

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

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

ステップ3.必要なパッケージをインストールし、環境をセットアップする

python -m venv .venv source .venv/bin/activate pip install -r reqs.txt

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

  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=pytidb_vector_search EOF

ステップ5. Streamlitアプリを実行します

streamlit run app.py

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

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