1234567891011121314151617181920212223242526272829303132333435 |
- package model
- import (
- "time"
- "github.com/google/uuid"
- "github.com/sashabaranov/go-openai"
- "gorm.io/gorm"
- )
- type LLMCompletionMessages []openai.ChatCompletionMessage
- type LLMSession struct {
- ID int `json:"id" gorm:"primaryKey"`
- SessionID string `json:"session_id" gorm:"uniqueIndex;not null"`
- Title string `json:"title"`
- Path string `json:"path" gorm:"index"` // 文件路径,可以为空
- Messages LLMCompletionMessages `json:"messages" gorm:"serializer:json"`
- MessageCount int `json:"message_count"`
- IsActive bool `json:"is_active" gorm:"default:true"`
- CreatedAt time.Time `json:"created_at"`
- UpdatedAt time.Time `json:"updated_at"`
- DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
- }
- func (LLMSession) TableName() string {
- return "llm_sessions"
- }
- func (s *LLMSession) BeforeCreate(tx *gorm.DB) error {
- if s.SessionID == "" {
- s.SessionID = uuid.New().String()
- }
- return nil
- }
|