Skip to content

S08(context-compact):CompactionPipeline#toolResultBudget方法中,在对toolResultBlock持久化之前,是否应该判断一下block的长度大小 #2

Description

@Paulx209
private void toolResultBudget(List<Message> messages) {
        ...
		for (ToolResultBlock result : bySize) {
			if (total <= TOOL_RESULT_BUDGET) {
				break;
			}
			String original = result.getContent() == null ? "" : result.getContent();
			String persisted = toolResultStore.persist(result);
			result.setContent(persisted);
			total -= original.length();
			total += persisted.length();
		}
}
  1. 如果toolResultBlock工具块特别多,单个的长度又不够长,这里应该判断一下content.length()吧,persist方法会对工具块截断,默认是2000长度,这里可能导致小工具块也写到文件里。
  2. 这种情况到snipCompact方法中正好被处理掉

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions