feat: 增加工具结果字符限制,提升处理能力至 100,000 字符
This commit is contained in:
parent
2f529e96d0
commit
d1d4998a26
@ -1448,8 +1448,8 @@ mod tests {
|
||||
context_window_tokens: None,
|
||||
model_extra: std::collections::HashMap::new(),
|
||||
max_tool_iterations: 1,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
}
|
||||
@ -1554,9 +1554,9 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_truncate_tool_result_handles_utf8_char_boundaries() {
|
||||
let input = "范".repeat(20_500);
|
||||
let input = "范".repeat(100_500);
|
||||
|
||||
let output = truncate_tool_result(&input, 20_000);
|
||||
let output = truncate_tool_result(&input, 100_000);
|
||||
|
||||
assert!(output.contains("Output truncated"));
|
||||
assert!(output.is_char_boundary(output.len()));
|
||||
|
||||
@ -555,7 +555,7 @@ impl InitWizard {
|
||||
provider: selected_provider.clone(),
|
||||
model: selected_model.clone(),
|
||||
max_tool_iterations: 100,
|
||||
tool_result_max_chars: 20000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 2000,
|
||||
};
|
||||
|
||||
|
||||
@ -438,7 +438,7 @@ fn default_max_tool_iterations() -> usize {
|
||||
}
|
||||
|
||||
fn default_tool_result_max_chars() -> usize {
|
||||
20_000
|
||||
100_000
|
||||
}
|
||||
|
||||
fn default_context_tool_result_trim_chars() -> usize {
|
||||
@ -1077,7 +1077,7 @@ mod tests {
|
||||
assert_eq!(provider_config.temperature, Some(0.0));
|
||||
assert_eq!(provider_config.max_tokens, None);
|
||||
assert_eq!(provider_config.llm_timeout_secs, 120);
|
||||
assert_eq!(provider_config.tool_result_max_chars, 20_000);
|
||||
assert_eq!(provider_config.tool_result_max_chars, 100_000);
|
||||
assert_eq!(provider_config.context_tool_result_trim_chars, 2_000);
|
||||
assert_eq!(provider_config.context_summary_char_budget(), 32_000);
|
||||
}
|
||||
@ -1322,7 +1322,7 @@ mod tests {
|
||||
|
||||
let config = Config::load(file.path().to_str().unwrap()).unwrap();
|
||||
assert_eq!(config.agents["default"].max_tool_iterations, 100);
|
||||
assert_eq!(config.agents["default"].tool_result_max_chars, 20_000);
|
||||
assert_eq!(config.agents["default"].tool_result_max_chars, 100_000);
|
||||
assert_eq!(
|
||||
config.agents["default"].context_tool_result_trim_chars,
|
||||
2_000
|
||||
|
||||
@ -121,7 +121,7 @@ mod tests {
|
||||
context_window_tokens: None,
|
||||
model_extra: HashMap::new(),
|
||||
max_tool_iterations: 1,
|
||||
tool_result_max_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
|
||||
@ -65,7 +65,7 @@ mod tests {
|
||||
context_window_tokens: None,
|
||||
model_extra: HashMap::new(),
|
||||
max_tool_iterations: 1,
|
||||
tool_result_max_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
|
||||
@ -742,8 +742,8 @@ mod tests {
|
||||
context_window_tokens: None,
|
||||
model_extra: HashMap::new(),
|
||||
max_tool_iterations: 1,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
}
|
||||
@ -1004,8 +1004,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1052,8 +1052,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1130,8 +1130,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1218,8 +1218,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1308,8 +1308,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 1,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1397,8 +1397,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1468,8 +1468,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1548,8 +1548,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 30,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
@ -1615,8 +1615,8 @@ mod tests {
|
||||
max_tool_iterations: 1,
|
||||
llm_timeout_secs: 1,
|
||||
memory_maintenance_timeout_secs: 600,
|
||||
tool_result_max_chars: 20_000,
|
||||
context_tool_result_trim_chars: 20_000,
|
||||
tool_result_max_chars: 100_000,
|
||||
context_tool_result_trim_chars: 100_000,
|
||||
max_images_in_context: 1,
|
||||
max_image_age_rounds: 10,
|
||||
};
|
||||
|
||||
@ -7,7 +7,7 @@ use crate::text::take_prefix_chars;
|
||||
use crate::tools::traits::{Tool, ToolResult};
|
||||
use crate::tools::extract_u64;
|
||||
|
||||
const MAX_CHARS: usize = 128_000;
|
||||
const MAX_CHARS: usize = 100_000;
|
||||
const DEFAULT_LIMIT: usize = 2000;
|
||||
|
||||
pub struct FileReadTool {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user