azure-search-openai-demo

用 Azure 一键搭建带私有知识库的 ChatGPT 问答应用

这是一个基于 Azure 的检索增强生成(RAG)模式示例应用,使用 Azure AI Search 进行文档检索,结合 Azure OpenAI 大语言模型,构建类似 ChatGPT 的问答体验。项目解决了企业如何将私有数据接入大模型的问题,通过索引、检索和生成流程,让模型基于用户自己的文档回答问题,并支持引用来源。核心能力包括:完整的 RAG 流水线实现、支持多种数据格式(PDF、Word、HTML 等)、提供聊天和问答两种交互界面、集成 Azure AI Search 的语义排序和向量搜索、支持用户上传文件进行即时问答、内置数据权限控制(基于 Azure AD)。项目采用 azd 一键部署,适合快速搭建生产级原型。

开源 unknown 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 7762
维护状态 活跃
是否开源
定价模式 unknown

项目数据

分类对话助手
开发团队Azure-Samples
所属国家
定价模式unknown
价格说明开源示例应用,需自行部署到 Azure,运行成本取决于 Azure 服务用量,无明确定价信息。
访问状态
是否开源
开源协议MIT
主要语言Python
技术栈/模型ai-azd-templates,azd-templates,azure,azure-ai-search,azurecognitivesearch,azureopenai,chatgpt,openai
GitHub 星标★ 7762
30天Star增速
HF 下载量
上线时间2023-02-08 00:00:00
最近更新2026-09-20 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 30 分钟 部署方式:命令行工具 7 步

环境要求

  • Azure 订阅账号(需可创建 Azure OpenAI 与 Azure AI Search 资源)
  • 安装 Azure Developer CLI(azd)
  • 本地开发需 Python 环境并已成功执行过 azd up
  • Windows 本地开发需 PowerShell;Linux/Mac 使用 Bash

安装与启动步骤

  1. 1登录 Azure 账号

    使用 azd 登录 Azure 账号;GitHub Codespaces 中若失败,改用设备代码登录。

    azd auth login
  2. 2创建设备码登录

    仅当上一步在 Codespaces 中失败时使用,按提示在浏览器完成设备登录。

    azd auth login --use-device-code
  3. 3创建 azd 环境

    输入一个名称用作资源组名,会在 .azure 目录创建环境文件夹并设为当前环境。

    azd env new
  4. 4按需定制部署

    可选:通过环境变量配置已有资源、启用认证或视觉等可选功能、低成本或免费试用部署。

  5. 5一键部署到 Azure

    执行后自动创建 Azure 资源并部署应用到 Azure Container Apps,并按 data 目录构建搜索索引。

    azd up
  6. 6仅重新部署代码

    只修改了 app 目录下的前后端代码时使用,无需重新创建 Azure 资源。

    azd deploy
  7. 7启动本地开发服务器

    必须先成功执行过 azd up。Windows 执行 ps1,Linux/Mac 执行 sh;VS Code 可运行 Start App 任务。

    ./app/start.ps1
    
    ./app/start.sh

如何确认成功

azd up 成功后控制台会打印应用 URL,浏览器打开即可交互;看到 SUCCESS 后可能还需等 5-10 分钟才完全可用。

常见问题

Q:部署后打开出现 Python Developer 欢迎页或错误页怎么办?

A:这是应用尚未完全部署完成的正常现象,等待约 5-10 分钟后刷新页面即可。

Q:部署会立刻产生费用吗?如何停止计费?

A:会,主要来自 AI Search 资源,即使中途中断也会计费。可执行 azd down 或手动删除资源避免持续扣费。

Q:只改了 app 目录下的代码,需要重新部署吗?

A:不需要重新创建资源,直接运行 azd deploy 即可重新部署代码。

Q:修改了基础设施文件怎么办?

A:若改动了 infra 目录或 azure.yaml,需要重新创建资源,运行 azd up。

Q:如何自定义部署位置或使用已有资源?

A:azd up 过程中会提示选择两个区域(资源与 OpenAI)。也可通过环境变量使用已有资源或启用可选功能,详见 docs 中相关指南。

注意事项

  • 该模板面向示例演示,官方建议不要直接用于生产环境,需自行补充安全能力。
  • azd up 会创建真实 Azure 资源并立即计费,测试完请及时 azd down 清理。
  • 本地开发服务器必须在成功执行 azd up 之后才能启动。
  • 部署时选区域依据 OpenAI 模型可用性表,可能随可用性变化而过时。

核心亮点

  • 完整实现 RAG 模式,代码结构清晰,适合作为企业级参考模板
  • 支持语义搜索和向量搜索混合检索,答案准确度高
  • 提供 azd 一键部署,从零到运行环境只需几条命令

不足之处

  • 强绑定 Azure 生态,迁移到其他云或本地部署成本高
  • 文档偏重部署流程,对 RAG 原理和调优讲解较少

适用场景

  • 企业知识库问答:让员工通过自然语言查询内部文档
  • 客户支持助手:基于产品手册和 FAQ 提供自动回复
  • 教育/研究辅助:对学术论文或教材进行问答式检索

替代项目

langchain-chatbot、privateGPT、quivr

项目介绍

azure-search-openai-demo 是搜索知识领域的开源项目,由 Azure-Samples 开发,2023 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(7,762)位列前 6%,在搜索知识分类的 581 个项目里位列前 8%。

近 44 天,它的 GitHub 星标从 7,724 增加到 7,762,净增 38。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-20。开源示例应用,需自行部署到 Azure,运行成本取决于 Azure 服务用量,无明确定价信息。

它主要面向的使用场景是:企业知识库问答:让员工通过自然语言查询内部文档。同类可对比的替代方案包括 langchain-chatbot、privateGPT、quivr。

上一篇:geo-optimizer-skill

下一篇:elasticsearch-labs

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

The web data API to search, scrape, and interact at scale.

★ 183325 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 120493 2026-08-09
ragflow 开源

让大模型用上你的私有知识,搭建可靠的企业级RAG应用

RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fu···

★ 91170 2026-08-09