分享好友 最新动态首页 最新动态分类 切换频道
OpenAI 生产环境最佳实践官方指南
2024-12-25 15:51

这份指南全面介绍了如何将产品原型发布到生产环境的最佳实践。不论你是资深的机器学习工程师还是刚入门的技术爱好者,这份指南都能为你提供在实际生产环境中成功应用该平台所需的各种工具和知识。内容涵盖从如何保护 API 访问安全到如何构建能应对高流量的架构。参考这份指南,可以帮助你更顺畅、高效地部署应用程序到生产环境。

OpenAI 生产环境最佳实践官方指南

想要深入了解生产环境的最佳实践,请参阅我们的开发者日讲座

https://youtu.be/XGJNo8TpuVA

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

属于多个组织的用户可以通过发送特定的请求头来选择用于 API 请求的特定组织。这些请求的使用量将计入相应组织的配额。如果没有指定请求头,默认的组织将被计费。你可以在用户设置中更改默认组织。

通过团队页面,你可以邀请新成员加入组织。成员分为 读者(readers 和 所有者(owners 两种角色:读者能够发起 API 请求和查看基本组织信息,而所有者则有权限修改计费信息和管理组织内的成员。

管理计费限制

为了使用 OpenAI API,请先在计费信息页面填写你的计费信息。如果你没有填写计费信息,虽然还能登录,但将无法发起 API 请求。

当您填写了账单信息后,您将获得 OpenAI 设置的每月最高 100 美元的使用限额。随着您在平台上的使用量逐渐增加,您将从一个使用层级过渡到另一个,您的使用限额也会相应提高。您可以在账户设置中的“限制”页面查看您目前的使用限额。

如果您希望在使用额度超出特定金额时接收通知,您可以在“使用限制”页面设置一个通知阈值。一旦达到这个阈值,组织的所有者会收到电子邮件通知。您还可以设定一个月度预算,一旦达到这个预算,任何额外的 API 请求都会被拒绝。请注意,由于技术上的局限,这些限制在实际使用量与设置的限制之间可能存在 5 到 10 分钟的延迟。

API 密钥

OpenAI 的 API 使用 API 密钥来进行认证。您可以访问“API 密钥”页面来获取在请求中使用的 API 密钥。

这是一种比较直接的访问控制方式,但您需要谨慎保护这些密钥。避免在代码或公开代码库中暴露您的 API 密钥,而应将它们储存在安全的地方。您应该通过环境变量或秘密管理服务来将密钥提供给您的应用程序,避免在代码中直接编写。更多关于 API 密钥安全的最佳实践,您可以参考我们的指导文章。

分阶段账户

随着您业务的扩大,您可能需要为分阶段环境和生产环境创建不同的组织。您可以使用两个不同的电子邮件地址,例如 bob+prod@widgetcorp.com 和 bob+dev@widgetcorp.com 来创建两个组织,这样可以有效地分离您的开发和测试工作,避免干扰到您的实时应用。这种方式还可以帮助您限制对生产组织的访问。

当您为生产环境设计利用我们的 API 的应用程序或服务时,考虑如何应对流量增长和扩大服务规模至关重要。无论您选择哪种云服务提供商,以下几个关键领域都需要特别关注

  • 水平扩展:为了应对来自多个来源的应用请求,您可能需要水平扩展应用程序。这可能意味着部署更多的服务器或容器以分担负载。选择水平扩展时,请确保您的架构能够处理多节点环境,并且有机制来均衡各节点间的负载。
  • 垂直扩展:另一种选择是增强单个节点的资源,即垂直扩展您的应用程序。这可能包括提升服务器性能以承载更大的负载。如果您选择垂直扩展,请确保应用程序能够充分利用这些增强的资源。
  • 缓存:通过储存经常访问的数据,您可以在无需频繁调用我们 API 的情况下提升响应速度。您的应用程序需要设计成能优先使用缓存数据,并在更新信息时及时更新缓存。实现缓存的方法有多种,例如,可以根据应用需求选择使用数据库、文件系统或内存缓存。
  • 负载均衡:最后,应考虑采用负载均衡技术,确保请求在所有服务器中均匀分配。这可能涉及在服务器前设置负载均衡器或采用 DNS 轮询技术。合理分配负载有助于提升性能,减少系统瓶颈。

使用我们的 API 时,了解并规划好请求限制是非常重要的。

延迟是指处理请求并返回结果所需的时间。本节将探讨影响我们文本生成模型延迟的因素,并提供降低延迟的建议。

请求补全(Completion)的延迟主要受两个因素的影响:使用的模型和生成的 Token 数量。一个请求补全的过程大致包括

网络用户到 API 的传输延迟
↓服务器处理输入 Token 的时间
↓服务器生成 Token 的时间
↓网络API 到用户的传输延迟

在这个过程中,大部分延迟通常源自 Token 生成步骤。

直观理解:在调用补全时,提示词(Prompt)的 Token 造成的延迟非常小。但生成这些补全用的 Token 要花费更多时间,因为它们是一个接一个产生的。生成长度越长,由于每个 Token 的生成,所累积的延迟也越多。

影响延迟的关键因素及改善方案

在掌握了延迟的基本概念后,让我们来看看哪些因素可能会影响延迟,这些因素大致按照影响程度从大到小排列。

模型选择

我们的 API 提供了各种不同的模型,这些模型在复杂性和适用性上有所不同。例如,像  这样能力更强的模型能生成更加复杂和多样的回答,但处理查询的时间也更长。而像  这样的模型虽然生成回答更快、成本更低,但可能在准确性或相关性上略逊一筹。您可以根据自己的需求和速度与质量之间的权衡来选择最适合的模型。

生成 Token 的数量

请求生成大量 Token 会导致延迟增加

  • 减少最大 Token 数:在生成数量相似的 Token 的请求中,设置较低的  参数可以减少延迟。
  • 使用停止序列:为了避免产生不必要的 Token,可以添加停止序列。比如,您可以使用停止序列来仅生成特定数量的列表项。例如,使用  作为停止序列,可以生成一个只有 10 个项目的列表,因为当生成到  时,程序就会停止。想了解更多,可以参考我们的停止序列使用指南。
  • 减少生成的补全数量:尽量减少  和  的值,其中  指生成每个提示的补全数量, 表示每个 Token 最高对数概率的结果。

当  和  都被设置为 1(这是默认的设定)时,生成的 Token(标记)数量不会超过 。

如果 (即返回的补全项数量)或 (即生成供选择的补全项数量)被设置为大于 1,每个请求就会产生多个输出。在这种情况下,生成的 Token 数量可以这样计算

流式处理

如果在请求中设置 ,模型会在 Token 一生成就立即返回,而不是等到整个 Token 序列都生成后才返回。这样做不会缩短生成所有 Token 的总时间,但可以减少获得首个 Token 的时间,这对于那些想要展示部分进度或可能需要提前终止生成过程的应用来说,可以提供更好的用户体验和 UX 改进,所以值得尝试使用流式处理技术。

基础设施

我们的服务器目前设在美国。虽然我们期望未来能在全球各地都有备份服务器,但在那之前,您可以考虑将您的相关基础设施部署在美国,以减少您的服务器与 OpenAI 服务器之间的往返时间。

批处理

根据您的使用情况,批量处理可能会有所帮助。如果您需要向同一端点发送多个请求,您可以选择批量发送提示,将多个提示放在同一个请求中发送。这样可以减少您需要发出的请求次数。每个提示参数最多可以包含 20 个不同的提示。我们建议您尝试这种方法,看看是否有效。但在某些情况下,这可能会增加生成的 Token 数量,从而延长响应时间。

要有效监控您的支出,您可以在账户中设置一个通知阈值,一旦您的使用量超过设定值,就会收到电邮提醒。另外,您也可以设定一个月度预算。但请留意,月度预算可能会对您的应用及用户造成一定的影响。您可以利用使用量跟踪仪表板来实时监控您目前和之前计费周期的 Token 使用情况。

文本生成

把您的原型项目投入生产环境时,预算控制尤为关键。OpenAI 提供了一个基于使用量的付费模式,按每 1,000 个 Token(约等于 750 个英文单词)计费。预估您的成本时,您需要估算 Token 的使用量,考虑因素包括访问量、用户与应用的互动频率以及您需要处理的数据量。

在考虑降低成本时,一个实用的方法是把成本看作是 Token 数量和每个 Token 成本的函数。 按照这个方法,您可以从两方面着手降低成本:一是通过使用更小的模型来降低每个 Token 的成本,二是尝试减少所需的 Token 数量。您可以通过使用更简短的提示、模型微调或缓存用户的常见查询来实现这一点,从而避免重复处理。

您可以尝试使用我们的Tokenizer 工具来估算成本。我们的 API 和 playground 在回应中也会提供 Token 的计数。在您的应用通过我们最强大的模型运行顺畅后,您可以尝试使用其他模型来看看是否能以更低的延迟和成本达到同样的效果。在我们的Token 使用帮助文章中可以了解更多信息。

在你将原型推向生产环节时,考虑制定一套 MLOps(机器学习运营)策略或许很有必要。MLOps 指的是管理机器学习模型从创建到弃用的整个生命周期,包括你可能通过我们的 API 微调的任何模型。制定 MLOps 策略时,你需要关注以下几个关键领域

  • 数据与模型管理:负责训练或微调模型所用数据的管理,以及追踪模型版本和变更。
  • 模型监控:持续追踪模型性能,并及时发现潜在问题或性能退化。
  • 模型重训练:确保模型能够适应数据变化或需求演进,并根据需要进行重训练或微调。
  • 模型部署:自动化地将模型及相关组件部署到生产环境。

深入考虑这些方面将帮助确保你的模型长期保持相关性和良好的性能。

将原型发布到生产环境时,还需要评估并解决你的应用可能面临的安全和合规要求。这包括审查你处理的数据,理解我们的 API 如何处理这些数据,以及确定你必须遵守的相关法规。你可以查阅我们的安全实践和信任与合规门户,了解最全面、最新的信息。此外,这里是我们的隐私政策和使用条款供参考。

你需要关注的一些常见领域包括数据存储、传输和保留。你还可能需要实施数据隐私保护措施,如可能时使用加密或匿名化。此外,应遵循安全编码的最佳实践,例如输入验证和恰当的错误处理。

安全操作最佳实践

在使用我们的 API 开发应用时,遵循安全操作最佳实践是至关重要的,以确保你的应用安全有效。这些建议强调全面测试产品的重要性,主动解决可能的问题,并限制滥用的可能性。

随着将人工智能 (AI) 应用的项目从概念原型发展到实际生产,如何利用 AI 打造优秀产品,并且确保这些产品与企业的核心业务紧密相连,这一点变得尤为重要。虽然我们不可能掌握所有问题的答案,但我们开发者日活动中的一场演讲是一个很好的开始。在这场演讲中,我们与我们的一些客户一起深入讨论了这个主题

https://youtu.be/knHW-p31R0c


最新文章
红米K80 Pro推送澎湃OS 2正式版内测 优化触控体验
  值得一提的是,小米澎湃OS 2上的Xiaomi HyperConnect技术现已全面支持苹果设备。只需在你的iPhone或iPad上安装“小米互联服务”应用程序,就可以轻松实现文件和图片在不同品牌设备之间的互传。版权所有,未经许可不得转载
常德微信商城小程序制作报价制作【常德微信商城小程序制作报价开发】
▶当下热门【社区团购】平台系统▶支持单商户、多商户商城系统▶分销、拼团、会员、秒杀等热门营销功能▶覆盖50+行业,超600+套免费商城模板 立即制作▶覆盖电脑网站、手机网站、、微信商城等多个展示终端▶性价比超高的电商系统开发方案,
成品人网站 W灬源码 1688——一款实用的网站源码,功能强大,操作便捷
在当今数字化时代,拥有一个功能强大且操作便捷的网站对于个人和企业来说至关重要。而 W灬源码 1688 就是这样一款备受赞誉的网站源码,它为用户提供了丰富的功能和卓越的性能,助力用户打造出令人印象深刻的网站。功能强大源码提供了多种精
TGA玩家之声最终提名名单”登B站热搜!网友:我被中国游戏包围了
直播吧12月10日讯 TGA 2024颁奖典礼将于12月13日上午8点半举行,官方今日公布了“玩家之声”进入最终投票的五款入围游戏,分别为《黑神话:悟空》、《绝区零》、《艾尔登法环:黄金树幽影》、《鸣潮》与《原神》。 点击加载图片 " t-rc="ht
新仿《北京时间》网站源码 帝国cms7.5内核新闻资讯门户网站模版+wap手机端
交易流程发货方式1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。交易周期
苹果Safari浏览器中的20几个隐藏技巧
Safari是苹果在和iPad上的默认网络浏览器。虽然我们天天都在使用,但是,你是否深入研究了Safari的所有功能和设置?无痕浏览、阅读器视图和下载文件等标准选项只是其中的一部分,还有更多操作等你去发现。如果升级到 15或iPadOS 15,就会有
秒杀活动工具,用发一发小程序
商家在做秒杀活动时,锁定目标用户群可是非常重要的一点,先要清楚参与活动顾客是什么类型的群体,更偏向什么样的产品需求,能更好的促使秒杀活动的成功。拥有一个秒杀活动工具也是活动成功的关键,那么秒杀活动工具有哪些?点击下方即可使
【新农人】安丘市农业考察团莅临广东新农...
 从1926年南洋归来的徐闻人倪国良在愚公楼村栽下第一棵菠萝,到种植范围由愚公楼扩大到全县,乃至跨出县域,广东省湛江市徐闻县的菠萝种植已经有了近一个世纪的历史。  在近百年发展的基础上,徐闻县近几年通过国家现代农业产业园创建,
给一个网站让做优化自然排名做到百度首页前三要怎么做
在开始进行网站优化之前,首先要明确我们的目标:将网站的自然排名提升到百度首页前三。这需要我们对网站的关键词、内容、结构、外部链接等多个方面进行全面优化。关键词研究与策略制定1. 选择合适的关键词:根据网站的主题和定位,选择具
融水网络推广优化,企业腾飞的新动力引擎
融水网络推广优化,成为企业发展的新引擎,通过精准策略提升品牌知名度,拓宽市场渠道,助力企业高效腾飞,实现业绩飞跃。随着互联网的飞速发展,网络营销已经成为企业品牌推广、产品销售的重要手段,在竞争激烈的今天,如何进行有效的融水
相关文章
推荐文章
发表评论
0评