培训
学习路径
在 Azure AI Foundry 门户中开发生成式 AI 应用 - AI-3016 - Training
了解如何在 Azure AI Foundry 门户中开发生成式 AI 应用。 (AI-3016)
认证
Microsoft Certified: Azure AI Engineer Associate - Certifications
使用 Azure AI 服务、Azure AI 搜索和 Azure Open AI 设计和实现 Azure AI 解决方案。
由大型语言模型(LLM)启用的生成 AI 为软件开发人员和组织带来了令人兴奋的新可能性。 Azure OpenAI 服务等服务使 AI 开发可通过易于使用的 API 进行访问。 所有技能级别的开发人员都可以将高级 AI 功能集成到其应用程序中,而无需专业知识或硬件投资。
作为应用程序开发人员,你可能想要了解可以扮演的角色以及适合的位置。 例如,也许你想知道应该把学习重点放在“AI 堆栈”中的哪个级别。 或者,你可能想知道在现有技术下你能够建造什么。
若要回答这些问题,请务必首先开发一个心理模型,以将新术语和技术如何融入你已经理解的内容。 开发心理模型有助于在应用程序中设计和生成生成 AI 功能。
在一系列文章中,我们将向你展示当前软件开发体验如何应用于生成 AI。 这些文章还为您开始开发第一个生成式 AI 解决方案奠定了关键字和概念的基础。
若要了解当前的软件开发体验如何应用于生成式 AI,请务必了解企业打算如何从生成式 AI 中受益。
企业将生成 AI 视为提高客户参与度、提高运营效率、增强解决问题和创造力的手段。 将生成 AI 集成到现有系统中为企业提供了增强其软件生态系统的机会。 它可以为传统软件功能补充高级 AI 功能,例如针对用户或智能代理的个性化建议,可以回答有关组织或其产品或服务的特定问题。
下面是一些常见方案,其中生成 AI 可以帮助企业:
内容生成:
自然语言处理:
数据分析:
软件开发人员有机会通过将生成 AI 应用程序和功能集成到组织所依赖的软件中来大幅提高其影响。
尽管 LLM 执行了繁重的工作,但你构建了集成、协调和监视结果的系统。 有很多可以学习的知识,但你可以应用你已有的技能,包括如何:
利用现有技能开发生成式 AI 解决方案。
Microsoft投资开发工具、服务、API、示例和学习资源,帮助你开始生成 AI 开发之旅。 每个要点都强调了构建生成 AI 解决方案所需的重大关注或责任。 若要有效地使用给定的服务、API 或资源,挑战是确保:
在应用程序中构建生成 AI 功能没有一种正确的方法。 可以从许多工具和方法中进行选择。 评估每种方法的利弊非常重要。
你无需了解生成式 AI 如何工作,才能开始并提高效率。 如前所述,你可能已经知道够多了。 可以使用 API 并应用现有技能来入门。
例如,无需从头开始训练自己的 LLM。 培训 LLM 需要大多数公司不愿投资的时间和资源。 而是通过在现有预先训练的基础模型(如 GPT-4)的基础上构建,通过对 Azure OpenAI API 等现有托管服务进行 API 调用。 向现有应用程序添加生成 AI 功能与基于 API 调用添加任何其他功能没有什么不同。
研究 LLM 的训练方式或它们如何工作可能满足你的智力好奇心,但充分了解 LLM 的工作原理需要深入了解数据科学和支持它的数学背景。 获得这种理解可能包括有关统计、概率和信息理论的研究生级课程。
如果你有计算机科学背景,你会意识到大多数应用程序开发是在研究和技术的“技术栈”的较高层进行的。 你可能对每个层有一些了解,但你可能专门介绍应用程序开发层,重点介绍特定的编程语言和平台,例如可用的 API、工具和模式。
AI 领域也是如此。 您可以理解并欣赏在 LLM 基础上构建的理论,但您可能会将注意力集中在应用层或帮助实施模式或流程以在您的公司中实现生成性 AI 工作。
下面是在新的或现有应用程序中实现生成 AI 功能所需的知识层的过度简单表示形式:
在最低水平上,数据科学家正在进行数据科学研究,以基于对统计、概率理论等的深入数学理解来解决或改进 AI。
再往上一层,基于最低的基础层,数据科学家在 LLM 中实现理论概念,构建神经网络并训练权重和偏差,以提供可以接受输入(提示)并产生结果(竞争)的实用软件。 根据提示组成完成的计算过程称为i推理。 数据科学家确定 神经网络的神经元如何预测要生成的下一个单词或像素。
鉴于训练模型和基于输入生成结果所需的处理能力,模型通常会在大型数据中心进行训练和托管。 可以在本地计算机上训练或托管模型,但结果通常很慢。 速度和效率得益于独立的 GPU 显卡,这些显卡有助于处理生成结果所需的计算。
托管在大型数据中心时,将通过 REST API 提供对这些模型的编程访问。 API 有时由 SDK“包装”,可供应用程序开发人员轻松使用。 其他工具可帮助改进开发人员体验,提供可观测性或其他实用工具。
应用程序开发人员可以调用这些 API 来实现业务功能。
除了以编程方式提示模型外,模式和流程也正在出现,以帮助组织基于生成 AI 构建可靠的业务功能。 例如,模式正在出现,可帮助企业确保生成的文本、代码、图像和声音符合道德和安全标准,并承诺保护客户数据隐私。
在这些关注点或层次中,如果你是负责构建业务功能的应用程序开发人员,那么你可以超越应用层,开始开发和训练你自己的 LLM。 但这种理解水平需要一套新的技能,这些技能通常只能通过高级教育开发。
如果不能致力于在学术上开发数据科学的能力,以帮助在堆栈中构建下一层,则可以专注于开发应用程序层主题的知识:
可以使用Microsoft中的低代码和无代码生成 AI 工具和服务来帮助你构建部分或全部解决方案。 各种 Azure 服务可以发挥关键作用。 每个解决方案都有助于解决方案的效率、可伸缩性和稳定性。
每个生成 AI 解决方案的核心是 LLM 模型。 Azure OpenAI 提供对 GPT-4 等模型中提供的所有功能的访问权限。
产品 | 说明 |
---|---|
Azure OpenAI | 提供对强大语言模型(如 GPT-4)的访问权限的托管服务。 可以使用多个 API 来执行 LLM 的所有典型功能,包括创建嵌入和创建聊天体验。 你可以全面访问设置和自定义,以获取所需的结果。 |
由于要构建业务逻辑、演示逻辑或 API,以便将生成 AI 集成到组织的应用程序中,因此需要一个服务来托管和执行该逻辑。
产品 | 说明 |
---|---|
Azure App 服务(或多个基于容器的云服务之一) | 此平台可以托管用户与 RAG 聊天系统交互的 Web 界面或 API。 它支持快速开发、部署和缩放 Web 应用程序,以便更轻松地管理系统的前端组件。 |
Azure Functions | 使用无服务器计算处理 RAG 聊天系统中的事件驱动任务。 例如,使用它来触发数据检索进程、处理用户查询或处理后台任务,例如数据同步和清理。 它允许一种更模块化、可缩放的方法来构建系统的后端。 |
您可以使用低代码或无代码解决方案快速构建实现生成AI愿景所需的一些逻辑,并可靠地托管这些逻辑。
产品 | 说明 |
---|---|
Azure AI Foundry | 可以使用 Azure AI Foundry 来训练、测试和部署自定义机器学习模型,以增强 RAG 聊天系统。 例如,使用 Azure AI Foundry 自定义响应生成或改进检索到的信息的相关性。 |
某些生成 AI 解决方案可能需要存储和检索用于扩充生成的数据。 例如,基于 RAG 的聊天系统允许用户与组织的数据聊天。 在此用例中,需要矢量数据存储。
产品 | 说明 |
---|---|
Azure AI 搜索 | 可以使用此服务有效地搜索大型数据集,以查找相关信息,以通知语言模型生成的响应。 这对于 RAG 系统的检索组件非常有用,因此生成的响应尽可能具有信息性和上下文相关。 |
Azure Cosmos DB | 这种全球分布式多模型数据库服务可以存储 RAG 聊天系统需要访问的大量结构化和非结构化数据。 其快速读取和写入功能使它非常适合为语言模型提供实时数据,以及存储用户交互以进一步分析。 |
用于 Redis 的 Azure 缓存 | 此完全托管的内存中数据存储可用于缓存经常访问的信息、降低延迟并提高 RAG 聊天系统的性能。 它特别适用于存储会话数据、用户首选项和常见查询。 |
Azure Database for PostgreSQL - 灵活服务器 | 此托管数据库服务可以存储应用程序数据,包括日志、用户配置文件和历史聊天数据。 其灵活性和可伸缩性支持 RAG 聊天系统的动态需求,使数据一致可用且安全。 |
其中每个 Azure 服务都有助于为生成 AI 解决方案创建全面的、可缩放且高效的体系结构。 它们可帮助开发人员访问和使用 Azure 云功能和 AI 技术的最佳功能。
在本部分中,我们将重点介绍 Azure OpenAI API。 如前所述,可通过 RESTful Web API 以编程方式访问 LLM 功能。 可以使用任何新式编程语言来调用这些 API。 在许多情况下,特定于语言或特定于平台的 SDK 作为 REST API 调用的包装器运行,以使体验更加惯用。
下面是 Azure OpenAI REST API 包装器的列表:
如果语言或平台 SDK 不可用,最糟糕的情况是必须直接对 Web API 进行 REST 调用:
大多数开发人员都熟悉如何调用 Web API。
Azure OpenAI 提供了一系列 API,旨在促进不同类型的 AI 驱动的任务,因此开发人员可以将高级 AI 功能集成到其应用程序中。 下面是 OpenAI 中提供的关键 API 的概述:
尽管你可以使用生成 AI 来处理许多不同的媒体形式,但在本文的其余部分中,我们专注于基于文本的生成 AI 解决方案。 这些解决方案包括聊天和摘要等场景。
不熟悉某种语言、API 或技术的软件开发人员通常会通过教程或培训模块开始学习,这些模块演示了如何构建小型应用程序。 一些软件开发人员更喜欢采用自我引导的方法并构建小型实验应用程序。 这两种方法都有效且有用。
当你开始时,最好从小事做起,少承诺,不断迭代,并建立你的理解和技能。 使用生成式 AI 开发应用程序具有独特的挑战。 例如,在传统的软件开发中,可以依赖于确定性输出。 也就是说,对于任何一组输入,每次都能得到完全相同的输出。 但生成式 AI 是非确定性的。 对于给定的提示,你永远不会得到完全相同的答案两次,这是许多新挑战的根源。
开始时,请考虑以下提示。
如果您想立即开始尝试构建生成式 AI 解决方案,我们建议您查看使用您自己的 Python 数据样本开始聊天。 本教程还可用于 .NET、Java和 JavaScript。
下面是本文要考虑的事项和其他要点的简短列表,这些内容可能会影响应用程序设计决策:
培训
学习路径
在 Azure AI Foundry 门户中开发生成式 AI 应用 - AI-3016 - Training
了解如何在 Azure AI Foundry 门户中开发生成式 AI 应用。 (AI-3016)
认证
Microsoft Certified: Azure AI Engineer Associate - Certifications
使用 Azure AI 服务、Azure AI 搜索和 Azure Open AI 设计和实现 Azure AI 解决方案。
文档
作为开发人员,了解大型语言模型(LLM)的限制,以及如何通过修改提示、实现推理管道和修改可选 API 调用参数来获得最佳结果。
本文介绍作为 GitHub 存储库提供的 AI 应用模板,以便在 Azure 上生成、部署和扩展。
对创建基于检索增强生成(RAG)的聊天系统进行概念性介绍,重点强调集成、优化和道德考量,以提供上下文相关的响应。