Abstract
概要
自作のPython製リレーショナルDB「KeiPyDB」にベクトル検索機能を組み込んだ過程を辿りながら、ベクトル検索の仕組みを見ていきます。
詳細
- 自己紹介(2分)
- ベクトル検索とは(3分) キーワード検索との違い。テキストをベクトルに変換して距離で比較するというベクトル検索の基本的な考え方を紹介
- ベクトルとコサイン類似度計算(7分)
高校数学のベクトルの概要を振り返りながら、Pythonコードで類似度計算する。ユークリッド距離や内積といった他の手法との違い - 自作DBにベクトル検索を追加(8分) DBにベクトル検索を追加するためのステップを、pgvectorやsqlite-vecといった既存の実装にも触れながら、実際のコードとともに解説
- Appendix: HNSWインデックスについて。(5分)
線形スキャンの計算量とHNSWインデックス。Small World現象を出発点に、HNSWがなぜ高速に似たデータを見つけられるのかを簡単に紹介 - まとめと質疑応答(5分)
About the speaker
k-kamijo
塾選を運営する株式会社DeltaX(デルタエックス)のエンジニアです。 主に、バックエンド、CI/CDなどを担当しています。
Githubレポジトリ:https://github.com/kei-kmj