feat: 按模型上下文自动配置智能体压缩阈值
- 从 llm.json 解析上下文与输出上限,并增强短模型 ID 匹配 - 切换模型、保存和试运行时按预算公式重算,目录缺失时回退 30K - 修复模型列表接口未返回能力元数据
This commit is contained in:
@@ -34,6 +34,28 @@ public class ModelCapabilityResolverTest {
|
||||
Assert.assertEquals(Boolean.TRUE, result.getSupportImage());
|
||||
Assert.assertEquals(Boolean.TRUE, result.getSupportThinking());
|
||||
Assert.assertEquals(Boolean.TRUE, result.getSupportTool());
|
||||
Assert.assertEquals(Long.valueOf(1_000_000L), result.getContextWindowTokens());
|
||||
Assert.assertEquals(Long.valueOf(64_000L), result.getMaxOutputTokens());
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证目录匹配忽略厂商前缀、大小写和常见连接符。
|
||||
*/
|
||||
@Test
|
||||
public void shouldResolveCatalogCapabilitiesByCanonicalShortId() {
|
||||
String[] modelIds = {
|
||||
"阿里百炼/QWEN3.7_PLUS",
|
||||
"custom/qwen3.7 plus",
|
||||
"qwen3.7plus"
|
||||
};
|
||||
|
||||
for (String modelId : modelIds) {
|
||||
ModelCapabilityResolution result = resolver.resolve(null, modelId);
|
||||
|
||||
Assert.assertEquals(ModelCapabilitySource.CATALOG, result.getSource());
|
||||
Assert.assertEquals(Long.valueOf(1_000_000L), result.getContextWindowTokens());
|
||||
Assert.assertEquals(Long.valueOf(64_000L), result.getMaxOutputTokens());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,5 +98,7 @@ public class ModelCapabilityResolverTest {
|
||||
Assert.assertNull(result.getSupportImage());
|
||||
Assert.assertNull(result.getSupportThinking());
|
||||
Assert.assertNull(result.getSupportTool());
|
||||
Assert.assertNull(result.getContextWindowTokens());
|
||||
Assert.assertNull(result.getMaxOutputTokens());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user