Skip to content

模型选择策略

Sira AI 通过多层模型选择机制,实现灵活的模型使用和成本优化。

模型选择层次

三层模型选择

默认模型层 (全局)

Agent 模型层 (Agent 配置)

Orchestrator 编排层 (动态选择)

选择优先级

  1. Orchestrator 指定模型 - 最高优先级,由编排逻辑决定
  2. Agent 配置模型 - Agent 创建时指定的模型
  3. 默认模型 - 系统默认 LLM 模型

默认模型

作用

默认模型用于以下场景:

  • 快速测试: Web 客户端快速测试对话
  • Agent 创建: 新建 Agent 时的预选模型
  • Fallback: Agent 未指定模型时使用

设置默认模型

方法 1: 模型管理页面

  1. 进入 AI 模型配置模型管理
  2. 找到要设为默认的模型
  3. 点击设为默认按钮
  4. 该模型成为系统默认 LLM

方法 2: 编辑模型

  1. 点击模型的编辑按钮
  2. 勾选设为默认模型选项
  3. 保存

限制

只有包含 LLM 类型的模型可以设为默认。Embedding、Vision、Rerank 专用模型不能设为默认。

推荐配置

平衡型默认模型:

  • GPT-3.5-turbo: 性价比高,适合大部分场景
  • DeepSeek Chat: 中文优化,成本更低

高质量默认模型:

  • GPT-4o: 综合能力强,适合复杂任务
  • Claude 3.5 Sonnet: 推理能力强,长文本处理好

Agent 级别模型选择

Agent 模型配置

创建 Agent 时可以配置 4 种类型的模型:

json
{
  "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 模型:

配置步骤:

  1. 进入 Agent System智能体创建智能体
  2. 模型配置部分选择 LLM 模型
  3. 从下拉列表选择已创建的模型

选择建议:

  • 客服 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 配置决定:

json
{
  "type": "single",
  "agent_id": "agent_123"
}

模型使用:

  • 直接使用 Agent 配置的模型
  • 无动态切换

Supervisor 编排模式

Supervisor Agent 可以动态选择 Worker Agent:

json
{
  "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": ["数据分析", "推理"]
    }
  ]
}

动态模型切换:

  1. Supervisor 分析用户请求
  2. 根据任务类型选择合适的 Worker
  3. 不同 Worker 使用不同的模型
  4. 实现任务级别的模型优化

Collaboration 编排模式

多 Agent 协作,每个 Agent 使用各自的模型:

json
{
  "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 的模型,配置有序路由规则(conditiontarget_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
  - 深度推理
  - 复杂分析
  - 创意写作

实现方式:

  1. 创建 3 个不同能力的 Agent
  2. 使用 Supervisor 模式编排
  3. Supervisor 根据任务分配 Agent

本地 + 云端混合

降低高频任务成本:

混合策略:

  • 本地 Embedding: 免费,无限调用
  • 自部署 Rerank(TEI): 接入自有 TEI 服务,提升精度(本地 rerank 进程内推理已移除,改走远程 API)
  • 云端 LLM: 按需付费,保证质量

示例配置:

json
{
  "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 提供商)

流程:

  1. Embedding 向量检索 (本地,免费)
  2. Rerank 精准排序 (远程 TEI API)
  3. 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的单价)

优化方向:

  1. 识别高消耗模型
  2. 评估是否可以降级
  3. 调整 Orchestrator 策略
  4. 增加缓存机制

A/B 测试

通过创建不同配置的 Agent 进行对比:

测试方案:

  1. 创建两个 Agent: Agent A (GPT-4o), Agent B (GPT-3.5)
  2. 使用相同系统提示词
  3. 对比质量和成本
  4. 选择最佳配置

最佳实践

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:

  1. 进入 Agent System智能体
  2. 点击 Agent 的编辑按钮
  3. 修改模型配置部分
  4. 保存,立即生效

Q: 能否让 Agent 自动选择模型?

A: 可以,有两条路径:

  1. Agent 级 fallback chain:在 Agent 上配置 fallback_model_ids(FallbackChainPicker),主模型不可用时自动按链路降级。
  2. 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:

  1. 使用 Supervisor 模式
  2. 创建不同成本的 Agent
  3. Supervisor 根据任务选择
  4. 高频任务用经济型模型

Q: Orchestrator 可以中途切换模型吗?

A: 可以。在 Supervisor 和 Collaboration 模式下,不同步骤可以使用不同的 Agent (不同模型)。

Q: 如何测试不同模型的效果?

A:

  1. 创建多个相同功能的 Agent
  2. 使用不同的模型
  3. 通过 Application 测试对比
  4. 选择最佳配置

性能相关

Q: 模型切换会影响对话连续性吗?

A: 不会。Orchestrator 维护完整的对话上下文,模型切换对用户透明。

Q: 本地模型比云端慢吗?

A: 取决于硬件:

  • 高端 GPU (A100) → 接近云端速度
  • 中端 GPU (RTX 4090) → 稍慢但可接受
  • CPU → 显著慢,不推荐生产环境

Q: 如何提升响应速度?

A:

  1. 使用响应快的模型 (GPT-3.5, DeepSeek)
  2. 启用流式响应
  3. 本地部署减少网络延迟
  4. 优化 Orchestrator 逻辑

下一步

Apache-2.0 Licensed