在创建提示词之前,了解它们的工作原理至关重要。 系统首先检索任何基于检索增强生成 (RAG) 的数据,例如与提示相关的 Dataverse 表。 然后它分析输入文档。 最后,大型语言模型(LLM)处理收集到的信息以及指令。
总输入越大,响应时间越长,文档数据是最重要的贡献者。
我们需要在提示约束的背景下考虑以下几点:
- 命令执行时间限制为 100 秒。
- 每个模型对组合输入(包括指令、数据和模型响应)有最大允许大小。
- 尽管我们定期增加GPU容量,但资源依然有限,且按区域和型号分配。
因此,你可能会遇到执行超时、令牌窗口限制、响应时间不一致或限速等问题。 以下做法可以帮助你减少这些问题。
选择最有效的模型来完成任务
更高级的型号通常响应时间更长。 始终从基础模型开始,然后考虑标准模型,高级模型只保留给真正需要的任务。
举例:在简单的情感分析任务中使用高级模型是不必要的。
优化模型输出长度
输出长度是影响响应时间和成本的最大单一因素。
约束模型
生成摘要或类似输出时,请指定字数或句数等限制。 没有约束的情况下,模型响应的长度、复杂度和时间可以有所不同。
示例: 用50个单词总结。
优化 JSON 结构
使用JSON输出时,通过简化结构和最小化密钥数量来降低复杂性。
示例:这两个输出包含相同信息,但输出2更紧凑且高效。
| 输出 1 | 输出 2 |
|---|---|
{"extracted data from document":{"Contoso internal policy number": "value"}} |
{"policy":"value"} |
只考虑必要的信息
避免让模型生成不会被使用的信息。 不必要的内容会增加成本和延迟。
举例:只有当需要人工验证或可审计时,才请求模型提供 理由 。
优化模型输入的大小
输入大小对响应时间和成本有适度影响,尤其是在处理文档或图像时。
避免重复
重复类似指令会增加成本,也可能让模型感到困惑。
示例:避免提供多条传达相同需求的指令。
将数字转换为美国格式……分析内容时,务必使用美国规范
简洁
模型理解简洁直接的指令。 简短提示更容易处理,通常能提供更精确的结果。
示例:第二个提示更高效。
- 从该[内容]生成摘要。 摘要必须专业且以项目符号形式排列。
- 用专业语气的要点总结[内容]。
减少输入大小
输入内容往往与分析无关(例如HTML标签、重复的邮件签名、模板文本)。 尽可能预处理内容:提取文本、整理格式,或在发送到更复杂的提示前对大段进行摘要。
举例:在分析带有提示的邮件时,在工作流程中使用 Html 转文本 动作。
仅在需要时处理文件
文件处理成本高昂。 如果你反复使用同一份文档,建议只提取一次内容并重复使用,而不是每次都重新处理。
示例:在此示例中,[指南文档] 不应在每次运行时处理,而应以文本形式提供给提示。 请参考这份[指导文件],从这份[待处理的文档]中提取信息。
分段处理长文档
长文档可能导致超时或超出令牌限制。 如果可能,可以逐步、逐页处理内容,或者提前截断不必要的页面。 这同样适用于电子邮件等其他内容类型,它们只提供最新线程。
示例:使用 AI Builder 类别中的识别图像或文档中的文本操作来获取页面内容,并使用“应用到每个”功能来处理每个页面结果。
应用检索增强生成(RAG)时使用滤波器
在从Dataverse表等来源添加业务上下文时,只检索必要的字段并应用筛选以减少数据集。
示例:按 计算机设备 系列筛选产品,并在匹配邮件中的产品名称前只检索 名称 字段。