开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

上下文压缩

DevKit AI支持压缩agent的上下文长度,可以避免上下文窗口失控导致调用模型失败,减少无效tokens消耗导致的资源浪费或成本失控。

操作步骤

  1. 使用SSH远程登录工具,登录DevKit AI的安装节点。
  2. 进入DevKit AI基础包解压后目录。
    cd DevKit-AI-x.x.x-Linux-Kunpeng
  3. 打开“config/config.yaml”文件。
    vi config/config.yaml
  4. 按“i”进入编辑模式,新增如下内容。
    summarization:
      #开启上下文压缩选项
      enable: true
      # 必须在 chat_models 中存在,不存在则报错
      model_name: ""
    
      # 触发上下文压缩阈值
      trigger:
        #三种都可配置,关系为满足一个即可触发摘要逻辑
      - type: fraction
        value: 0.8
      - type: tokens
        value: 500000
      - type: messages
        value: 200
    
      # 保留上下文压缩的数值,三选一
      # 必须保证keep.type对应的value小于trigger.type对应的value,否则不会触发摘要
      keep:
        # fraction[float(0-1)] | tokens[int] | messages[int]   3个类型选择一个分别为(百分比|token数值|对话消息数量)
        type: fraction
        value: 0.15
    
      # 生成摘要时应包含的最大tokens数
      trim_tokens_to_summarize:
      message_counter:
        #是否可视当前上下文数值
        enable: false
    表1 参数说明

    参数

    参数选项

    参数说明

    备注

    summarization

    enable

    true/false

    开启或关闭上下文压缩功能:

    • true:开启。
    • false:关闭。

    -

    model_name

    字符串

    用于执行上下文压缩的模型名。

    该模型名必须在chat_models中存在定义或者留空使用默认模型。

    trigger

    type

    fraction/tokens/messages

    触发上下文压缩的阈值:

    • fraction:上下文内容最大值的百分比。其对应value填写类型为大于0且小于1的浮点型,例如填写0.8表示当上下文内容达到最大值的80%时触发上下文压缩。
    • tokens:token消耗数量。其对应value填写参数为整型,例如填写500000时表示当token消耗数量达到500000时触发上下文压缩。
    • messages:对话消息的数量阈值。其对应value填写参数为整型,例如填写200表示当对话消息达到200条时触发上下文压缩。

    trigger可以填写数量为小于等于三个type和value组,例如可以同时配置fraction、tokens、messages和其对应的value,当其中任意一个参数阈值满足条件时便会触发上下文压缩。

    value

    整型或浮点型

    keep

    type

    fraction/tokens/messages

    触发上下文压缩时内容保留的数量:

    • fraction:上下文内容最大值的百分比。其对应value填写类型为大于0且小于1的浮点型,例如填写0.15表示当触发上下文压缩时保留上下文内容最大值的15%。
    • tokens:token消耗数量。其对应value填写参数为整型,例如填写3000时表示当触发上下文压缩时保留3000个token的内容。
    • messages:对话消息的数量阈值。其对应value填写参数为整型,例如填写15表示当触发上下文压缩时保留15条对话消息内容。

    keep只能填写一个type和value组,且其value与trigger的type相同时,keep对应value值必须小于trigger对应value值。

    value

    整型或浮点型

    trim_tokens_to_summarize

    整型

    生成内容摘要时应包含的最大tokens数量。

    -

    message_counter

    enable

    true/false

    开启或关闭上下文统计功能,该功能可以直观看到当前对话计算得出的token数量。

    • true:开启。
    • false:关闭。

    开启该功能可以直观看到token数量,便于判断使用token是否即将达到上下文压缩阈值。

  5. 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。

    功能开启,trigger、keep和message_counter参数正常生效。每当上下文达到trigger下type对应的values阈值,就会触发上下文压缩,把之前的对话生成一个摘要保留到agent的messages中,按照keep设置的值保留对应的信息。