MCPcopy Create free account
hub / github.com/astercloud/aster / compressLLM

Method compressLLM

pkg/agent/prompt_optimizer.go:204–224  ·  view source on GitHub ↗

compressLLM LLM 驱动的压缩

(ctx context.Context, prompt string, opts *CompressOptions)

Source from the content-addressed store, hash-verified

202
203// compressLLM LLM 驱动的压缩
204func (c *EnhancedPromptCompressor) compressLLM(ctx context.Context, prompt string, opts *CompressOptions) (string, error) {
205 if c.llmCompressor == nil {
206 return prompt, errors.New("LLM compressor not available")
207 }
208
209 targetLen := opts.TargetLength
210 if targetLen == 0 {
211 switch opts.Level {
212 case CompressionLevelLight:
213 targetLen = int(float64(len(prompt)) * 0.65)
214 case CompressionLevelModerate:
215 targetLen = int(float64(len(prompt)) * 0.45)
216 case CompressionLevelAggressive:
217 targetLen = int(float64(len(prompt)) * 0.25)
218 default:
219 targetLen = int(float64(len(prompt)) * 0.50)
220 }
221 }
222
223 return c.llmCompressor.Compress(ctx, prompt, targetLen, opts.PreserveSections, int(opts.Level))
224}
225
226// compressHybrid 混合压缩(先规则后 LLM)
227func (c *EnhancedPromptCompressor) compressHybrid(ctx context.Context, prompt string, opts *CompressOptions) (string, error) {

Callers 2

CompressMethod · 0.95
compressHybridMethod · 0.95

Calls 1

CompressMethod · 0.65

Tested by

no test coverage detected