[AI OpenAI-doc] 生产最佳实践

   日期:2024-12-26    作者:ywhaixing 移动:http://mip.riyuangf.com/mobile/quote/31587.html

本指南提供了一套全面的最佳实践,以帮助您从原型转向生产。无论您是经验丰富的机器学习工程师还是最近的爱好者,本指南都应为您提供成功将平台投入生产环境所需的工具:从确保访问我们的API到设计能够处理高流量的稳健架构。使用本指南帮助制定尽可能平稳有效地部署应用程序的计划。

[AI OpenAI-doc] 生产最佳实践

如果您想进一步探索投入生产的最佳实践,请查看我们的开发者日讨论:

登录到您的OpenAI账户后,您可以在组织设置中找到您的组织名称和ID。组织名称是您的组织的标签,在用户界面中显示。组织ID是您的组织的唯一标识符,可用于API请求。

属于多个组织的用户可以传递一个标头来指定哪个组织用于API请求。从这些API请求中的使用量将计入指定组织的配额。如果没有提供标头,则将对默认组织进行计费。您可以在用户设置中更改默认组织。

您可以从团队页面邀请新成员加入您的组织。成员可以是读者或所有者。读者可以进行API请求并查看基本的组织信息,而所有者可以修改计费信息并管理组织内的成员。

管理计费限制

要开始使用OpenAI API,请输入您的计费信息。如果没有输入计费信息,您仍然可以登录,但将无法进行API请求。

一旦您输入了您的计费信息,您将有一个每月100美元的批准使用限制,这是由OpenAI设置的。随着您在平台上的使用量增加并从一个使用层级转移到另一个使用层级,您的配额限制将自动增加。您可以在帐户设置中的限制页面查看您当前的使用限制。

如果您希望在使用量超过一定金额时收到通知,您可以通过使用限制页面设置通知阈值。当达到通知阈值时,组织所有者将收到电子邮件通知。您还可以设置一个月度预算,以便一旦达到月度预算,任何后续的API请求都将被拒绝。请注意,这些限制是尽力而为的,使用量和限制之间可能会有5到10分钟的延迟。

API密钥

OpenAI API使用API密钥进行身份验证。访问您的API密钥页面以检索您在请求中将使用的API密钥。

这是一种相对简单的控制访问方式,但您必须注意确保这些密钥的安全。避免在代码或公共存储库中暴露API密钥;相反,将它们存储在安全位置。您应该使用环境变量或秘密管理服务将密钥暴露给您的应用程序,这样您就不需要在代码库中硬编码它们。在我们的API密钥安全最佳实践中了解更多信息。

一旦启用跟踪,可以在使用情况API密钥的使用情况。如果您使用的是2023年12月20日之前生成的API密钥,则默认情况下将不会启用跟踪。您可以在API密钥管理仪表板上启用未来的跟踪。生成于2023年12月20日之后的所有API密钥都已启用跟踪。任何以前未跟踪的使用情况将显示为仪表板中的“未跟踪”。

暂存账户

随着规模扩大,您可能希望为暂存和生产环境创建单独的组织。请注意,您可以使用两个不同的电子邮件地址进行注册,比如bob+prod@widgetcorp.com和bob+dev@widgetcorp.com来创建两个组织。这样可以让您将开发和测试工作隔离开,以免意外干扰您的实际应用程序。您也可以通过这种方式限制对生产组织的访问。

在为使用我们的API的生产应用程序或服务设计时,考虑如何扩展以满足流量需求是很重要的。无论您选择的云服务提供商是谁,都有几个关键领域需要考虑:

在使用我们的API时,理解和规划速率限制至关重要。

请查看我们关于延迟优化的最新指南。 延迟是请求被处理并返回响应所需的时间。在本节中,我们将讨论一些影响我们文本生成模型延迟的因素,并提供如何减少延迟的建议。

完成请求的延迟主要受两个因素影响:模型和生成的标记数量。完成请求的生命周期如下:

延迟的大部分通常来自标记生成步骤。

直觉:提示标记对完成调用的延迟影响很小。生成完成标记的时间要长得多,因为标记是逐个生成的。较长的生成长度会由于需要为每个标记生成而累积延迟。

影响延迟的常见因素和可能的缓解技术

现在我们已经了解了延迟的基础知识,让我们来看一下各种可能影响延迟的因素,从最具影响力到最不具影响力的顺序。

模型

我们的API提供了不同复杂度和通用性水平的模型。最强大的模型,例如gpt-4,可以生成更复杂和多样化的完成,但它们处理您的查询所需的时间也更长。像gpt-3.5-turbo这样的模型可以生成更快、更便宜的聊天完成,但它们可能会生成与您的查询不太准确或相关的结果。您可以根据您的用例和速度与质量之间的权衡选择最适合您的模型。

完成标记数量

请求大量生成的标记完成可能会导致延迟增加:

如果n和best_of都等于1(这是默认值),生成的标记数量将最多等于max_tokens。

如果n(返回的完成数量)或best_of(用于考虑的生成完成数量)设置为> 1,则每个请求将创建多个输出。在这里,您可以将生成的标记数量考虑为max_tokens * max(n,best_of)。

流式传输

在请求中设置stream: true会使模型在可用时立即返回标记,而不是等待所有标记序列生成完毕。它不会改变获取所有标记的时间,但会减少首个标记的时间,适用于需要显示部分进度或将停止生成的应用程序。这可以提供更好的用户体验和UX改进,因此值得尝试使用流式传输。

基础设施

我们的服务器目前位于美国。虽然我们希望未来能够实现全球冗余,但在此期间,您可以考虑将基础设施的相关部分放置在美国,以最小化您的服务器与OpenAI服务器之间的往返时间。

批处理

根据您的用例,批处理可能会有所帮助。如果您将多个请求发送到同一端点,您可以将要发送的提示批处理到同一请求中。这将减少您需要进行的请求数量。prompt参数最多可以容纳20个唯一的提示。我们建议您测试此方法,看看是否有所帮助。在某些情况下,您可能会增加生成的标记数量,从而降低响应时间。

为了监控您的成本,您可以在您的账户中设置一个通知阈值,一旦您超过了某个使用阈值,您就会收到一封电子邮件提醒。您还可以设置一个月度预算。请注意,月度预算可能会对您的应用程序/用户造成中断。使用使用跟踪仪表板监视您在当前和过去的计费周期内的令牌使用情况。

文本生成

将原型转移到生产环境的一个挑战是为运行应用程序所需的成本做预算。OpenAI提供按照每1,000个标记计费的按需定价模式(大约相当于750个单词)。要估算您的成本,您需要预测标记的使用量。考虑因素包括流量水平、用户与您的应用程序交互的频率以及您将处理的数据量。

在思考如何降低成本时,一个有用的框架是将成本视为标记数量和每个标记的成本的函数。使用这个框架,有两个潜在的降低成本的途径。首先,您可以尝试通过切换到较小的模型来降低每个标记的成本,以降低成本。或者,您可以尝试减少所需的标记数量。您可以通过使用更短的提示、微调模型或缓存常见用户查询来实现这一点,从而降低成本。

您可以使用我们的交互式标记工具进行实验,以帮助您估算成本。API和游乐场还会在响应中返回标记计数。一旦您使用我们最强大的模型完成了相关工作,您可以查看其他模型是否能以更低的延迟和成本产生相同的结果。在我们的标记使用帮助文章中了解更多信息。

当您将原型转移到生产环境时,您可能希望考虑制定一个MLOps策略。MLOps(机器学习运营)指的是管理您的机器学习模型的端到端生命周期的过程,包括您可能正在使用我们的API进行微调的任何模型。在设计您的MLOps策略时,有一些方面需要考虑。其中包括:

深入思考您应用程序的这些方面将有助于确保您的模型随着时间的推移保持相关并表现良好。

当您将原型转移到生产环境时,您需要评估并解决可能适用于您的应用程序的任何安全和合规性要求。这将涉及检查您正在处理的数据,了解我们的API如何处理数据,并确定您必须遵守的法规。我们的安全实践和信任与合规性门户提供了我们最全面和最新的文档。供参考,这是我们的隐私政策和使用条款。

您需要考虑的一些常见领域包括数据存储、数据传输和数据保留。您可能还需要在可能的情况下实施数据隐私保护措施,例如加密或匿名化。此外,您应该遵循安全编码的最佳实践,例如输入净化和适当的错误处理。

安全最佳实践

在使用我们的API创建您的应用程序时,请考虑我们的安全最佳实践,以确保您的应用程序安全且成功。这些建议强调了广泛测试产品的重要性,积极解决潜在问题的重要性,并限制了误用的机会。

随着使用人工智能的项目从原型转向生产阶段,重要的是考虑如何利用人工智能构建出色的产品,以及这如何与您的核心业务联系起来。我们当然没有所有的答案,但一个很好的起点是我们开发者日活动中的一次讨论,我们在这个讨论中与一些客户进行了深入探讨:


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号