feat: 百科知识库存入向量

This commit is contained in:
Blizzard
2026-04-21 17:32:26 +08:00
parent ae0020aa71
commit b2e6e511cd
21 changed files with 802 additions and 35 deletions
+49
View File
@@ -0,0 +1,49 @@
package system
import (
"errors"
"go.uber.org/zap"
"sundynix-go/global"
"sundynix-go/model/system"
)
type SysAiConfigService struct{}
// Create 创建AI配置
func (s *SysAiConfigService) Create(cfg *system.SysAiConfig) error {
return global.DB.Create(cfg).Error
}
// Update 更新AI配置
func (s *SysAiConfigService) Update(cfg *system.SysAiConfig) error {
return global.DB.Updates(cfg).Error
}
// SetActive 设置激活配置
func (s *SysAiConfigService) SetActive(id string) error {
// 先将所有的设为 0
err := global.DB.Model(&system.SysAiConfig{}).Where("1 = 1").Update("is_active", 0).Error
if err != nil {
return err
}
// 再将指定的设为 1
return global.DB.Model(&system.SysAiConfig{}).Where("id = ?", id).Update("is_active", 1).Error
}
// GetActiveAiConfig 获取当前激活的AI配置
func (s *SysAiConfigService) GetActiveAiConfig() (*system.SysAiConfig, error) {
var cfg system.SysAiConfig
err := global.DB.Where("is_active = 1").First(&cfg).Error
if err != nil {
global.Logger.Error("No active AI Config found", zap.Error(err))
return nil, errors.New("无激活状态的AI配置")
}
return &cfg, nil
}
// GetList 获取所有配置
func (s *SysAiConfigService) GetList() ([]system.SysAiConfig, error) {
var list []system.SysAiConfig
err := global.DB.Order("created_at desc").Find(&list).Error
return list, err
}