package service import ( "io" "github.com/sundynix/pets-be/internal/model" ) // AIChat 记录一问一答:启用模型则真调(注入宠物档案),否则规则化文案 func (s *Service) AIChat(userID string, petID *string, session, text string) (string, error) { reply := "我会先判断风险等级,再建议你记录关键观察项。若出现频繁呕吐、便血、精神明显变差或持续超过 24 小时,建议尽快就医。" if s.ai != nil && s.ai.Enabled() { if r, err := s.llmChat(petID, text); err == nil && r != "" { reply = r } } msgs := []model.AIMessage{ {UserID: userID, PetID: petID, Session: session, Role: "user", Text: text}, {UserID: userID, PetID: petID, Session: session, Role: "ai", Text: reply}, } if err := s.db.Create(&msgs).Error; err != nil { return "", err } return reply, nil } // Upload 代理到对象存储 func (s *Service) Upload(objectName string, reader io.Reader, size int64, contentType string) (string, error) { return s.storage.Upload(objectName, reader, size, contentType) }