test.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package extract
  2. import (
  3. "data_ai/prompt"
  4. "data_ai/ul"
  5. "fmt"
  6. log "github.com/donnie4w/go-logger/logger"
  7. new_xlsx "github.com/tealeg/xlsx/v3"
  8. qu "jygit.jydev.jianyu360.cn/data_processing/common_utils"
  9. "sync"
  10. "time"
  11. "unicode/utf8"
  12. )
  13. // 验证单条数据···
  14. func TestSingleFieldInfo(name string, tmpid string) {
  15. log.Debug("测试单条数据数据···")
  16. now := time.Now().Unix()
  17. tmp := ul.BidMgo.FindById(name, tmpid)
  18. if len(tmp) == 0 || tmp == nil {
  19. log.Debug("未查询到数据...", tmpid)
  20. return
  21. }
  22. data := ResolveInfo(tmp)
  23. //最终结果...
  24. for k, v := range data {
  25. log.Debug(k, "~", v)
  26. }
  27. log.Debug("耗时···", time.Now().Unix()-now)
  28. }
  29. // 验证单条数据···
  30. func TestSinglePackageInfo(name string, tmpid string) {
  31. now := time.Now().Unix()
  32. tmp := ul.BidMgo.FindById(name, tmpid)
  33. if len(tmp) == 0 || tmp == nil {
  34. log.Debug("未查询到数据...", tmpid)
  35. return
  36. }
  37. detail := qu.ObjToString(tmp["detail"])
  38. filetext := qu.ObjToString(tmp["filetext"]) //此处为附件信息···
  39. if utf8.RuneCountInString(detail) < 100 {
  40. detail = filetext
  41. }
  42. detail = ul.HttpConvertToMarkdown(detail)
  43. pkg := prompt.AcquireNewMultiplePackageInfo(detail)
  44. //最终结果...
  45. for k, v := range pkg {
  46. log.Debug(k, "~", v)
  47. }
  48. log.Debug("耗时···", time.Now().Unix()-now)
  49. }
  50. // 新分包数据···
  51. func TestNewPackageInfo1010() {
  52. dataArr, _ := ul.SourceMgo.Find("zktest_info_0930", map[string]interface{}{}, nil, nil)
  53. log.Debug("数量···", len(dataArr))
  54. pool_mgo := make(chan bool, 50)
  55. wg_mgo := &sync.WaitGroup{}
  56. for k, v := range dataArr {
  57. if k%50 == 0 {
  58. log.Debug("cur index ", k)
  59. }
  60. pool_mgo <- true
  61. wg_mgo.Add(1)
  62. go func(v map[string]interface{}) {
  63. defer func() {
  64. <-pool_mgo
  65. wg_mgo.Done()
  66. }()
  67. new_v := v
  68. data := ResolveInfo(v)
  69. if len(data) > 0 {
  70. new_v["ai_zhipu"] = data
  71. }
  72. ul.SourceMgo.Save("zktest_info_0930_new", new_v)
  73. }(v)
  74. }
  75. wg_mgo.Wait()
  76. log.Debug("is over ...")
  77. }
  78. // 更新链接
  79. func TestUpdateJyhref(name string) {
  80. dataArr, _ := ul.SourceMgo.Find(name, map[string]interface{}{}, nil, map[string]interface{}{"_id": 1})
  81. for _, v := range dataArr {
  82. tmpid := ul.BsonTOStringId(v["_id"])
  83. jyhref := fmt.Sprintf(ul.Url, qu.CommonEncodeArticle("content", tmpid))
  84. ul.SourceMgo.UpdateById(name, tmpid, map[string]interface{}{
  85. "$set": map[string]interface{}{
  86. "jyhref": jyhref,
  87. },
  88. })
  89. }
  90. log.Debug("is over ...")
  91. }
  92. func writeRow(row *new_xlsx.Row, arr []string) {
  93. for _, v := range arr {
  94. row.AddCell().Value = v
  95. }
  96. }