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

ベクトル検索の例



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

このアプリケーションでは、ローカルでの埋め込み生成に Ollama、Web UI に Streamlit、そして RAG パイプラインの構築に pytidb(TiDB 向けの公式 Python SDK)を使用します。

Semantic search with vector embeddings

ベクトル埋め込みを使用したセマンティック検索

前提条件

開始する前に、以下を確認してください。

  • Python (>=3.10): Python 3.10 以降のバージョンをインストールします。
  • TiDB Cloud Starter インスタンス: TiDB Cloud で無料の TiDB Cloud Starter インスタンスを作成できます。
  • Ollama: 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 コンソール で My TiDB ページに移動し、対象の TiDB Cloud Starter インスタンス名をクリックして概要ページを開きます。

  2. 右上の Connect をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。

  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 にアクセスします。

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