模型选择策略
Sira AI 通过多层模型选择机制,实现灵活的模型使用和成本优化。
模型选择层次
三层模型选择
默认模型层 (全局)
↓
Agent 模型层 (Agent 配置)
↓
Orchestrator 编排层 (动态选择)选择优先级
- Orchestrator 指定模型 - 最高优先级,由编排逻辑决定
- Agent 配置模型 - Agent 创建时指定的模型
- 默认模型 - 系统默认 LLM 模型
默认模型
作用
默认模型用于以下场景:
- 快速测试: Web 客户端快速测试对话
- Agent 创建: 新建 Agent 时的预选模型
- Fallback: Agent 未指定模型时使用
设置默认模型
方法 1: 模型管理页面
- 进入 AI 模型配置 → 模型管理
- 找到要设为默认的模型
- 点击设为默认按钮
- 该模型成为系统默认 LLM
方法 2: 编辑模型
- 点击模型的编辑按钮
- 勾选设为默认模型选项
- 保存
限制
只有包含 LLM 类型的模型可以设为默认。Embedding、Vision、Rerank 专用模型不能设为默认。
推荐配置
平衡型默认模型:
- GPT-3.5-turbo: 性价比高,适合大部分场景
- DeepSeek Chat: 中文优化,成本更低
高质量默认模型:
- GPT-4o: 综合能力强,适合复杂任务
- Claude 3.5 Sonnet: 推理能力强,长文本处理好
Agent 级别模型选择
Agent 模型配置
创建 Agent 时可以配置 4 种类型的模型:
{
"name": "客服助手",
"llm_model_id": "gpt-3.5-turbo的ID", // 主对话模型 (必填)
"embedding_model_id": "embedding的ID", // 知识库检索 (可选)
"vision_model_id": "gpt-4o的ID", // 图像理解 (可选)
"rerank_model_id": "rerank的ID" // 重排序 (可选)
}LLM 模型 (必填)
每个 Agent 必须配置一个 LLM 模型:
配置步骤:
- 进入 Agent System → 智能体 → 创建智能体
- 在模型配置部分选择 LLM 模型
- 从下拉列表选择已创建的模型
选择建议:
- 客服 Agent: GPT-3.5 或 DeepSeek Chat
- 分析 Agent: GPT-4o 或 Claude 3.5 Sonnet
- 代码 Agent: DeepSeek Coder
- 创作 Agent: GPT-4o 或 Claude 3.5 Sonnet
Embedding 模型 (可选)
当 Agent 使用知识库检索工具时需要配置:
何时配置:
- Agent 绑定了知识库工具
- 使用 RAG (检索增强生成)
- 需要语义搜索功能
推荐模型:
- text-embedding-3-small: 性价比高
- text-embedding-3-large: 精度更高
- BGE-M3: 本地部署,免费
Vision 模型 (可选)
当 Agent 需要处理图片时配置:
何时配置:
- 用户会发送图片消息
- 需要分析图表和截图
- 多模态任务场景
推荐模型:
- GPT-4o: 综合能力最强
- Claude 3.5 Sonnet: 视觉理解精准
- Qwen-VL-Plus: 中文视觉模型
重用 LLM
如果 LLM 模型支持 Vision (如 GPT-4o),可以在 vision_model_id 中选择同一个模型。
Rerank 模型 (可选)
用于优化知识库检索精度:
何时配置:
- 知识库较大 (>1000 条文档)
- 检索精度要求高
- 需要减少噪音结果
推荐模型:
- 远程 Rerank API(如 TEI 服务 / Cohere Rerank / Jina Rerank)
本地 rerank 已移除
内置的本地 rerank(原 BGE-Reranker 进程内推理)已于 2026-06-12 移除。现在 rerank 仅支持远程 API —— 可通过 tei 提供商接入自部署的 TEI 服务(默认 http://reranker:80),或接入 Cohere / Jina 等商业 API。
Orchestrator 层面策略
Single 编排模式
使用单个 Agent,模型选择由 Agent 配置决定:
{
"type": "single",
"agent_id": "agent_123"
}模型使用:
- 直接使用 Agent 配置的模型
- 无动态切换
Supervisor 编排模式
Supervisor Agent 可以动态选择 Worker Agent:
{
"type": "supervisor",
"supervisor_agent_id": "supervisor_agent_123",
"worker_agents": [
{
"agent_id": "code_agent_456", // 使用 DeepSeek Coder
"capabilities": ["编程", "代码分析"]
},
{
"agent_id": "analysis_agent_789", // 使用 GPT-4o
"capabilities": ["数据分析", "推理"]
}
]
}动态模型切换:
- Supervisor 分析用户请求
- 根据任务类型选择合适的 Worker
- 不同 Worker 使用不同的模型
- 实现任务级别的模型优化
Collaboration 编排模式
多 Agent 协作,每个 Agent 使用各自的模型:
{
"type": "collaboration",
"agents": [
{
"agent_id": "research_agent", // 使用 Claude 3.5 Sonnet
"role": "研究员"
},
{
"agent_id": "writer_agent", // 使用 GPT-4o
"role": "撰稿人"
}
]
}模型协作:
- Research Agent: 使用长文本模型分析
- Writer Agent: 使用创意模型撰写
- 发挥各模型优势
LLM 策略引擎(Policy Engine)
除了上面"按层选模型"的人工编排,平台还内置了一套 LLM 策略引擎,在运行时自动处理路由、降级、限流和保护:
AutoRouter(auto 提供商智能调度)
创建一个 provider=auto 的模型,配置有序路由规则(condition → target_model_id)。按 has_vision / has_tools / requires_thinking / max_input_tokens / channel 等维度,在运行时把每个请求转发到最合适的具体模型。必须含一条兜底(catch-all)规则。详见 模型管理 → Auto 智能调度模型。
Agent 级 Fallback Chain
在 Agent 上配置 fallback_model_ids(前端 FallbackChainPicker)。主模型出错或不可用时,按链路依次降级到下一个模型,保证对话不中断。
配额(QuotaPolicy)
按 范围 / 窗口 / 指标 / 上限 / 模式 给模型设额度;enforce 模式触顶返回 HTTP 429,warning 模式仅日志告警。详见 模型管理 → 配额限制。
熔断(CircuitBreakerPolicy)
每个模型有独立熔断器(closed / open / half_open),基于近 60 秒滑动窗口的错误率自动熔断,避免对故障上游持续打无效请求。可在模型列表行的盾牌图标查看状态并手动重置。
成本优化策略
分层模型策略
根据任务复杂度使用不同成本的模型:
策略配置:
简单任务 Agent → GPT-3.5 / DeepSeek Chat
- 日常客服
- 简单问答
- FAQ查询
中等任务 Agent → GPT-4o-mini
- 内容总结
- 数据提取
- 一般分析
复杂任务 Agent → GPT-4o / Claude 3.5 Sonnet
- 深度推理
- 复杂分析
- 创意写作实现方式:
- 创建 3 个不同能力的 Agent
- 使用 Supervisor 模式编排
- Supervisor 根据任务分配 Agent
本地 + 云端混合
降低高频任务成本:
混合策略:
- 本地 Embedding: 免费,无限调用
- 自部署 Rerank(TEI): 接入自有 TEI 服务,提升精度(本地 rerank 进程内推理已移除,改走远程 API)
- 云端 LLM: 按需付费,保证质量
示例配置:
{
"name": "知识库助手",
"llm_model_id": "gpt-4o的ID", // 云端
"embedding_model_id": "local_bge_m3的ID", // 本地
"rerank_model_id": "local_reranker的ID" // 本地
}成本对比:
- 纯云端: $20 / 1M 请求
- 混合模式: $5 / 1M 请求 (降低 75%)
缓存策略
通过 Orchestrator 实现智能缓存:
缓存场景:
- 相同问题的答案缓存
- FAQ 问题直接命中
- 减少 LLM 调用次数
实现: 在 Orchestrator 中添加缓存层,相似问题直接返回缓存结果。
使用场景示例
场景 1: 客服系统
需求:
- 日常咨询量大
- 成本控制要求严格
- 需要处理图片
策略:
Supervisor Orchestrator
├── FAQ Agent (DeepSeek Chat)
│ └── 处理常见问题,成本低
├── 普通客服 Agent (GPT-3.5)
│ └── 处理一般咨询
└── 高级客服 Agent (GPT-4o + Vision)
└── 处理复杂问题和图片成本优化:
- 70% 简单问题 → DeepSeek ($0.5/1M)
- 25% 一般咨询 → GPT-3.5 ($2/1M)
- 5% 复杂问题 → GPT-4o ($20/1M)
- 平均成本: $2.1/1M (相比全用 GPT-4o 降低 90%)
场景 2: 知识库问答
需求:
- 大量文档检索
- 精准度要求高
- 响应速度快
策略:
Single Orchestrator
└── 知识库 Agent
├── LLM: GPT-4o
├── Embedding: 本地 BGE-M3
└── Rerank: 远程 TEI 服务(tei 提供商)流程:
- Embedding 向量检索 (本地,免费)
- Rerank 精准排序 (远程 TEI API)
- LLM 生成回答 (云端,按需)
成本优化:
- Embedding: 免费
- Rerank: 自部署 TEI,仅硬件成本
- LLM: 仅对最终回答计费
场景 3: 代码助手
需求:
- 代码理解和生成
- 技术文档分析
- 多语言支持
策略:
Collaboration Orchestrator
├── 代码分析 Agent (DeepSeek Coder)
├── 文档查询 Agent (Claude 3.5 Sonnet)
└── 代码生成 Agent (GPT-4o)模型分工:
- DeepSeek: 代码理解,性价比高
- Claude: 长文档分析,理解准确
- GPT-4o: 代码生成,质量最高
监控和优化
使用统计
在模型管理页面查看:
- 总请求数: 每个模型的调用次数
- 总 Token 数: Token 消耗统计
- 最后使用时间: 模型活跃度
成本分析
计算公式:
月成本 = Σ (模型i的Token数 × 模型i的单价)优化方向:
- 识别高消耗模型
- 评估是否可以降级
- 调整 Orchestrator 策略
- 增加缓存机制
A/B 测试
通过创建不同配置的 Agent 进行对比:
测试方案:
- 创建两个 Agent: Agent A (GPT-4o), Agent B (GPT-3.5)
- 使用相同系统提示词
- 对比质量和成本
- 选择最佳配置
最佳实践
Agent 模型选择
原则 1: 按任务选模型
- 不同任务创建专门的 Agent
- 每个 Agent 使用最适合的模型
- 避免"一刀切"
原则 2: 充分利用 Orchestrator
- 使用 Supervisor 实现动态路由
- 根据任务复杂度选择 Agent
- 实现任务级别成本优化
原则 3: 本地优先
- Embedding 优先本地部署
- Rerank 走远程 API(可自部署 TEI 服务,本地进程内 rerank 已移除)
- LLM 根据需求选择云端或本地
Orchestrator 策略
原则 1: 分层处理
- 简单任务不调用高端模型
- 复杂任务才使用 GPT-4o 等
- Supervisor 负责任务分类
原则 2: 模型复用
- 同类 Agent 共享模型配置
- 减少模型创建数量
- 便于统一管理
原则 3: 监控优化
- 定期查看使用统计
- 分析成本分布
- 持续优化策略
常见问题
配置相关
Q: 如何更换 Agent 的模型?
A:
- 进入 Agent System → 智能体
- 点击 Agent 的编辑按钮
- 修改模型配置部分
- 保存,立即生效
Q: 能否让 Agent 自动选择模型?
A: 可以,有两条路径:
- Agent 级 fallback chain:在 Agent 上配置
fallback_model_ids(FallbackChainPicker),主模型不可用时自动按链路降级。 - Auto 路由模型(AutoRouter):把一个
provider=auto的模型挂给 Agent,它会按规则(has_vision/has_tools/requires_thinking/max_input_tokens/channel)动态选择具体目标模型。
此外仍可用 Supervisor Orchestrator 做任务级别的动态模型选择。详见下文「LLM 策略引擎」。
Q: 默认模型的作用是什么?
A:
- Agent 创建时的预选项
- Web 客户端快速测试
- Agent 未配置模型时的 fallback
策略相关
Q: 如何实现成本最优?
A:
- 使用 Supervisor 模式
- 创建不同成本的 Agent
- Supervisor 根据任务选择
- 高频任务用经济型模型
Q: Orchestrator 可以中途切换模型吗?
A: 可以。在 Supervisor 和 Collaboration 模式下,不同步骤可以使用不同的 Agent (不同模型)。
Q: 如何测试不同模型的效果?
A:
- 创建多个相同功能的 Agent
- 使用不同的模型
- 通过 Application 测试对比
- 选择最佳配置
性能相关
Q: 模型切换会影响对话连续性吗?
A: 不会。Orchestrator 维护完整的对话上下文,模型切换对用户透明。
Q: 本地模型比云端慢吗?
A: 取决于硬件:
- 高端 GPU (A100) → 接近云端速度
- 中端 GPU (RTX 4090) → 稍慢但可接受
- CPU → 显著慢,不推荐生产环境
Q: 如何提升响应速度?
A:
- 使用响应快的模型 (GPT-3.5, DeepSeek)
- 启用流式响应
- 本地部署减少网络延迟
- 优化 Orchestrator 逻辑
下一步
- 模型管理 - 创建和配置模型
- 多模型配置 - 理解不同类型模型
- 创建 Agent - 配置 Agent 模型
- Orchestrator 配置 - 实现模型编排策略
