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

ハイブリッド検索の例



このデモでは、ベクトル検索と全文検索を組み合わせて、文書セット全体の検索精度を向上させる方法を示します。

TiDBハイブリッド検索デモ

TiDBハイブリッド検索デモ

前提条件

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

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

注記

現在、全文検索は以下の製品オプションおよび地域でのみご利用いただけます。

  • TiDB Cloud Starter:フランクフルト( eu-central-1 )、シンガポール( ap-southeast-1

実行方法

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

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

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

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

python -m venv .venv source .venv/bin/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=pytidb_hybrid_demo OPENAI_API_KEY=<your-openai-api-key> EOF

ステップ4.デモを実行する

オプション1:Streamlitアプリを実行する

ウェブUIでデモを確認したい場合は、以下のコマンドを実行してください。

streamlit run app.py

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

オプション2:デモスクリプトを実行する

スクリプトを使ってデモを確認したい場合は、以下のコマンドを実行してください。

python example.py

期待される出力:

=== CONNECT TO TIDB === Connected to TiDB. === CREATE TABLE === Table created. === INSERT SAMPLE DATA === Inserted 3 rows. === PERFORM HYBRID SEARCH === Search results: [ { "_distance": 0.4740166257687124, "_match_score": 1.6804268, "_score": 0.03278688524590164, "id": 60013, "text": "TiDB is a distributed database that supports OLTP, OLAP, HTAP and AI workloads." }, { "_distance": 0.6428459116216618, "_match_score": 0.78427225, "_score": 0.03200204813108039, "id": 60015, "text": "LlamaIndex is a Python library for building AI-powered applications." }, { "_distance": 0.641581407158715, "_match_score": null, "_score": 0.016129032258064516, "id": 60014, "text": "PyTiDB is a Python library for developers to connect to TiDB." } ]

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