Documentation
¶
Index ¶
- Constants
- type ScoringConfig
- type Service
- func (s *Service) CollectAndApplyFeedback(ctx context.Context, agentID string, usedMemories []*memory.AgentMemory, ...) error
- func (s *Service) FormatMemoriesForPrompt(execMem *memory.ExecutionMemory, ticketMem *memory.TicketMemory) string
- func (s *Service) GenerateExecutionMemory(ctx context.Context, schemaID types.AlertSchema, history *gollem.History, ...) (*memory.ExecutionMemory, error)
- func (s *Service) GenerateTicketMemory(ctx context.Context, schemaID types.AlertSchema, ticketData *ticket.Ticket, ...) (*memory.TicketMemory, error)
- func (s *Service) LoadMemoriesForPrompt(ctx context.Context, schemaID types.AlertSchema) (execMem *memory.ExecutionMemory, ticketMem *memory.TicketMemory, err error)
- func (s *Service) PruneAgentMemories(ctx context.Context, agentID string) (int, error)
- func (s *Service) SaveAgentMemory(ctx context.Context, mem *memory.AgentMemory) error
- func (s *Service) SearchRelevantAgentMemories(ctx context.Context, agentID, query string, limit int) ([]*memory.AgentMemory, error)
- func (s *Service) SearchRelevantExecutionMemories(ctx context.Context, schemaID types.AlertSchema, query string, limit int) ([]*memory.ExecutionMemory, error)
Constants ¶
const (
// EmbeddingDimension is the dimension of embedding vectors
EmbeddingDimension = 256
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ScoringConfig ¶ added in v0.6.2
type ScoringConfig struct {
// EMA parameters
EMAAlpha float64 // Weight for new feedback (0.0-1.0), default: 0.3
ScoreMin float64 // Minimum score value, default: -10.0
ScoreMax float64 // Maximum score value, default: +10.0
// Search parameters
SearchMultiplier int // Multiplier for initial search limit, default: 10
SearchMaxCandidates int // Maximum candidates for re-ranking, default: 50
FilterMinQuality float64 // Minimum quality score for filtering, default: -5.0
// Ranking weights (should sum to 1.0)
RankSimilarityWeight float64 // Weight for similarity score, default: 0.5
RankQualityWeight float64 // Weight for quality score, default: 0.3
RankRecencyWeight float64 // Weight for recency score, default: 0.2
RecencyHalfLifeDays float64 // Half-life for recency decay in days, default: 30
// Pruning thresholds
PruneCriticalScore float64 // Critical score threshold (immediate deletion), default: -8.0
PruneHarmfulScore float64 // Harmful score threshold, default: -5.0
PruneHarmfulDays int // Days before pruning harmful memories, default: 90
PruneModerateScore float64 // Moderate score threshold, default: -3.0
PruneModerateDays int // Days before pruning moderate memories, default: 180
}
ScoringConfig holds all configurable parameters for memory scoring
func DefaultScoringConfig ¶ added in v0.6.2
func DefaultScoringConfig() ScoringConfig
DefaultScoringConfig returns default configuration
func (*ScoringConfig) Validate ¶ added in v0.6.2
func (c *ScoringConfig) Validate() error
Validate checks if the ScoringConfig has valid values
type Service ¶
type Service struct {
ScoringConfig ScoringConfig
// contains filtered or unexported fields
}
func New ¶
func New(llmClient gollem.LLMClient, repo interfaces.Repository) *Service
func (*Service) CollectAndApplyFeedback ¶ added in v0.6.2
func (s *Service) CollectAndApplyFeedback( ctx context.Context, agentID string, usedMemories []*memory.AgentMemory, taskQuery string, session gollem.Session, execResult *gollem.ExecuteResponse, execError error, ) error
CollectAndApplyFeedback collects feedback from execution and updates scores This is the main entry point for the feedback system
func (*Service) FormatMemoriesForPrompt ¶
func (s *Service) FormatMemoriesForPrompt( execMem *memory.ExecutionMemory, ticketMem *memory.TicketMemory, ) string
FormatMemoriesForPrompt formats memories as markdown for system prompt
func (*Service) GenerateExecutionMemory ¶
func (s *Service) GenerateExecutionMemory( ctx context.Context, schemaID types.AlertSchema, history *gollem.History, executionError error, ) (*memory.ExecutionMemory, error)
GenerateExecutionMemory generates memory from execution history
func (*Service) GenerateTicketMemory ¶
func (s *Service) GenerateTicketMemory( ctx context.Context, schemaID types.AlertSchema, ticketData *ticket.Ticket, comments []ticket.Comment, ) (*memory.TicketMemory, error)
GenerateTicketMemory generates memory from ticket resolution
func (*Service) LoadMemoriesForPrompt ¶
func (s *Service) LoadMemoriesForPrompt( ctx context.Context, schemaID types.AlertSchema, ) (execMem *memory.ExecutionMemory, ticketMem *memory.TicketMemory, err error)
LoadMemoriesForPrompt loads both types of memories for a schema
func (*Service) PruneAgentMemories ¶ added in v0.6.2
PruneAgentMemories deletes low-quality memories for an agent based on strict criteria
func (*Service) SaveAgentMemory ¶
SaveAgentMemory saves an agent memory record with automatic embedding generation
func (*Service) SearchRelevantAgentMemories ¶
func (s *Service) SearchRelevantAgentMemories(ctx context.Context, agentID, query string, limit int) ([]*memory.AgentMemory, error)
SearchRelevantAgentMemories searches for similar memories using semantic search with re-ranking
func (*Service) SearchRelevantExecutionMemories ¶
func (s *Service) SearchRelevantExecutionMemories(ctx context.Context, schemaID types.AlertSchema, query string, limit int) ([]*memory.ExecutionMemory, error)
SearchRelevantExecutionMemories searches for similar execution memories using semantic search