你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注释
本文介绍 Microsoft Foundry (new) 门户。
本文介绍 Foundry 代理服务的配额和限制。 了解这些限制有助于设计能够可靠扩展的代理,并避免生产环境中的运行时错误。
配额和限制如何应用
Foundry 智能体服务在两个位置强制实施限制:
- 代理服务限制。 代理和线程项目的限制,例如文件上传、矢量存储附件、消息计数和工具注册。
- 模型限制。 代理调用的模型部署的配额和速率限制。
如果使用线程和消息,请参阅 Foundry 代理服务中的线程、运行和消息。 如果使用文件搜索,请参阅 用于文件搜索的矢量存储解决方案。
服务的默认配额和限制
下表列出了代理服务强制实施的默认限制。 无论订阅类型或区域如何,这些限制都适用于所有 Foundry 项目。
| 限制名称 | 限制值 |
|---|---|
| 每个代理/线程的最大文件数 | 10,000 |
| 智能体的最大文件大小 | 512 MB |
| 代理的所有上传文件的最大大小 | 300 GB |
| 用于附加到矢量存储的令牌中的最大文件大小 | 2,000,000 个令牌 |
| 每个线程的最大消息数 | 100,000 |
每条消息的最大内容大小text |
1,500,000 个字符 |
| 每个代理注册的最大工具数 | 128 |
代理服务不会对 API 调用施加单独的速率限制。 速率限制应用于模型部署层面。 有关特定于模型的速率限制,请参阅 Azure OpenAI 配额和限制 。
处理限制错误
如果超出限制,代理服务将返回错误。 在应用程序中妥善处理这些错误。
| 错误情景 | HTTP 状态 | 错误代码 | 建议的措施 |
|---|---|---|---|
| 文件太大 | 400 | file_size_exceeded |
将内容拆分为较小的文件 |
| 矢量存储标记限制 | 400 | token_limit_exceeded |
减少文件内容或拆分文件 |
| 线程消息上限 | 400 | message_limit_exceeded |
创建新线程 |
| 消息内容太大 | 400 | content_size_exceeded |
针对大型内容使用文件搜索 |
| 工具过多 | 400 | tool_limit_exceeded |
删除未使用的工具 |
| 已超出速率上限 | 429 | rate_limit_exceeded |
实施指数退避 |
例如:
- 文件超过最大大小:上传文件失败。 在上传之前,将内容拆分为较小的文件或减小文件大小。
- 矢量存储令牌限制:如果文件超出令牌限制,将文件附加到向量存储会失败。 减少文件内容或将其拆分为多个文件。
- 线程消息上限:在线程达到消息限制后,添加消息可能会失败。 为新会话创建新线程,或者在应用程序设计过程中存档和轮换线程。
-
消息内容大小:如果内容太大,
text创建消息可能会失败。 发送较小的消息,或将大型内容移动到文件中并使用文件搜索。 - 工具注册上限:如果注册了太多工具,创建或更新代理可能会失败。 仅注册所需的工具,并优先选择较少且可重复使用的工具。
有关文件搜索方案,请参阅 用于文件搜索的矢量存储 ,以获取有关管理矢量存储增长的指导。
在限制条件下的最佳做法
使用以下做法来减少与限制相关的故障:
- 保持文件小巧且专注。 首选多个较小的文档而不是单个大型文档。
- 避免非常大的消息。 将长内容放入上传的文件中,并使用文件搜索对其进行查询。
- 规划长时间对话。 将线程视为会话状态,并在会话变得很长时轮换到新线程。
- 仅注册所需的工具。 从代理定义中删除未使用的工具。
- 监视使用趋势。 使用 Foundry Agent Service 指标 来跟踪代理的活动,以便在达到限制之前识别增长。
模型的配额和限制
代理遵循其使用的模型部署的配额和速率限制。
有关当前模型配额和限制,请参阅:
若要查看或请求更多模型配额,请参阅 使用 Microsoft Foundry (Foundry 项目)管理和增加资源的配额。
请求调高限制
本文中的限制是 Foundry 代理服务的默认值。 如果工作负荷需要更高的限制:
- 模型配额:可以请求增加模型部署配额。 请参阅 使用 Microsoft Foundry 管理和增加资源的配额。
- 代理服务限制:本文中列出的文件、消息和工具限制是固定的服务限制,无法增加。 使用前面所述的最佳做法设计应用程序以在这些约束中工作。