模型角色介绍
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.9Edit 角色配置
yaml
models:
- name: "edit-model"
provider: "anthropic"
model: "claude-3-sonnet"
apiKey: "${{ secrets.ANTHROPIC_API_KEY }}"
roles: ["edit"]
defaultCompletionOptions:
temperature: 0.2
maxTokens: 4000Autocomplete 角色配置
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: 256Apply 角色配置
yaml
models:
- name: "apply-model"
provider: "openai"
model: "gpt-4"
apiKey: "${{ secrets.OPENAI_API_KEY }}"
roles: ["apply"]
defaultCompletionOptions:
temperature: 0.3
maxTokens: 4096Embed 角色配置
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. 使用指南
- 从小开始:从预定义角色开始
- 逐步定制:根据实际需求调整
- 持续优化:基于反馈改进角色
后续步骤
- 了解角色:查看特定角色类型文档
- 配置模型:在
config.yaml中设置模型角色 - 测试调整:基于使用持续改进
- 分享经验:与团队分享优质配置