重构表情管理
This commit is contained in:
22
docs/development/emoji_prompt_limit.md
Normal file
22
docs/development/emoji_prompt_limit.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 表情替换候选数量说明
|
||||
|
||||
## 背景
|
||||
`MAX_EMOJI_FOR_PROMPT` 用于 `replace_a_emoji` 等场景,限制送入 LLM 的候选表情数量,避免上下文过长导致响应变慢或 token 开销过大。
|
||||
|
||||
## 为什么是 20
|
||||
- 平衡:超过十几项后决策收益递减,但 token/时间成本线性增加。
|
||||
- 性能:在常用模型和硬件下,20 个描述可在可接受延迟内返回决策。
|
||||
- 兼容:历史实现也使用 20,保持行为稳定。
|
||||
|
||||
## 何时调整
|
||||
- 设备/模型更强且希望更广覆盖:可提升到 30-40,但注意延迟和费用。
|
||||
- 低算力或对延迟敏感:可下调到 10-15 以加快决策。
|
||||
- 特殊场景(主题集中、库很小):下调有助于避免无意义的冗余候选。
|
||||
|
||||
## 如何修改
|
||||
- 常量位置:`src/chat/emoji_system/emoji_constants.py` 中的 `MAX_EMOJI_FOR_PROMPT`。
|
||||
- 如需动态配置,可将其迁移到 `global_config.emoji` 下的配置项并在 `emoji_manager` 读取。
|
||||
|
||||
## 建议
|
||||
- 调整后观察:替换决策耗时、模型费用、误删率(删除的表情是否被实际需要)。
|
||||
- 如继续扩展表情库规模,建议为候选列表增加基于使用频次或时间的预筛选策略。
|
||||
Reference in New Issue
Block a user