Documentation
¶
Index ¶
- type CompressOptions
- type CompressResult
- type CompressionCache
- type CompressionLevel
- type CompressionMode
- type CompressionService
- type CompressionStats
- type DefaultCompressionService
- func (s *DefaultCompressionService) ClearCache()
- func (s *DefaultCompressionService) CompressMessages(ctx context.Context, messages []types.Message, maxTokens int) ([]types.Message, error)
- func (s *DefaultCompressionService) CompressSystemPrompt(ctx context.Context, prompt string, opts *CompressOptions) (*CompressResult, error)
- func (s *DefaultCompressionService) GetStats() *CompressionStats
- func (s *DefaultCompressionService) ResetStats()
- func (s *DefaultCompressionService) SetCompressor(compressor PromptCompressor)
- type PromptCompressOptions
- type PromptCompressResult
- type PromptCompressor
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompressOptions ¶
type CompressOptions struct {
TargetLength int // 目标长度(字符数)
Mode CompressionMode // 压缩模式
Level CompressionLevel // 压缩级别
PreserveSections []string // 必须保留的段落标题
Language string // 语言(zh/en)
UseCache bool // 是否使用缓存
}
CompressOptions 压缩选项
type CompressResult ¶
type CompressResult struct {
Compressed string // 压缩后的内容
OriginalLength int // 原始长度
CompressedLength int // 压缩后长度
CompressionRatio float64 // 压缩率
TokensSaved int // 节省的 Token 数
Duration time.Duration // 压缩耗时
Mode string // 使用的模式
CacheHit bool // 是否命中缓存
}
CompressResult 压缩结果
type CompressionCache ¶
type CompressionCache struct {
// contains filtered or unexported fields
}
CompressionCache 压缩缓存
func NewCompressionCache ¶
func NewCompressionCache(maxSize int) *CompressionCache
NewCompressionCache 创建压缩缓存
func (*CompressionCache) Set ¶
func (c *CompressionCache) Set(key string, result *CompressResult)
Set 设置缓存
type CompressionLevel ¶
type CompressionLevel int
CompressionLevel 压缩级别
const ( LevelLight CompressionLevel = 1 // 轻度压缩(60-70%) LevelModerate CompressionLevel = 2 // 中度压缩(40-50%) LevelAggressive CompressionLevel = 3 // 激进压缩(20-30%) )
type CompressionMode ¶
type CompressionMode string
CompressionMode 压缩模式
const ( ModeSimple CompressionMode = "simple" // 基于规则的快速压缩 ModeLLM CompressionMode = "llm" // LLM 驱动的智能压缩 ModeHybrid CompressionMode = "hybrid" // 混合模式(先规则后 LLM) )
type CompressionService ¶
type CompressionService interface {
// CompressSystemPrompt 压缩 System Prompt
CompressSystemPrompt(ctx context.Context, prompt string, opts *CompressOptions) (*CompressResult, error)
// CompressMessages 压缩消息历史(复用现有实现)
CompressMessages(ctx context.Context, messages []types.Message, maxTokens int) ([]types.Message, error)
// GetStats 获取统计信息
GetStats() *CompressionStats
// ResetStats 重置统计信息
ResetStats()
// ClearCache 清空缓存
ClearCache()
}
CompressionService 统一的压缩服务接口
type CompressionStats ¶
type CompressionStats struct {
TotalCompressions int // 总压缩次数
CacheHits int // 缓存命中次数
CacheMisses int // 缓存未命中次数
TotalDuration time.Duration // 总耗时
AverageRatio float64 // 平均压缩率
TotalTokensSaved int // 总节省 Token 数
}
CompressionStats 压缩统计
type DefaultCompressionService ¶
type DefaultCompressionService struct {
// contains filtered or unexported fields
}
DefaultCompressionService 默认压缩服务实现
func NewDefaultCompressionService ¶
func NewDefaultCompressionService(prov provider.Provider, cacheSize int) *DefaultCompressionService
NewDefaultCompressionService 创建默认压缩服务
func NewDefaultCompressionServiceWithOptions ¶
func NewDefaultCompressionServiceWithOptions(prov provider.Provider, cacheSize int, language string) *DefaultCompressionService
NewDefaultCompressionServiceWithOptions 创建带选项的默认压缩服务
func (*DefaultCompressionService) ClearCache ¶
func (s *DefaultCompressionService) ClearCache()
ClearCache 清空缓存
func (*DefaultCompressionService) CompressMessages ¶
func (s *DefaultCompressionService) CompressMessages(ctx context.Context, messages []types.Message, maxTokens int) ([]types.Message, error)
CompressMessages 压缩消息历史(占位符,后续集成现有实现)
func (*DefaultCompressionService) CompressSystemPrompt ¶
func (s *DefaultCompressionService) CompressSystemPrompt(ctx context.Context, prompt string, opts *CompressOptions) (*CompressResult, error)
CompressSystemPrompt 压缩 System Prompt
func (*DefaultCompressionService) GetStats ¶
func (s *DefaultCompressionService) GetStats() *CompressionStats
GetStats 获取统计信息
func (*DefaultCompressionService) ResetStats ¶
func (s *DefaultCompressionService) ResetStats()
ResetStats 重置统计信息
func (*DefaultCompressionService) SetCompressor ¶
func (s *DefaultCompressionService) SetCompressor(compressor PromptCompressor)
SetCompressor 设置底层压缩器
type PromptCompressOptions ¶
type PromptCompressOptions struct {
TargetLength int
TargetTokens int
Mode string
Level int
PreserveSections []string
}
PromptCompressOptions 与 agent.CompressOptions 兼容的选项
type PromptCompressResult ¶
type PromptCompressResult struct {
Compressed string
OriginalLength int
CompressedLength int
OriginalTokens int
CompressedTokens int
CompressionRatio float64
TokensSaved int
Mode string
}
PromptCompressResult 与 agent.CompressResult 兼容的结果
type PromptCompressor ¶
type PromptCompressor interface {
Compress(ctx context.Context, prompt string, opts *PromptCompressOptions) (*PromptCompressResult, error)
}
PromptCompressor 压缩器接口(与 agent.EnhancedPromptCompressor 兼容)