Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Category ¶
type Category string
Category represents a conversation classification category.
func AllCategories ¶
func AllCategories() []Category
AllCategories returns all valid classification categories.
type Classification ¶
type Classification struct {
Category Category `json:"category"`
Confidence float64 `json:"confidence"`
Priority int `json:"priority"` // 1 (highest) to 5 (lowest)
Subcategory string `json:"subcategory,omitempty"`
Tags []string `json:"tags,omitempty"`
ClassifiedAt time.Time `json:"classifiedAt"`
}
Classification represents the result of classifying a conversation.
type Config ¶
Config holds configuration for the ConversationClassifier.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns default classifier configuration.
type ConversationClassifier ¶
type ConversationClassifier struct {
// contains filtered or unexported fields
}
ConversationClassifier classifies conversations into categories with priority scoring.
func NewConversationClassifier ¶
func NewConversationClassifier(provider LLMProvider, cfg Config) *ConversationClassifier
NewConversationClassifier creates a new classifier. If provider is nil, only rule-based classification is used.
func (*ConversationClassifier) Classify ¶
func (c *ConversationClassifier) Classify(ctx context.Context, conversationID string, messages []Message) (*Classification, error)
Classify classifies a conversation and returns its category with priority.
func (*ConversationClassifier) ClearCache ¶
func (c *ConversationClassifier) ClearCache()
ClearCache removes all cached classifications.
func (*ConversationClassifier) InvalidateConversation ¶
func (c *ConversationClassifier) InvalidateConversation(conversationID string)
InvalidateConversation removes the cached classification for a conversation.
type LLMProvider ¶
type LLMProvider interface {
Classify(ctx context.Context, systemPrompt, userPrompt string) (*Classification, error)
}
LLMProvider abstracts the AI classification backend.