开发使用 Azure AI 服务的 Python 应用

本文提供了文档、示例和其他资源,介绍如何开发使用 Azure OpenAI 服务和其他 Azure AI 服务的应用程序。

Azure AI 参考模板

Azure AI 参考模板提供了维护良好、易于部署的参考实现。 这些资源可确保你的智能应用程序具有高质量的起点。 端到端解决方案提供了常用而全面的参考应用程序。 构建基块是较小的示例,侧重于特定方案和任务。

端到端解决方案

链接 说明
通过 RAG 开始使用 Python 企业聊天示例 本文将指导你部署和使用适用于 PythonEnterprise 聊天应用示例。 此示例是一个完整的端到端解决方案,介绍了在 Azure 中运行的检索增强生成 (RAG) 模式,它使用 Azure AI 搜索进行检索,使用 Azure OpenAI 大型语言模型为 ChatGPT 风格的体验和问答体验提供支持。

构建基块

构建块 说明
在 Python 中使用 Azure OpenAI 生成聊天应用 一个简单的 Python Quart 应用,它使用 JSON Lines 通过 ReadableStream 将来自 ChatGPT 的响应流式传输到 HTML/JS 前端。
在 Python 中使用 Azure OpenAI 生成 LangChain 一个 Azure Functions 示例,演示如何将人工提示作为 HTTP Get 或 Post 输入,使用人工输入和模板链计算完成情况。 可以以此示例为起点,用于更复杂的链。
使用 Python 中的 Azure 容器应用生成 ChatGPT 插件 此示例使用 GitHub Codespaces、VS Code 和 Azure 创建 ChatGPT 插件。 此示例包含用于使用 Azure Developer CLI 将插件部署到 Azure 容器应用的模板。
在 Azure Functions 中使用 Azure AI 语言汇总文本 将文本文档作为输入,使用 Azure AI 语言进行汇总,然后使用 Azure Functions 输出到另一个文本文档。
Azure AI Python 模板库 有关 Azure AI 模板的完整列表,请访问我们的库。 我们的库中的所有应用模板都可以使用以下单个命令启动和部署:azd up
使用 Azure 容器应用的智能负载均衡 此示例 解决方案 是使用 Microsoft 提供的高性能 YARP C# 反向代理框架 构建的。 但是,无需了解 C# 即可使用它,可以只生成提供的 Docker 映像。 这是 API 管理 OpenAI 智能负载均衡器的替代解决方案,具有相同的逻辑。
使用 Azure API 管理的智能负载均衡 企业示例解决方案演示如何创建 Azure API 管理 Policy,以无缝地向应用程序公开单个终结点,同时保持有效的逻辑,以使用两个或更多 OpenAI 或任何 API 后端,具体取决于可用性和优先级。
规避聊天应用 根据一组正确或理想的答案(称为基本真相)评估聊天应用的答案。 疏散工具可与符合聊天协议的任何聊天 API 一起使用。
使用 Locust 对聊天应用进行负载测试 使用 Locust 测试验证聊天应用可以处理预期的负载。 如果聊天应用由于 Azure OpenAI TPM 限制而无法缩放App 服务,请添加负载均衡器并再次测试负载。 智能负载均衡器包括 Azure API 管理Azure 容器应用

Azure OpenAI

端到端解决方案

链接 说明
通过 RAG 开始使用 Python 企业聊天示例 本文将指导你部署和使用适用于 PythonEnterprise 聊天应用示例。 此示例是一个完整的端到端解决方案,介绍了在 Azure 中运行的检索增强生成 (RAG) 模式,它使用 Azure AI 搜索进行检索,使用 Azure OpenAI 大型语言模型为 ChatGPT 风格的体验和问答体验提供支持。

构建基块

链接 说明
在 Python 中使用 Azure OpenAI 生成聊天应用 一个简单的 Python Quart 应用,它使用 JSON Lines 通过 ReadableStream 将来自 ChatGPT 的响应流式传输到 HTML/JS 前端。
在 Python 中使用 Azure OpenAI 生成 LangChain 此示例演示如何将人工提示作为 HTTP Get 或 Post 输入,使用人工输入和模板链计算完成情况。 可以以此示例为起点,用于更复杂的链。
使用 Python 中的 Azure 容器应用生成 ChatGPT 插件 此示例使用 GitHub Codespaces、VS Code 和 Azure 创建 ChatGPT 插件。 此示例包含用于使用 Azure Developer CLI 将插件部署到 Azure 容器应用的模板。
使用 Azure Redis Enterprise 缓存进行矢量相似性搜索 使用 Azure Cache for Redis 作为 RAG 方案的后端向量存储的演练。
使用 PostgreSQL 使用自己的数据 OpenAI 解决方案 讨论 Azure Database for PostgreSQL 灵活服务器和 Azure Cosmos DB for PostgreSQL 如何支持 pgvector 扩展以及概述、方案等的文章。

SDK 和其他示例/指南

链接 说明
OpenAI SDK for Python OpenAI Python 库的 GitHub 源代码版本提供对 OpenAI API 的便捷访问,从用 Python 语言编写的应用程序访问 OpenAI API。
Azure OpenAI SDK 版本 所有 Azure OpenAI SDK 库包的链接,包括 .NET、Java、JavaScript 和 Go 的链接。
openai Python 包 OpenAI Python 库的 PyPi 版本。
开始使用 GPT-35-Turbo 和 GPT-4 此文章指导你创建聊天完成示例。
流式聊天完成 一个笔记本,其中包含使用 Azure 终结点获取聊天完成工作的示例。 此示例重点介绍聊天完成,但也涉及使用 API 提供的其他一些操作。
从 OpenAI 切换到 Azure OpenAI 有关需要对代码进行的小更改的指南文章,以便在 OpenAI 与 Azure OpenAI 服务之间来回交换。
嵌入 演示如何使用可以使用 Azure 终结点完成的嵌入操作的笔记本。 此示例重点介绍嵌入内容,但也涉及使用 API 提供的其他一些操作。
部署模型并生成文本 一篇文章,其中详细介绍了以编程方式聊天的步骤。
使用基于 Microsoft 条目 ID 角色的访问控制的 OpenAI 阐述使用 Microsoft Entra ID 进行身份验证。
使用托管标识的 OpenAI 具有更复杂的安全方案的文章需要 Azure 基于角色的访问控制(Azure RBAC)。 本文档介绍如何使用 Microsoft Entra ID 对 OpenAI 资源进行身份验证。
更多示例 编译有用的 Azure OpenAI 服务资源和代码示例,帮助你开始并加快技术采用过程。
更多指导 Azure OpenAI 服务文档的中心页面。

其他 Azure AI 服务

端到端解决方案

链接 说明
字幕和呼叫中心脚本 此存储库包含呼叫中心方案中的字幕和脚本的示例。
使用文档智能通过形式识别器研讨会使用新患者注册自动执行基于论文的过程(代码 一个研讨会样式演示,指导你了解如何使用文档智能转换和自动化基于纸张的过程。

构建基块

链接 说明
使用语音与 OpenAI 对话 使用 Azure AI 语音与 Azure OpenAI 服务进行对话。 语音服务识别的文本将发送到 Azure OpenAI。 语音服务合成 Azure OpenAI 中的文本响应。
使用文档翻译示例应用将文档从 100 多种不同语言翻译 包含命令行工具和 Windows 应用程序的存储库,用作适用于 Windows、macOS 和 Linux 的 Azure 文档翻译服务的本地接口。

SDK 和示例/指南

链接 说明
使用语音 SDK 示例将语音集成到应用中 Azure 认知服务语音 SDK 的示例。 语音识别、翻译、语音合成等功能的示例的链接。
Azure AI 文档智能 SDK Azure AI 文档智能(以前称为表单识别器)是一项云服务,它使用机器学习来分析文档的文本和结构化数据。 文档智能软件开发工具包 (SDK) 是一组库和工具,可用于轻松地将文档智能模型和功能集成到应用程序中。
使用 Python 中的形式识别器从表单、收据、发票和卡中提取结构化数据 Azure.AI.FormRecognizer 客户端库的示例。
使用 Python 中的文本分析提取、分类和理解文档中的文本 适用于文本分析的客户端库。 这是 Azure AI 语言服务的一部分,提供自然语言处理 (NLP) 功能,用于理解和分析文本。
Python 中的文档翻译 一篇快速入门文章,该文章使用文档翻译将源文档翻译为目标语言,同时保留结构和文本格式。
Python 中的问答 一篇快速入门文章,其中包含从随问题一起发送的文本正文获取答案(和置信度分数)的步骤。
Python 中的对话语言理解 对话语言理解 (CLU) 的客户端库,是基于云的对话 AI 服务,它可以提取对话中的意图和实体,并充当业务流程协调程序,以选择最佳候选项来分析对话,进而从 Qna、Luis 和对话应用等应用获得最佳响应。
分析图像 Microsoft Azure AI 图像分析 SDK 的示例代码和设置文档
适用于 Python 的 Azure AI 内容保险箱ty SDK 检测应用程序和服务中有害的用户生成内容和 AI 生成的内容。 Content Safety 包括文本和图像 API,可用于检测有害材料。