Repolode
Azure-Samples

Azure-Samples/rag-postgres-openai-python

pgvector検索とOpenAIモデルを使って、PostgreSQLテーブルの行について自然言語で質問できるAzure対応のRAGチャットアプリ。

スター
508
フォーク
1,060
未解決の Issue
63
最終コミット
14 時間前

これは何?

PostgreSQLデータベースのテーブルにある行について質問できる、Webベースのチャットアプリです。ReactとFluentUIのフロントエンド、Python FastAPIのバックエンドで構成されています。検索ではpgvectorによるベクトル検索とPostgreSQLの全文検索を組み合わせ、Reciprocal Rank Fusion(RRF)で両方の検索結果を統合します。

OpenAIのfunction callingを使って、ユーザーの質問を検索条件に変換できます。たとえば「30ドル未満の登山用品は?」という質問は、priceに対するSQLのWHERE句になります。クエリの埋め込みベクトルはOpenAI embedding APIで生成します。

Azure Developer CLIを使ったAzureへのデプロイを想定しています。アプリはAzure Container Apps、データベースはAzure Database for PostgreSQL Flexible Server、モデルはAzure OpenAIで実行し、認証にはマネージドIDを使います。OpenAI.comまたはOllamaのモデルを使ってローカルで実行することもできます。

主な機能

  • 01pgvectorによるベクトル検索とPostgreSQLの全文検索をRRFで組み合わせたハイブリッド検索
  • 02OpenAIのfunction callingで自然言語のクエリをSQLの検索条件に変換
  • 03OpenAI embedding APIでクエリの埋め込みベクトルを生成
  • 04azdを使ってAzure Container AppsとAzure Database for PostgreSQL Flexible Serverにデプロイ
  • 05モデルプロバイダーとしてAzure OpenAI、OpenAI.com、Ollamaに対応

ユースケース

  • PostgreSQLに保存された商品カタログについて質問できるチャットアプリの構築
  • Azure上でリレーショナルテーブルのデータを使ったRAGのプロトタイピング
  • pgvectorのハイブリッド検索とLLMのfunction callingを組み合わせる方法の学習

クイックスタート

  1. 1

    azd でプロジェクトのコードをダウンロードする

    azd init -t rag-postgres-openai-python
  2. 2

    Azure アカウントにサインインする

    azd auth login
  3. 3

    リソースをプロビジョニングしてコードをデプロイする

    azd up

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

  • Azure へのデプロイが想定される利用方法です。Container Apps、Azure OpenAI、PostgreSQL、Azure Monitor の利用には従量課金制の費用が発生します。
  • README では、まずデプロイすることを推奨しています。ローカル開発では、自分で設定する必要がある OpenAI モデルに依存するためです。

収録されている特集

トピック

よくある質問

rag-postgres-openai-python とは?
pgvector検索とOpenAIモデルを使って、PostgreSQLテーブルの行について自然言語で質問できるAzure対応のRAGチャットアプリ。 PostgreSQLデータベースのテーブルにある行について質問できる、Webベースのチャットアプリです。ReactとFluentUIのフロントエンド、Python FastAPIのバックエンドで構成されています。検索ではpgvectorによるベクトル検索とPostgreSQLの全文検索を組み合わせ、Reciprocal Rank Fusion(RRF)で両方の検索結果を統合します。
rag-postgres-openai-python は無料で使えますか?ライセンスは?
rag-postgres-openai-python は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
rag-postgres-openai-python は今もメンテナンスされていますか?
活発にメンテナンス中。rag-postgres-openai-python の最終コミットは 2026年11月6日 です。
rag-postgres-openai-python は何に使えますか?
PostgreSQLに保存された商品カタログについて質問できるチャットアプリの構築 Azure上でリレーショナルテーブルのデータを使ったRAGのプロトタイピング pgvectorのハイブリッド検索とLLMのfunction callingを組み合わせる方法の学習
rag-postgres-openai-python のインストール方法は?
azd でプロジェクトのコードをダウンロードする: azd init -t rag-postgres-openai-python Azure アカウントにサインインする: azd auth login リソースをプロビジョニングしてコードをデプロイする: azd up
rag-postgres-openai-python はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Azure-Samples/rag-postgres-openai-python

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

関連プロジェクト