Repolode
pgvector

pgvector/pgvector-python

Django、SQLAlchemy、Psycopg、asyncpg、PeeweeなどのPostgreSQLドライバーに、pgvectorのベクトル型と類似検索機能を追加するPythonライブラリ。

スター
1,542
フォーク
104
未解決の Issue
9
最終コミット
3 日前

これは何?

pgvector-pythonは、pgvector拡張を通じてPostgreSQLにベクトルを保存し、検索できるPythonクライアントライブラリです。ベクトル、半精度、bit、スパースベクトルの各型に加え、L2、内積、コサイン、L1、ハミング、ジャカード距離による比較演算子を提供します。

Django、SQLAlchemy、SQLModel、Psycopg 2および3、asyncpg、pg8000、Peeweeなど、幅広いPythonデータベーススタックと連携します。各連携で、拡張機能の有効化、ベクトルカラムの追加、埋め込みの挿入、最近傍検索の実行、HNSWまたはIVFFlatインデックスの作成といった一般的な手順を扱えます。

リポジトリには、Ollamaを使った検索拡張生成、OpenAIおよびCohereによる埋め込み、ハイブリッド検索、画像検索、レコメンデーション、COPYによる一括読み込みのサンプルスクリプトも含まれています。

主な機能

  • 01Django、SQLAlchemy、SQLModel、Psycopg 2/3、asyncpg、pg8000、Peeweeに対応。
  • 02ベクトル、半精度、bit、スパースベクトルのフィールド型を提供。
  • 03L2、内積、コサイン、L1、ハミング、ジャカードなどの距離演算子を提供。
  • 04各ライブラリのAPIを通じてHNSWおよびIVFFlatの近似インデックスを作成。
  • 05Pythonのリスト、NumPy配列、SciPyのスパース配列間の変換に対応。

ユースケース

  • PostgreSQLを使うDjangoまたはSQLAlchemyアプリケーションに、セマンティック検索やRAG検索を追加する。
  • OpenAI、Cohere、SentenceTransformersのテキストまたは画像の埋め込みをPostgresに保存する。
  • 既存のPostgresデータベース内のユーザー・アイテムベクトルを使って、レコメンデーション機能を構築する。

クイックスタート

  1. 1

    PyPIからパッケージをインストールします

    pip install pgvector
  2. 2

    PostgreSQLデータベースでpgvector拡張機能を有効にします(Psycopg 3の例)

    conn.execute('CREATE EXTENSION IF NOT EXISTS vector')
  3. 3

    接続にvector型を登録してから、使用するライブラリのREADMEに従ってベクトルを挿入・検索します

    register_vector(conn)

使う前に知っておきたいこと

  • PostgreSQLサーバーにpgvector拡張機能がインストールされている必要があります。
  • データベースライブラリごとに、独自のセットアップ手順と登録コードが必要です。

収録されている特集

トピック

よくある質問

pgvector-python とは?
Django、SQLAlchemy、Psycopg、asyncpg、PeeweeなどのPostgreSQLドライバーに、pgvectorのベクトル型と類似検索機能を追加するPythonライブラリ。 pgvector-pythonは、pgvector拡張を通じてPostgreSQLにベクトルを保存し、検索できるPythonクライアントライブラリです。ベクトル、半精度、bit、スパースベクトルの各型に加え、L2、内積、コサイン、L1、ハミング、ジャカード距離による比較演算子を提供します。
pgvector-python は無料で使えますか?ライセンスは?
pgvector-python は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
pgvector-python は今もメンテナンスされていますか?
活発にメンテナンス中。pgvector-python の最終コミットは 2026年11月5日 です。
pgvector-python は何に使えますか?
PostgreSQLを使うDjangoまたはSQLAlchemyアプリケーションに、セマンティック検索やRAG検索を追加する。 OpenAI、Cohere、SentenceTransformersのテキストまたは画像の埋め込みをPostgresに保存する。 既存のPostgresデータベース内のユーザー・アイテムベクトルを使って、レコメンデーション機能を構築する。
pgvector-python のインストール方法は?
PyPIからパッケージをインストールします: pip install pgvector PostgreSQLデータベースでpgvector拡張機能を有効にします(Psycopg 3の例): conn.execute('CREATE EXTENSION IF NOT EXISTS vector') 接続にvector型を登録してから、使用するライブラリのREADMEに従ってベクトルを挿入・検索します: register_vector(conn)
pgvector-python はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/pgvector/pgvector-python

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト