许多企业都面临着如何在不超支的情况下利用人工智能技术潜力的挑战。我们深知这种平衡的重要性,并致力于提供解决方案,使我们的用户能够经济高效地利用人工智能。
我们的人工智能成本方法
首先,必须了解我们如何在提供人工智能功能优势的同时,降低用户的人工智能相关成本的两个重要组成部分。
透明定价:无隐藏费用
我们不会在人工智能相关任务上增加任何利润。这意味着您的人工智能支出成本与您的实际使用情况直接相关,我们不会收取任何额外的人工智能费用。您可以使用我们的人工智能支出计算器来估算您的潜在人工智能支出。
缓存人工智能响应
缓存是我们削减机器人人工智能成本的最有效策略之一。通过缓存人工智能响应,我们可以减少向LLM 提供商请求的次数,从而将查询成本降低约 30%,在不影响机器人与用户互动质量的前提下为您节省成本。
优化人工智能成本的技巧
现在,我们已经了解了降低用户人工智能花费的两种方法,让我们来看看在构建机器人时可以使用哪些技巧来进一步降低人工智能成本。
优化知识库
优化知识库(KB)可极大地影响人工智能支出,因为知识库通常是Botpress 项目中人工智能成本的最大驱动因素。
技巧 1:选择正确的人工智能模型
人工智能模型的选择对成本有很大影响。由于GPT-3.5 Turbo 比GPT-4 Turbo 更快、更便宜,我们建议在考虑升级到更高级的版本之前,先用GPT-3.5 Turbo 全面测试您的设置。
我们的 KB 代理混合模式提供了一个极佳的中间点,因为我们最初使用GPT-3.5 Turbo 尝试对查询做出响应,只有在必要时才升级到GPT-4 Turbo。
秘诀 2:保护您的 KB
您可以使用查找记录卡屏蔽知识库中不需要人工智能或智能回答的不必要的典型常见问题,从而减少人工智能支出。具体操作如下:如果您知道用户通常会问一个问题,而我们有 50 个知名问题及其答案,那么我们可以将它们添加到一个表中,然后使用查找记录卡查询该表。如果找不到答案,我们才会在知识库中查找。
窍门 3:正确划分 KB 的范围
根据要添加到知识库中的信息类型和数量,通常最好同时做两件事来降低 AI Spend 成本。首先,将信息组织成更小的知识库,每个知识库针对特定的产品/功能/主题。其次,通过工作流程向用户提出多个问题,将搜索范围缩小到特定知识库;这不仅能降低成本,还能获得更好的结果。
技巧 4:网站知识库数据源与搜索网络知识库数据源
如果您使用网站作为知识库数据源,但又不对网站进行持续更改,而这些更改又需要实时反映给机器人,那么一个经济有效的替代方法就是使用 "搜索网络 "作为知识库数据源,而不是网站知识库数据源。在过渡之前,请确保测试预期问题的性能不会因这一转换而降低。
技巧 5:使用查找记录或执行代码卡查询表
如果您有一个包含要查询数据的表,请考虑使用查找记录卡,而不是在 KB 中使用表。对于有技术专长的人来说,执行代码是查询表的一种更具成本效益的方法。您可以直接从执行代码卡中查询表,并将输出存储在工作流变量中,以便日后参考。
提示 6:控制块
我所说的块是指将从知识库中检索以生成答案的块的数量。一般来说,检索到的区块越多,答案就越准确——但生成 AI 代币需要更长的时间并花费更多的 AI 代币。尝试块大小,以确定仍能产生准确响应的最小量。
使用执行代码卡降低人工智能支出成本
执行代码卡可以替代某些人工智能卡,而且成本效益高。下面是一些可以考虑使用它们的场景:
更智能的信息替代方案
如果想让机器人每次都对同一查询发送不同的人工智能响应,就必须防止缓存(请参阅附录了解如何防止缓存)。在某些情况下,对话体验的改善可以证明人工智能花费的增加是合理的。但情况并非总是如此。
想想用LLMs 生成的简单问候语。每个问候语都会产生额外的人工智能支出费用。这值得吗?可能不值得。幸运的是,有一种经济有效的解决方法:使用一个包含多个响应的数组和一个简单的函数来随机获取一个值并将其呈现出来。
根据对话量的大小,采用这种方法所节省的费用是值得的。
简单任务的代码执行
对于简单的任务,如数据重新格式化或从结构化数据中提取信息,使用执行代码卡可能比依赖LLM 更有效、更便宜、更快捷。
简易代理的替代方案
您可以使用 Execute Code(执行代码)卡创建自己的副本。 将 Execute Code 卡放置在任何您想在数组变量中跟踪用户和机器人信息的地方。之后,您就可以使用该数组,将其作为上下文输入到您的 KB 中。
尽可能简化
在不降低用户体验的前提下,选择更简单的交互方式来实现同样的目标。例如,如果您想收集用户反馈,那么简单的星级评价系统和评论会比使用人工智能收集同样的信息更具成本效益。
有关人工智能任务、人工智能生成文本和翻译的提示
选择正确的人工智能模型
是的,选择正确的人工智能模型非常重要,值得一提两次。与 KB 类似,人工智能模型的选择也会对人工智能任务的成本产生重大影响。选择GPT-3.5 Turbo 来执行不太复杂的指令。在考虑升级到更高级的版本之前,请使用此型号全面测试您的设置。请记住,GPT-4 Turbo 的成本是GPT-3.5 Turbo 的 20 倍。除非效果更好,否则请选择GPT-3.5 Turbo。
除上述内容外,您还可以通过减少每次 AI 任务运行中消耗的代币数量来节省 AI 支出。
我的建议是有意识地减少这个数字,因为这将导致任何其他令牌被截断。例如,如果将长度限制为 2000 个令牌,并且提示加上输出超过 2000 个令牌,则您的输入将被相应地截断。
人工智能任务与人工智能生成文本
对于简单的文本输出,人工智能生成文本卡比人工智能任务卡使用的标记更少,也更容易设置。对于涉及信息解析的任务,人工智能任务卡的性能优于人工智能文本生成卡。
因此,我的建议是,如果您想使用人工智能处理信息(例如,如果您想检测用户的意图,或者如果您想让人工智能分析输入),请使用人工智能任务卡。但是,如果您想利用人工智能生成文本,那么请使用人工智能生成文本卡(例如,如果您想获取 KB 答案并对其进行扩展,或者如果您想创造性地生成一个问题)。
要深入了解人工智能任务卡和人工智能文本生成卡之间的区别,请点击此处。
翻译
如果您的机器人要处理大量多语言对话,可考虑将钩子与外部翻译服务集成,以获得更具成本效益的选择。
结论
有了这些策略和技巧,您就能在Botpress 中优化人工智能支出。了解不同任务的成本影响,并根据自己的需求选择最有效的方法,将在不影响性能的情况下减少人工智能相关支出。
我们的团队将帮助您浏览这些选项,确保您的机器人以最经济的成本为用户提供最佳体验。请访问我们的 定价页面了解更多信息,或访问我们的Discord 服务器寻求帮助。
附录
如何防止缓存
如果想克服缓存,始终获得实时结果,可以选择以下任一选项:
- For more permanent caching prevention: add `And discard:{{Date.now()}}` in all your AI-related cards (e.g., in the AI Task prompts, in the KB context, etc.).
- 为防止临时缓存:发布机器人,并在隐身窗口中进行测试。
注意:在所有条件相同的情况下,移除缓存层并不对机器人做任何其他改动,人工智能花费的成本就会增加。
推荐课程
- ChatGPT 面向开发人员的 Prompt 工程(虽然标题上写的是面向开发人员,但非开发人员也将从中受益)
- 使用ChatGPT API构建系统