ベクトルストアでベクトル検索する
最も関連性の高い文章を取得する
「ベクトルストアでベクトル検索する」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。
ベクトルストアの役割
ベクトルストアはチャンクの埋め込みを保持し、数百万個のベクトルがあっても、クエリに最も近いものをすばやく見つけます。
類似度で検索する
キーワードを一致させるのではなく、意味を一致させます。ベクトルストアは、クエリのベクトルに最も近いベクトルを持つチャンクを返します。
コサイン類似度
一般的な距離指標はコサイン類似度です。2つのベクトルの角度を比較するため、意味が近いほど高いスコアになります。
同じ方法でクエリを埋め込む
質問にはチャンクと同じモデルを使う必要があります。異なる埋め込みは別々の空間に配置されるため、比較できません。
query_vec = model.encode(["How do I reset my password?"])Top-K検索
通常、すべての一致結果が必要になることはありません。ストアに対して、最も近いチャンクのtop-k件を要求します。kには3や5のような小さな数を指定します。
単純なインメモリストア
小規模なデータなら、FAISSはベクトルをメモリ上に保持し、数ミリ秒で検索できます。まずインデックスを作成し、そこにベクトルを追加します。
import faiss
index = faiss.IndexFlatIP(384)
index.add(vectors)検索を実行する
クエリのベクトルとkを指定してsearchを呼び出します。最も一致するチャンクのスコアとインデックスが返されます。
scores, ids = index.search(query_vec, k=3)結果をテキストに戻す
ストアが返すのはテキストではなくインデックスです。そのインデックスを使って、ベクトルと一緒に保存した元のチャンクを検索します。
hits = [chunks[i] for i in ids[0]]永続化ベクトルデータベース
実際のアプリでは、ChromaやPineconeのようなベクトルデータベースがベクトルをディスクに保存し、規模を拡張でき、再起動後もデータを維持します。
メタデータでフィルタリングする
作成者や日付などのタグを各ベクトルに付けます。これにより、1つのドキュメントに含まれるチャンクだけにするなど、検索結果をフィルタリングできます。
近似検索が役立つ理由
データが大規模になると、完全一致検索は遅くなります。近似最近傍インデックスは、精度をわずかに犠牲にして、大幅な速度向上を実現します。
クイックチェック
ベクトルストアが関連するチャンクを見つける方法を思い出してみましょう。
まとめ
ベクトルストアはクエリを埋め込み、類似度によって最も近いtop-k件のチャンクを見つけ、結果をテキストに対応付けます。✅
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「ベクトルストアでベクトル検索する」レッスンは無料ですか?
はい。「ベクトルストアでベクトル検索する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。
「ベクトルストアでベクトル検索する」で何を学びますか?
最も関連性の高い文章を取得する ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
NLP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ベクトルストアでベクトル検索する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNLP Academyレッスンでコードを書いて実行できますか?
はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- LLM に検索が必要な理由
- 文書をチャンク分割して埋め込む
- ベクトルストアでベクトル検索する
- 検索結果をプロンプトに組み込む