回退
此功能在所有 Portkey 计划中均可用。
在市场上有多种语言模型 API 可用,每种都有其自身的优势和特长,如果您可以根据它们的性能或可用性无缝切换该多好呢?Portkey 的回退功能正是为了实现这一点。
回退功能允许您按优先顺序指定提供者/模型的列表。如果主要的 LLM 无法响应或遇到错误,Portkey 将自动回退到列表中的下一个 LLM,从而确保您应用程序的稳健性和可靠性。
在LLMs上启用回退
要启用回退,您可以修改config object以包含fallback模式。
这是一个快速示例配置,当OpenAI的gpt-4o失败时,回退到Anthropic的claude-3.5-sonnet。
{
"strategy": {
"mode": "fallback"
},
"targets": [
{
"virtual_key": "openai-virtual-key",
"override_params": {
"model": "gpt-4o"
}
},
{
"virtual_key": "anthropic-virtual-key",
"override_params": {
"model": "claude-3.5-sonnet-20240620"
}
}
]
}在这种情况下,如果OpenAI模型遇到错误或未能响应,Portkey将自动使用Anthropic重试请求。
在特定错误代码上触发回退
默认情况下,任何返回 非 2xx 状态码的请求都会触发回退。
您可以通过在回退配置中设置可选的 on_status_codes 参数,并手动输入将触发回退的状态码来更改此行为。
在这里,只有当 OpenAI 请求返回 429 错误代码(即速率限制错误)时,才会从 OpenAI 回退到 Azure OpenAI。
追踪 Portkey 的回退请求
Portkey 记录所有作为回退配置一部分发送的请求。这使您能够轻松追踪并查看哪些目标失败,以及哪些目标最终成功。
要查看您的回退追踪,
在日志页面,首先使用您设置回退的特定
Config ID过滤日志 - 这将显示所有已使用该配置发送的请求。现在,通过进一步过滤
Trace ID来追踪单个请求及其所有失败和成功的日志 - 这将显示源自单个请求的所有日志。

注意事项与考虑
虽然 LLMs 的回退功能大大增强了应用程序的可靠性和韧性,但仍有一些事项需要考虑:
确保回退列表中的 LLMs 与您的用例兼容。并非所有 LLMs 都提供相同的功能。
关注您与每个 LLM 的使用情况。根据您的回退列表,单个请求可能会导致多个 LLM 的调用。
了解每个 LLM 的延迟和定价。回退到不同的 LLM 可能会对成本和响应时间产生影响。
Last updated