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、視覚的ドキュメント検索の実装例を同梱。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト