Skip to content

模型配置

MyDeskBot 支持多种 AI 模型,您可以根据需求选择最适合的模型。

目录

支持的模型

OpenAI

模型上下文速度成本适用场景
gpt-4128K复杂任务、代码生成
gpt-4-turbo128K日常开发、分析
gpt-4-turbo-preview128K最新功能测试
gpt-3.5-turbo16K很快简单查询、补全

Anthropic Claude

模型上下文速度成本适用场景
claude-3-opus200K长文档分析、复杂推理
claude-3-sonnet200K平衡选择、多场景通用
claude-3-haiku200K很快快速响应、简单任务

其他模型

提供商模型特点
Google Geminigemini-pro长上下文、多模态
Azure OpenAI各种 GPT 模型企业级、合规性
Ollama本地开源模型隐私、离线可用

模型选择指南

按使用场景选择

代码生成

推荐:gpt-4claude-3-opus

bash
mydeskbot ask -m gpt-4 "生成一个完整的 REST API 服务"

代码审查

推荐:gpt-4-turboclaude-3-sonnet

bash
mydeskbot ask -m claude-3-sonnet -c app.py "审查这段代码"

快速查询

推荐:gpt-3.5-turboclaude-3-haiku

bash
mydeskbot ask -m gpt-3.5-turbo "Python 中列表和元组的区别"

长文档分析

推荐:claude-3-opus(200K 上下文)

bash
mydeskbot ask -m claude-3-opus -c large_document.md "总结这个文档"

按性能需求选择

需求推荐模型原因
最高质量gpt-4, claude-3-opus最强的推理能力
平衡性价比gpt-4-turbo, claude-3-sonnet质量与成本的平衡
最快响应gpt-3.5-turbo, claude-3-haiku响应速度快
隐私优先本地模型(Ollama)数据不离本地
企业合规Azure OpenAI合规性认证

配置模型

设置默认模型

bash
# 命令行设置
mydeskbot config set model gpt-4

# 或使用环境变量
export MYDESKBOT_MODEL="gpt-4"

为不同任务配置不同模型

json
{
  "model": {
    "default": "gpt-4",
    "chat": "gpt-4-turbo",
    "code": "gpt-4",
    "completion": "gpt-3.5-turbo",
    "review": "claude-3-sonnet"
  }
}

配置多个模型

bash
# 设置主模型
mydeskbot config set api.key sk-openai-key

# 配置 Anthropic 模型
mydeskbot config set anthropic.key sk-ant-key
mydeskbot config set anthropic.model claude-3-opus

模型参数

Temperature(温度)

控制输出的随机性和创造性:

效果适用场景
0.0-0.3确定、一致代码生成、事实性内容
0.4-0.7平衡日常开发、一般对话
0.8-1.0创造性创意写作、头脑风暴
1.0-2.0非常随机探索性任务
bash
# 设置温度
mydeskbot ask -t 0.3 "生成 SQL 查询"
mydeskbot ask -t 0.8 "写一个创意故事"

Max Tokens(最大输出长度)

控制响应的最大长度:

任务推荐值原因
代码补全256-512通常只需少量代码
代码生成2000-4000完整函数/类
文档生成1000-2000适中的文档长度
解释说明1000-1500清晰的解释
长篇内容4000+完整的文章或文档
bash
# 设置最大 tokens
mydeskbot ask --max-tokens 4000 "生成完整的 API 文档"

Top P(核采样)

另一种控制随机性的方法(通常与 Temperature 二选一):

bash
# 使用 Top P
mydeskbot ask --top-p 0.9 "生成代码"

Frequency Penalty(频率惩罚)

减少重复内容:

bash
# 增加多样性
mydeskbot ask --frequency-penalty 0.5 "列出 10 个 JavaScript 框架"

Presence Penalty(存在惩罚)

鼓励讨论新话题:

bash
# 鼓励新想法
mydeskbot ask --presence-penalty 0.3 "讨论不同的编程范式"

高级配置

自定义模型端点

json
{
  "api": {
    "base": "https://custom-api.example.com/v1",
    "key": "your-custom-key"
  },
  "model": {
    "custom-model": "my-model-v1"
  }
}

模型回退

json
{
  "model": {
    "default": "gpt-4",
    "fallback": "gpt-3.5-turbo",
    "fallback_on_error": true
  }
}

模型切换规则

json
{
  "model_selection": {
    "rules": [
      {
        "condition": "context_length > 10000",
        "model": "claude-3-opus"
      },
      {
        "condition": "task == 'code_review'",
        "model": "claude-3-sonnet"
      },
      {
        "condition": "task == 'quick_query'",
        "model": "gpt-3.5-turbo"
      }
    ]
  }
}

模型性能优化

批量请求

bash
# 处理多个问题时,使用批量模式
mydeskbot batch --input questions.txt --output answers.json

流式输出

bash
# 启用流式输出(默认启用)
mydeskbot ask "生成代码"

# 禁用流式输出
mydeskbot ask --no-stream "生成代码"

缓存结果

bash
# 启用缓存
mydeskbot config set cache.enabled true

# 设置缓存过期时间
mydeskbot config set cache.ttl_hours 24

成本估算

估算成本

bash
# 估算请求成本
mydeskbot estimate -m gpt-4 -t 2000 "生成代码"

# 输出示例
# 预计输入 tokens: 150
# 预计输出 tokens: ~2000
# 预计成本: $0.06

成本控制

json
{
  "cost_control": {
    "max_daily_cost": 10.0,
    "max_request_cost": 1.0,
    "alert_threshold": 5.0,
    "model_preference": "cost_effective"
  }
}

故障排除

模型不可用

bash
# 检查模型状态
mydeskbot model status

# 切换到备用模型
mydeskbot config set model gpt-3.5-turbo

上下文超限

bash
# 减少上下文
mydeskbot ask --max-context 5000 "你的问题"

# 或使用长上下文模型
mydeskbot ask -m claude-3-opus "你的问题"

最佳实践

1. 根据任务选择合适的模型

  • 简单任务:使用快速模型(gpt-3.5-turbo)
  • 复杂任务:使用强大模型(gpt-4, claude-3-opus)
  • 日常使用:使用平衡模型(gpt-4-turbo)

2. 合理设置温度

  • 代码生成:低温度(0.1-0.3)
  • 创意任务:高温度(0.7-1.0)
  • 一般对话:中温度(0.5-0.7)

3. 控制输出长度

  • 避免过长的请求(减少 tokens 成本)
  • 设置合理的 max_tokens
  • 使用简洁的提示词

4. 监控成本

  • 使用成本估算工具
  • 设置成本上限
  • 定期检查使用情况

下一步