你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure OpenAI 服务常见问题解答

如果你在本文档中找不到问题的答案,因此仍然需要帮助,请查看 Azure AI 服务支持选项指南。 Azure OpenAI 是 Azure AI 服务的一部分。

数据和隐私

你是否使用我的公司数据来训练这其中的任何模型?

Azure OpenAI 不使用客户数据来重新训练模型。 有关详细信息,请参阅 Azure OpenAI 数据、隐私和安全指南

常规

Azure OpenAI 是否支持自定义 API 标头? 我们在 API 请求中附加了额外的自定义标头,但出现 HTTP 431 失败错误。

我们的当前 API 最多允许 10 个自定义标头,这些标头通过管道传递并返回。 我们注意到一些客户现在超过了此标头计数,从而导致 HTTP 431 错误。 除了减少标头量之外,此错误没有其他解决方案。 在未来的 API 版本中,我们将不再传递自定义标头。 我们不建议客户在未来的系统体系结构中依赖自定义标头。

Azure OpenAI 是否可使用 OpenAI(版本>=1.0)发布的最新 Python 库?

最新版本的 OpenAI Python 库(版本>=1.0)支持 Azure OpenAI。 但是,请务必注意不支持使用 openai migrate 迁移代码库,并且无法使用面向 Azure OpenAI 的代码。

我找不到 GPT-4 Turbo 预览版,它在哪里?

GPT-4 Turbo 预览版是 gpt-4 (1106-preview) 模型。 若要部署此模型,请在“部署”下选择模型 gpt-4。 对于“模型版本”,请选择“1106-preview”。 若要检查该模型在哪些区域可用,请参阅模型页面

Azure OpenAI 是否支持 GPT-4?

Azure OpenAI 支持最新的 GPT-4 模型。 它同时支持 GPT-4 和 GPT-4-32K。

Azure OpenAI 的功能与 OpenAI 相比如何?

Azure OpenAI 服务通过 OpenAI GPT-3、Codex 和 DALL-E 模型为客户提供高级语言 AI,并能够实现 Azure 的安全性和企业前景。 Azure OpenAI 与 OpenAI 共同开发 API,在确保兼容性的同时,又能够确保实现二者之间的平稳过渡。

使用 Azure OpenAI,客户可在运行与 OpenAI 相同的模型时获得 Microsoft Azure 的安全功能。

Azure OpenAI 是否支持 VNET 和专用终结点?

是的,作为 Azure AI 服务的一部分,Azure OpenAI 支持 VNET 和专用终结点。 若要了解详细信息,请参阅 Azure AI 服务虚拟网络指南

GPT-4 模型当前是否支持图像输入?

否,GPT-4 由 OpenAI 设计为多模式,但目前仅支持文本输入和输出。

如何申请新的用例?

以前,添加新用例的过程要求客户重新应用到服务。 现在,我们将发布一个新流程,允许你快速添加新用例以使用服务。 此过程遵循 Azure AI 服务中既定的受限访问流程。 现有客户可以在此处证明任何和所有新用例。 注意,每当你想要将服务用于最初未申请的新用例时,都需要这样做。

我尝试使用嵌入内容时收到错误“InvalidRequestError: 输入太多。 最大输入数为 16。 如何修复此问题?

尝试发送一批文本以将其作为数组嵌入到单个 API 请求中时,通常会发生此错误。 目前,Azure OpenAI 仅支持具有 text-embedding-ada-002 版本 2 模型的多个输入的嵌入数组。 此模型版本支持每个 API 请求最多包含 16 个输入的数组。 使用 text-embedding-ada-002(版本 2)模型时,数组长度最多可为 8,191 个令牌。

在哪里可以了解使用 Azure OpenAI 从服务获取所需响应的更好方法?

查看我们的提示工程简介。 虽然这些模型非常强大,但它们的行为对从用户处收到的提示也非常敏感。 这使得提示构造成为开发的重要技能。 完成介绍后,请查看有关系统消息的文章。

我的来宾帐户已被授予对 Azure OpenAI 资源的访问权限,但我无法在 Azure AI Studio 中访问该资源。 如何实现访问?

使用 Azure AI Studio 的默认登录体验时,这是预期行为。

要从已被授予 Azure OpenAI 资源访问权限的来宾帐户访问 Azure AI Studio,请执行以下操作:

  1. 打开专用浏览器会话,然后导航到 https://ai.azure.com
  2. 请勿立即输入来宾帐户凭据,而是选择“Sign-in options
  3. 选择“登录到组织”
  4. 输入授予来宾帐户 Azure OpenAI 资源访问权限的组织的域名。
  5. 使用来宾帐户凭据登录。

现在应该能够通过 Azure AI Studio 访问资源。

或者,如果已从 Azure OpenAI 资源的“概览”窗格中登录到 Azure 门户,则可以选择“转到 Azure AI Studio”以使用适当的组织上下文自动登录

当我问 GPT-4 它正在运行什么模型时,它告诉我正在运行 GPT-3。 为何发生这种情况?

Azure OpenAI 模型(包括 GPT-4)无法正确识别“正在运行什么模型”是预期行为。

为何发生这种情况?

最终,模型将执行下一个令牌预测来回答你的问题。 该模型没有任何本机功能来查询当前运行的是哪个模型版本,因此无法回答你的问题。 要回答这个问题,始终可以转到“Azure AI Studio”>“管理”>“部署”,然后查阅模型名称列,确认哪个模型当前与给定部署名称关联。>

“你运行的是哪个模型?”或“OpenAI 的最新模型是什么?”这样的问题与问模型今天天气怎么样所产生的结果的质量差不多。 它可能会返回正确的结果,但这纯粹是偶然的。 除训练/训练数据的那部分之外,模型本身没有实际信息。 就 GPT-4 而言,截至 2023 年 8 月,基础训练数据只截止到 2021 年 9 月。 GPT-4 在 2023 年 3 月才发布,因此,除非 OpenAI 发布使用更新后训练数据的新版本,或发布经过微调可回答这些特定问题的新版本,否则 GPT-4 的预期行为是,回复说 GPT-3 是 OpenAI 的最新模型版本。

如果你希望帮助基于 GPT 的模型准确回答“你正在运行什么模型?”这个问题,则需要通过模型系统消息的提示工程检索增强生成 (RAG)(这是 Azure OpenAI 对数据所使用的技术,采用该技术,查询时会将最新信息注入到系统消息中)等技术向模型提供该信息,或者通过微调来微调模型的特定版本,以便根据模型版本以某种方式回答该问题。

若要详细了解 GPT 模型的训练方式和工作原理,建议观看 Andrej Karpathy 在 Build 2023 上关于 GPT 的现状的演讲

我询问该模型其知识截止时间是什么时候,它给出的答案与 Azure OpenAI 模型页面上的答案不同。 为何发生这种情况?

这是预期的行为。 这些模型无法回答有关其自身的问题。 若要了解模型训练数据的知识截止时间,请参阅模型页面

我向模型询问了一个关于知识截止之前刚发生的事情的问题,它得到了错误的答案。 为何发生这种情况?

这是预期的行为。 首先,不能保证最近发生的每个事件都是模型训练数据的一部分。 即使信息是训练数据的一部分,如果不使用检索增强生成 (RAG) 之类的其他技术来帮助确定模型的响应,也总是有可能发生不可靠的响应。 Azure OpenAI 的“使用你的数据”功能必应聊天均将 Azure OpenAI 模型与检索增强生成配合使用来帮助进一步确定模型响应。

训练数据中给定信息出现的频率也会影响模型以某种方式进行响应的可能性。

向最新的 GPT-4 Turbo 预览版模型询问最近发生变化的事情(例如“新西兰总理是谁?”),可能会得到捏造的响应 Jacinda Ardern。 然而,询问模型“Jacinda Ardern 何时辞去总理职务?”往往会产生准确的响应,表明训练数据知识至少截止到 2023 年 1 月。

因此,虽然可以通过问题来探测模型,从而猜测其训练数据知识截止时间,但模型页面是检查模型知识截止时间的最佳位置。

可从何处访问旧版模型(不再可用于新部署)的定价信息?

旧版定价信息可通过可下载的 PDF 文件获取。 对于所有其他模型,请参阅官方定价页

如何修复“InternalServerError - 500 - 由于模型生成无效的 Unicode 输出而无法创建完成事件”?

可以通过将提示温度降低到 1 以下并确保使用具有重试逻辑的客户端来最大程度地减少这些错误的发生。 重新尝试请求通常会得到成功的响应。

我们注意到,API 调用未能完成,并出现状态代码 400,但也出现了相关的费用。 为什么失败的 API 调用会产生费用?

如果服务执行处理,则即使状态代码为不成功(不是 200),也可能向你收取费用。 常见示例包括:由于内容筛选器或输入限制导致的 400 错误,或由于超时导致的 408 错误。 当收到了 status 200 以及 content_filterfinish_reason 时,也会产生费用。 在这种情况下,提示没有任何问题,但检测到模型生成的补全内容违反了内容筛选规则,导致补全内容被筛除。 如果服务不进行处理,则不需要支付费用。 例如,由于身份验证导致的 401 错误或由于超过速率限制导致的 429 错误。

获取对 Azure OpenAI 服务的访问权限

如何访问 Azure OpenAI?

访问大多数 Azure OpenAI 模型不需要有限访问注册表单。 在 Azure OpenAI 有限访问页上了解详细信息。

了解详细信息以及在何处提问

在哪里可以了解 Azure OpenAI 的最新更新?

有关每月更新,请参阅新增功能页面

我可以在哪里接受培训来开始学习并积累 Azure OpenAI 技能?

在哪里可以发布问题并查看其他常见问题的解答?

我在哪里可以获得 Azure OpenAI 客户支持?

Azure OpenAI 是 Azure AI 服务的一部分。 可以在支持和帮助选项指南中了解 Azure AI 服务的所有支持选项。

模型和微调

有哪些模型可用?

请参阅 Azure OpenAI 模型可用性指南

在哪里可以找到模型在哪个区域可用的信息?

有关区域可用性,请参阅 Azure OpenAI 模型可用性指南

Azure OpenAI 中的 SLA(服务级别协议)是什么?

我们确实为所有资源提供可用性 SLA,并为预配托管部署提供延迟 SLA。 有关 Azure OpenAI 服务的 SLA 的详细信息,请参阅联机服务的服务级别协议 (SLA) 页

如何启用微调? “创建自定义模型”在 Azure AI Studio 中灰显。

为了成功获取微调功能,你需要分配有 Azure 认知服务 OpenAI 参与者角色。 即使是具有高级服务管理员权限的人员也需要显式设置此帐户才能访问微调。 有关详细信息,请查看基于角色的访问控制指南

基本模型和微调模型的区别是什么?

基本模型是尚未针对特定用例进行自定义或微调的模型。 微调模型是基本模型的自定义版本,其中模型的权重是根据一组独特的提示进行训练的。 微调模型可让你在更多任务上取得更好的结果,而无需在完成提示中提供详细的上下文学习示例。 若要了解详细信息,请查看我们的微调指南

我最多可以创建多少个微调模型?

100

为什么经过微调的模型部署被删除了?

如果自定义(微调)模型是在超过 15 天前部署的且在此期间未对其进行补全或聊天补全调用,则将自动删除部署(针对该部署,不会产生进一步的托管费用)。 基础自定义模型仍将可用,并且可以随时重新部署。 要了解详细信息,请查看操作指南文章

如何使用 REST API 部署模型?

目前有两个不同的 REST API 允许模型部署。 对于最新的模型部署功能,例如在部署期间为 text-embedding-ada-002 版本 2 等模型指定模型版本的功能,请使用部署 - 创建或更新 REST API 调用。

是否可以使用配额来增加模型的最大令牌限制?

否,配额“每分钟令牌数 (TPM)”的分配与模型的最大输入令牌限制无关。 模型输入标记限制在模型表中定义,不受对 TPM 所做的更改的影响。

具有视觉的 GPT-4 Turbo

是否可以微调 GPT-4 中的图像功能?

否,我们目前不支持微调 GPT-4 的图像功能。

是否可以使用 GPT-4 来生成图像?

否,你可以使用 dall-e-3 来生成图像,用 gpt-4-vision-preview 来了解图像。

可以上传哪些类型的文件?

我们目前支持 PNG (.png)、JPEG(.jpeg 和 .jpg)、WEBP (.webp) 和非动画 GIF (.gif)。

对可以上传的图像大小是否有限制?

是,我们的图像上传限制为每个图像 20 MB。

是否可以删除上传的图像?

否,我们将在模型处理完图像后为你自动删除图像。

具有视觉的 GPT-4 Turbo 的速率限制是怎样的?

我们在标记级别处理图像,因此,我们处理的每个图像都计入你的每分钟标记数 (TPM) 限制。 有关用于确定每个图像的标记数的公式的详细信息,请参阅“概述”的图像标记部分

具有视觉的 GPT-4 Turbo 能否理解图像元数据?

否,模型不会接收图像元数据。

如果我的图像不清楚,会发生什么情况?

如果图像不明确或不清楚,模型将尽最大努力解释它。 但是,结果可能不太准确。 一个很好的经验法则是,如果一个普通人在低/高分辨率模式下看不到图像中的信息,那么模型也不能。

具有视觉的 GPT-4 Turbo 的已知局限性有哪些?

请参阅 GPT-4 Turbo with Vision 概念指南的局限性部分。

当我使用 GPT-4 Turbo 视觉模型时,我总是得到截断的响应。 为什么会发生这种情况?

默认情况下,GPT-4 vision-preview 和 GPT-4 turbo-2024-04-09max_tokens 值为 16。 根据你的请求,此值通常太低,可能会导致响应截断。 若要解决此问题,请在聊天补全 API 请求过程中传递更大的 max_tokens 值。 GPT-4o 默认为 4096 max_tokens。

助手

是否存储助手 API 中使用的任何数据?

是的。 与聊天补全 API 不同,Azure OpenAI 助手是一个有状态 API,这意味着它会保留数据。 助手 API 中存储有两种类型的数据:

  • 有状态实体:在助手使用期间创建的线程、消息和运行。
  • 文件:在助手设置期间上传的文件或消息中的文件。

此数据存储在何处?

数据存储在逻辑上分隔的安全的 Microsoft 托管存储帐户中。

此数据存储多长时间?

除非显式删除此数据,否则所有已使用的数据都会保留在此系统中。 将 delete 函数与要删除的线程的线程 ID 配合使用。 清除助手操场中的运行不会删除线程,但是使用 delete 函数删除线程后,这些线程就不会在线程页中列出。

是否可以将自带数据存储用于助手?

否。 目前助手仅支持上传到助手管理的存储的本地文件。 不能将你的私人存储帐户用于助手。

“助手”是否支持客户管理的密钥加密 (CMK)?

今天,我们为“助手”中的“线程”和“文件”支持 CMK。 有关此功能的可用区域,请参阅最近更新页

我的数据是否由 Microsoft 用于训练模型?

否。 数据不会由 Microsoft 用于训练模型。 有关详细信息,请参阅负责任的 AI 文档

数据存储在哪些地理位置?

Azure OpenAI 助手的终结点是区域性的,数据存储在与该终结点相同的区域中。 有关详细信息,请参阅 Azure 数据驻留文档

助理如何收费?

  • 用于每个助手(例如 gpt-4-0125)的基本模型的推理成本。 如果已创建多个助手,则需要为附加到每个助手的基本模型付费。
  • 如果已启用代码解释器工具。 例如,如果助手在两个不同的线程中同时调用代码解释器,则会创建两个代码解释器会话,其中每个会话都将收费。 每个会话默认处于活动状态一小时,这意味着,如果用户在同一线程中向代码解释器提供指令长达一小时,则你只需支付此费用一次。
  • 根据使用的矢量存储对文件搜索进行计费。

有关详细信息,请参阅定价页

使用助手是否有其他定价或配额?

否。 所有配额都适用于使用助手的模型。

助手 API 是否支持非 Azure OpenAI 模型?

助手 API 仅支持 Azure OpenAI 模型。

助手 API 是否已正式发布?

助手 API 目前提供公共预览版。 请定期访问新增功能页面,随时了解我们的最新产品更新。

可以使用哪些示例或其他资源来了解助手?

有关入门和使用助手的信息,请参阅概念性文章快速入门文章操作方法文章。 也可以在 GitHub 上查看 Azure OpenAI 助手代码示例。

Web 应用程序

如何自定义已发布的 Web 应用?

可以在 Azure 门户中自定义已发布的 Web 应用。 已发布的 Web 应用的源代码在 GitHub 上提供,可在 GitHub 中找到有关更改应用前端的信息,以及生成和部署应用的说明。

从 Azure AI Studio 再次部署应用时,是否会覆盖我的 Web 应用?

更新应用时,应用代码不会被覆盖。 应用将更新为使用 Azure OpenAI 资源、Azure AI 搜索索引(如果使用基于你的数据的 Azure OpenAI)以及在 Azure AI Studio 中选择的模型设置,而外观或功能无任何变化。

使用数据

基于数据的 Azure OpenAI 是什么?

基于数据的 Azure OpenAI 是 Azure OpenAI 服务的一项功能,可帮助组织使用指定的数据源生成自定义见解、内容和搜索。 它与 Azure OpenAI 中 OpenAI 模型的功能结合使用,以自然语言为用户查询提供更准确、更有用的响应。 基于数据的 Azure OpenAI 可以与客户的现有应用程序和工作流集成,提供关键绩效指标的见解,并且可以与用户无缝交互。

如何访问基于数据的 Azure OpenAI?

所有 Azure OpenAI 客户都可以通过 Azure AI Studio 和 Rest API 使用基于数据的 Azure OpenAI。

基于数据的 Azure OpenAI 支持哪些数据源?

基于数据的 Azure OpenAI 支持从 Azure AI 搜索、Azure Blob 存储引入以及上传本地文件。 可以从概念性文章快速入门中详细了解基于数据的 Azure OpenAI。

使用基于数据的 Azure OpenAI 的费用是多少?

使用基于数据的 Azure OpenAI 时,使用 Azure AI 搜索、Azure Blob 存储、Azure Web 应用服务、语义搜索和 OpenAI 模型会产生费用。 在 Azure AI Studio 中使用“你的数据”功能无需额外付费。

如何自定义或自动执行索引创建过程?

可以使用 GitHub 上提供的脚本自行准备索引。 使用此脚本将会创建一个 Azure AI 搜索索引,其中包含更好地使用数据所需的全部信息,并将文档细分为可管理的区块。 有关如何运行它的详细信息,请参阅包含数据准备代码的自述文件。

如何更新索引?

可以安排自动索引刷新,或将其他数据上传到 Azure Blob 容器,并在创建新索引时将其用作数据源。 新索引将包含容器中的所有数据。

基于数据的 Azure OpenAI 支持哪些文件类型?

有关支持的文件类型的详细信息,请参阅使用数据

基于数据的 Azure OpenAI 是否支持负责任 AI?

是,基于数据的 Azure OpenAI 是 Azure OpenAI 服务的一部分,与 Azure OpenAI 中提供的模型结合使用。 Azure OpenAI 的内容筛选和滥用监视功能仍然适用。 有关详细信息,请参阅 适用于 Azure OpenAI 模型的负责任 AI 做法概述Azure OpenAI 透明度说明,了解有关负责任地使用基于数据的 Azure OpenAI 的额外指导。

系统消息是否存在令牌限制?

是,系统消息的令牌限制为 400。 如果系统消息的令牌数超过 400 个,则会忽略前 400 个令牌之后的所有其余令牌。 此限制仅适用于 Azure OpenAI 的数据功能

Azure OpenAI 在你的数据上支持函数调用吗?

Azure OpenAI 在你的数据上当前不支持函数调用。

查询语言和数据源语言是否需要相同?

必须使用与数据相同的语言发送查询。 数据可以采用 Azure AI 搜索支持的任何语言。

如果为我的 Azure AI 搜索资源启用了语义搜索,它是否会自动应用于 Azure AI Studio 中基于你的数据的 Azure OpenAI?

选择“Azure AI 搜索”作为数据源时,可以选择应用语义搜索。 如果选择“Azure Blob 容器”或“上传文件”作为数据源,则可以像往常一样创建索引。 之后,将使用“Azure AI 搜索”选项重新引入数据,以选择相同的索引并应用语义搜索。 然后,你将准备好使用应用了语义搜索的数据来聊天。

为数据编制索引时,如何添加矢量嵌入?

选择“Azure Blob 容器”、“Azure AI 搜索”或“上传文件”作为数据源时,还可以选择引入数据时要使用的 Ada 嵌入模型部署。 这将创建具有矢量嵌入的 Azure AI 搜索索引。

为什么在添加嵌入模型后索引创建失败?

如果 Ada 嵌入模型部署的速率限制过低,或者有一组非常大的文档,则在向索引添加嵌入时,索引创建可能会失败。 可以使用 GitHub 上提供的此脚本手动创建包含嵌入的索引。

客户版权承诺

如何根据客户版权承诺享受权益?

客户版权承诺是 2023 年 12 月 1 日 Microsoft 产品条款中包括的一项规定,其描述了 Microsoft 有义务保护客户免受与输出内容相关的某些第三方知识产权索赔。 如果声明的主题是从 Azure OpenAI 服务(或涵盖的任何其他允许客户配置安全系统的生成式 AI 服务的产品)生成的输出内容,那么为了享受相关权益,客户必须在提供输出内容的产品/服务中实施 Azure OpenAI 服务文档要求的所有缓解措施。 此处记录并持续更新了所需的缓解措施。 对于新的服务、功能、模型或用例,新的 CCC 要求将在此类服务、功能、模型或用例启动后发布并生效。 否则,自发布之日起,客户将有六个月的时间实施新的缓解措施,以享受 CCC 的权益。 如果客户提出索赔,则客户需要证明符合相关要求。 涵盖的产品需要这些缓解措施,这些缓解措施允许客户配置安全系统,包括 Azure OpenAI 服务;它们不会影响使用其他涵盖产品的客户的覆盖范围。