promote_service.go 987 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package llm
  2. import (
  3. "eta/eta_api/models/rag"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "os"
  7. )
  8. func CreateArticleFile(item *rag.WechatArticle) (filePath string, err error) {
  9. if item.TextContent == `` {
  10. err = fmt.Errorf("生成文章原文文本失败,文章内容为空")
  11. return
  12. }
  13. defer func() {
  14. if err != nil {
  15. utils.FileLog.Error("上传文章原文到知识库失败,err:%v", err)
  16. fmt.Println("上传文章原文到知识库失败,err:", err)
  17. }
  18. }()
  19. // 生成临时文件
  20. uploadDir := utils.STATIC_DIR + "ai/article"
  21. err = os.MkdirAll(uploadDir, utils.DIR_MOD)
  22. if err != nil {
  23. err = fmt.Errorf("存储目录创建失败,Err:" + err.Error())
  24. return
  25. }
  26. fileName := utils.RemoveSpecialChars(item.Title) + `.md`
  27. tmpFilePath := uploadDir + "/" + fileName
  28. err = utils.SaveToFile(item.TextContent, tmpFilePath)
  29. if err != nil {
  30. err = fmt.Errorf("生成临时文件失败,Err:" + err.Error())
  31. return
  32. }
  33. defer func() {
  34. _ = os.Remove(tmpFilePath)
  35. }()
  36. return
  37. }