pgvector/pgvector-python
pgvector support for Python
解決する課題
pgvector PostgreSQL拡張機能に対するPythonサポートを提供し、開発者が主要なPythonデータベースライブラリを使用して、PostgreSQLデータベース内で直接ベクトル埋め込み(vector embeddings)の保存、クエリ、インデックス作成を行えるようにします。
仕組み
このライブラリは様々なPython ORMやデータベースドライバーと統合されており、ベクトル型や距離演算子の使用を可能にします。標準ベクトル、半精度ベクトル、ビットベクトル、スパースベクトルなど、複数のベクトル形式をサポートしています。また、HNSWやIVFFlatといった近似最近傍(ANN)インデックスの作成も可能で、検索を高速化します。
対象ユーザー
検索拡張生成(RAG)、画像検索、レコメンデーションシステムなどのAIアプリケーション向けに、PostgreSQLをベクトルデータベースとして使用しているPython開発者。
ハイライト
- 幅広いライブラリサポート: Django、SQLAlchemy、SQLModel、Psycopg 3、Psycopg 2、asyncpg、pg8000、Peeweeと統合。
- 多様なベクトル型:
Vector、HalfVector、Bit、SparseVectorをサポートし、さまざまな精度やストレージのニーズに対応。 - 多様な距離指標: L2距離、コサイン距離、内積、L1距離、ハミング距離、ジャッカード距離をサポート。
- インデックスオプション: HNSWおよびIVFFlatインデックスを作成するためのシンプルなPythonネイティブな方法を提供。
- 包括的な例: RAG、ハイブリッド検索、ColBERT、視覚的ドキュメント検索の実装例を同梱。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト