package model import ( "encoding/json" ) // ArticleEmbedding stores vector embeddings for semantic article search. // Reference: Chatwoot ArticleEmbedding (enterprise) + P2B M9 spec type ArticleEmbedding struct { Base ArticleID uint `gorm:"not null;index" json:"article_id"` Embedding json.RawMessage `gorm:"type:jsonb" json:"embedding"` // vector data (1536-dim, stored as JSON for portability) Term string `gorm:"type:text;not null" json:"term"` // searchable text content Article Article `gorm:"foreignKey:ArticleID" json:"article,omitempty"` } func (ArticleEmbedding) TableName() string { return "article_embeddings" }