Skip to content

模型角色介绍

MyDeskBot 的模型角色系统允许您为不同的任务类型选择最合适的模型配置,优化性能和成本效益。

什么是模型角色?

模型角色是针对特定任务类型的预配置模型设置,包括:

  • 模型选择
  • 参数调整
  • 上下文管理
  • 性能优化

支持的角色类型

💬 Chat(聊天)

用于对话和交互式任务:

  • 自然语言理解
  • 上下文对话
  • 多轮对话
  • 用户支持

🔧 Autocomplete(自动补全)

用于代码和文本补全:

  • 实时代码建议
  • 智能文本补全
  • 上下文感知补全
  • 快速响应

✏️ Edit(编辑)

用于文本和代码编辑:

  • 内容重构
  • 格式调整
  • 语法纠正
  • 风格优化

🎯 Apply(应用)

用于特定应用场景:

  • 代码生成
  • 文档创建
  • 数据处理
  • 自动化任务

🔍 Embeddings(嵌入)

用于向量化和语义搜索:

  • 文本向量化
  • 语义相似度
  • 检索增强
  • 聚类分析

📊 Reranking(重排序)

用于结果排序和过滤:

  • 相关性排序
  • 质量评估
  • 优先级调整
  • 精确匹配

角色配置结构

基本配置示例

config.yaml 中配置模型角色:

yaml
models:
  - name: "chat-assistant"
    provider: "openai"
    model: "gpt-4"
    apiKey: "${{ secrets.OPENAI_API_KEY }}"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 2000
      topP: 0.9

  - name: "code-editor"
    provider: "anthropic"
    model: "claude-3-sonnet"
    apiKey: "${{ secrets.ANTHROPIC_API_KEY }}"
    roles: ["edit", "apply"]
    defaultCompletionOptions:
      temperature: 0.3
      maxTokens: 4000

  - name: "autocomplete-engine"
    provider: "together"
    model: "codellama/CodeLlama-13b-Instruct-hf"
    apiKey: "${{ secrets.TOGETHER_API_KEY }}"
    roles: ["autocomplete"]
    defaultCompletionOptions:
      temperature: 0.1
      maxTokens: 256

多角色配置

单个模型可以服务于多个角色:

yaml
models:
  - name: "versatile-model"
    provider: "openai"
    model: "gpt-4"
    apiKey: "${{ secrets.OPENAI_API_KEY }}"
    roles: ["chat", "edit", "apply"]
    defaultCompletionOptions:
      temperature: 0.5
      maxTokens: 4096

角色特定配置

Chat 角色配置

yaml
models:
  - name: "chat-model"
    provider: "openai"
    model: "gpt-4"
    apiKey: "${{ secrets.OPENAI_API_KEY }}"
    roles: ["chat"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 2000
      topP: 0.9

Edit 角色配置

yaml
models:
  - name: "edit-model"
    provider: "anthropic"
    model: "claude-3-sonnet"
    apiKey: "${{ secrets.ANTHROPIC_API_KEY }}"
    roles: ["edit"]
    defaultCompletionOptions:
      temperature: 0.2
      maxTokens: 4000

Autocomplete 角色配置

yaml
models:
  - name: "autocomplete-model"
    provider: "together"
    model: "codellama/CodeLlama-13b-Instruct-hf"
    apiKey: "${{ secrets.TOGETHER_API_KEY }}"
    roles: ["autocomplete"]
    defaultCompletionOptions:
      temperature: 0.1
      maxTokens: 256

Apply 角色配置

yaml
models:
  - name: "apply-model"
    provider: "openai"
    model: "gpt-4"
    apiKey: "${{ secrets.OPENAI_API_KEY }}"
    roles: ["apply"]
    defaultCompletionOptions:
      temperature: 0.3
      maxTokens: 4096

Embed 角色配置

yaml
models:
  - name: "embed-model"
    provider: "openai"
    model: "text-embedding-3-large"
    apiKey: "${{ secrets.OPENAI_API_KEY }}"
    roles: ["embed"]

Rerank 角色配置

yaml
models:
  - name: "rerank-model"
    provider: "cohere"
    model: "rerank-english-v3.0"
    apiKey: "${{ secrets.COHERE_API_KEY }}"
    roles: ["rerank"]

最佳实践

1. 角色设计原则

  • 单一职责:每个角色专注于特定任务
  • 清晰边界:定义明确的适用场景
  • 性能优化:平衡质量和效率

2. 配置管理

  • 版本控制:跟踪角色配置变更
  • 测试验证:确保角色行为符合预期
  • 文档维护:保持配置文档更新

3. 使用指南

  • 从小开始:从预定义角色开始
  • 逐步定制:根据实际需求调整
  • 持续优化:基于反馈改进角色

后续步骤

  1. 了解角色:查看特定角色类型文档
  2. 配置模型:在 config.yaml 中设置模型角色
  3. 测试调整:基于使用持续改进
  4. 分享经验:与团队分享优质配置