基于 Azure 的 RAG 解决方案加速器,让聊天助手基于你自己的文档作答,并附带原文引用。
Azure-Samples/rag-postgres-openai-python
基于 PostgreSQL 表数据的 RAG 问答应用,结合 pgvector 检索和 OpenAI 模型,可部署到 Azure。
- Star
- 508
- Fork
- 1,060
- 未关闭 Issue
- 63
- 最近提交
- 昨天
这是什么?
这是一个基于 Web 的聊天应用,可以回答关于 PostgreSQL 数据库表中各行数据的问题。前端使用 React 和 FluentUI,后端使用 Python 和 FastAPI 构建。检索部分将 pgvector 向量搜索与 PostgreSQL 全文检索结合,并使用 RRF(Reciprocal Rank Fusion)合并两路结果。
系统还能通过 OpenAI function calling 把用户问题转换为查询过滤条件,例如将“30 美元以下的攀岩装备”转为 price 小于 30 的 WHERE 条件。查询文本通过 OpenAI embedding API 转换为向量。
项目使用 Azure Developer CLI 部署到 Azure:应用运行在 Azure Container Apps,数据库为 Azure Database for PostgreSQL Flexible Server,模型来自 Azure OpenAI,并通过托管标识进行认证。本地开发时也可以切换为 OpenAI.com 或 Ollama 模型。
核心功能
- 01结合 pgvector 向量搜索与 PostgreSQL 全文检索,并用 RRF 合并结果
- 02通过 OpenAI function calling 将自然语言问题转换为 SQL 过滤条件
- 03使用 OpenAI embedding API 生成查询向量
- 04通过 azd 一键部署到 Azure Container Apps 和 PostgreSQL Flexible Server
- 05支持 Azure OpenAI、OpenAI.com 和 Ollama 作为模型提供方
适用场景
- 为存储在 PostgreSQL 中的商品目录搭建问答式聊天
- 在 Azure 上验证基于关系型表数据的 RAG 方案
- 学习如何将 pgvector 混合检索与 LLM 函数调用结合起来
快速上手
- 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 是什么?
- 基于 PostgreSQL 表数据的 RAG 问答应用,结合 pgvector 检索和 OpenAI 模型,可部署到 Azure。 这是一个基于 Web 的聊天应用,可以回答关于 PostgreSQL 数据库表中各行数据的问题。前端使用 React 和 FluentUI,后端使用 Python 和 FastAPI 构建。检索部分将 pgvector 向量搜索与 PostgreSQL 全文检索结合,并使用 RRF(Reciprocal Rank Fusion)合并两路结果。
- 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 函数调用结合起来
- 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
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Azure 的解决方案加速器,利用生成式 AI 从对话与文档数据中挖掘洞察,提供对话式探索和自动生成的仪表板。
基于 Azure 的多智能体参考方案,多个专业 AI 智能体协作规划并执行用户指定的业务任务。
基于 DuckDB 或 PostgreSQL 的 Python 检索增强生成(RAG)工具包。
一个基于 Python 的聊天应用,使用托管标识调用 Azure OpenAI,并通过 azd 部署到 Azure Container Apps。
一个用 Rust 编写、可自托管的知识库,从文档构建双时态知识图谱,并提供 RAG 检索、本体推理和 MCP 接入。