Documentation
¶
Index ¶
- Constants
- func RecordDedupDecision(decision string)
- func RecordFactOperation(operation string)
- func RecordMemoryExtraction(durationSeconds float64)
- func RecordTopicProcessing(durationSeconds float64)
- func SetTopicsTotal(count int)
- func UpdateFactsTotal(identity, context, status int)
- type FactStats
- type MemoryUpdate
- type Service
- type VectorSearcher
Constants ¶
const ( OperationAdd = "add" OperationUpdate = "update" OperationDelete = "delete" )
Константы для операций
const ( DecisionIgnore = "ignore" DecisionMerge = "merge" DecisionReplace = "replace" DecisionAdd = "add" )
Константы для решений дедупликации
Variables ¶
This section is empty.
Functions ¶
func RecordDedupDecision ¶ added in v0.3.0
func RecordDedupDecision(decision string)
RecordDedupDecision записывает решение дедупликации.
func RecordFactOperation ¶ added in v0.3.0
func RecordFactOperation(operation string)
RecordFactOperation записывает операцию с фактом.
func RecordMemoryExtraction ¶ added in v0.3.0
func RecordMemoryExtraction(durationSeconds float64)
RecordMemoryExtraction записывает время извлечения фактов.
func RecordTopicProcessing ¶ added in v0.3.0
func RecordTopicProcessing(durationSeconds float64)
RecordTopicProcessing записывает время обработки топика.
func SetTopicsTotal ¶ added in v0.3.0
func SetTopicsTotal(count int)
SetTopicsTotal устанавливает общее количество топиков.
func UpdateFactsTotal ¶ added in v0.3.0
func UpdateFactsTotal(identity, context, status int)
UpdateFactsTotal обновляет gauge количества фактов по типам.
Types ¶
type FactStats ¶ added in v0.3.0
type FactStats struct {
Created int
Updated int
Deleted int
// Usage tracking from API calls
PromptTokens int
CompletionTokens int
EmbeddingTokens int
Cost *float64
}
FactStats contains statistics about fact processing.
func (*FactStats) AddChatUsage ¶ added in v0.3.0
AddChatUsage adds usage from a chat completion response.
func (*FactStats) AddEmbeddingUsage ¶ added in v0.3.0
AddEmbeddingUsage adds usage from an embedding response.
type MemoryUpdate ¶
type MemoryUpdate struct {
Added []struct {
Entity string `json:"entity"`
Relation string `json:"relation"`
Content string `json:"content"`
Category string `json:"category"`
Type string `json:"type"`
Importance int `json:"importance"`
Reason string `json:"reason"`
} `json:"added"`
Updated []struct {
ID int64 `json:"id"`
Content string `json:"content"`
Type string `json:"type,omitempty"`
Importance int `json:"importance"`
Reason string `json:"reason"`
} `json:"updated"`
Removed []struct {
ID int64 `json:"id"`
Reason string `json:"reason"`
} `json:"removed"`
}
MemoryUpdate represents the changes returned by the LLM
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(logger *slog.Logger, cfg *config.Config, factRepo storage.FactRepository, userRepo storage.UserRepository, factHistoryRepo storage.FactHistoryRepository, orClient openrouter.Client, translator *i18n.Translator) *Service
func (*Service) ProcessSession ¶
func (*Service) ProcessSessionWithStats ¶ added in v0.3.0
func (s *Service) ProcessSessionWithStats(ctx context.Context, userID int64, messages []storage.Message, referenceDate time.Time, topicID int64) (FactStats, error)
ProcessSessionWithStats processes a session and returns statistics about fact changes.
func (*Service) SetVectorSearcher ¶
func (s *Service) SetVectorSearcher(vs VectorSearcher)