Skip to content

上下文长度

什么是上下文长度?

上下文长度指模型能在对话中"记住"和处理的信息量,类似于模型的短期记忆。它使模型能理解对话历史,生成更连贯的回复。

简言之,上下文长度越长,模型回答问题时可参考的对话内容就越多。

工作原理

以下内容会占用上下文空间:

  • 所有历史对话(你的提问和模型的回答)
  • 系统指令
  • 当前提问及附件(如图片、网页内容等)

当对话内容超出上下文长度限制时,系统会从最早的消息开始自动移除内容,以容纳新输入。此时你可能会看到"部分消息已被移除以适应模型上下文长度"的提示。

配置方法

在模型编辑器中配置上下文长度:

  1. 打开模型编辑器,找到"上下文长度"设置
  2. 选择所需的上下文长度
  3. 配置会自动保存

截图

如何选择合适的上下文长度

考虑以下因素:

  • 对话复杂性:长对话或复杂任务需要更长的上下文长度
  • 成本效益:上下文长度越长,计算成本通常越高,应选择满足需求的最小长度
  • 模型限制:确保所选长度在模型支持范围内,不同模型支持的最大长度各异
  • 硬件资源:本地模型建议选择较短的上下文长度(如4k、8k),更大的上下文会消耗更多系统资源,可能导致程序崩溃

超出上下文长度的处理机制

当对话超出上下文长度限制时,系统会:

  1. 从最旧的消息开始删除内容
  2. 显示提示,告知部分消息已被移除
  3. 保留最新的用户输入和必要的系统指令

这可能导致模型"忘记"早期对话中的信息,影响回答的连贯性和准确性。

如果在删除所有历史消息后,当前对话的上下文长度仍然无法满足需求,则会终止此次推理。因为当前对话的文本和系统提示词不可删除。

有关系统提示词的配置,请参考这篇文章

小结

合理配置上下文长度对模型性能和使用成本至关重要。请根据实际需求选择最适合的上下文长度设置。