Azure上で動作するRAGアクセラレーター。独自のドキュメントに基づいてチャットアシスタントが回答し、出典をインライン引用で示します。
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
azd でプロジェクトのコードをダウンロードする
azd init -t rag-postgres-openai-python - 2
Azure アカウントにサインインする
azd auth login - 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 の数値は毎日更新されます。
関連プロジェクト
生成AIで会話データや文書データを分析し、チャットでの探索と自動生成されるインサイトダッシュボードを提供するAzureベースのソリューションアクセラレーター。
Microsoft Agent FrameworkとAzure AI Foundryを基盤に、複数の特化型AIエージェントがユーザー指定の組織タスクを計画・実行する、Azureベースのリファレンスアクセラレーター。
DuckDBまたはPostgreSQLでドキュメントを保存・検索できる、Retrieval-Augmented Generation向けのPythonツールキットです。
managed identityでAzure OpenAIを呼び出すPython製チャットWebアプリ。azdでAzure Container Appsにプロビジョニングしてデプロイできます。
文書から二時点ナレッジグラフを構築し、RAG検索や推論、MCPアクセスを提供するセルフホスト型Rustナレッジベース。