kb_controller.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package llm
  2. import (
  3. "encoding/json"
  4. "eta/eta_api/controllers"
  5. "eta/eta_api/models"
  6. "eta/eta_api/services/llm/facade"
  7. )
  8. type KbController struct {
  9. controllers.BaseAuthController
  10. }
  11. // SearchDocs @Title 搜索知识库文档
  12. // @Description 搜索知识库文档
  13. // @Success 101 {object} response.ListResp
  14. // @router /knowledge_base/searchDocs [post]
  15. func (kbctrl *KbController) SearchDocs() {
  16. br := new(models.BaseResponse).Init()
  17. defer func() {
  18. if br.ErrMsg == "" {
  19. br.IsSendEmail = false
  20. }
  21. kbctrl.Data["json"] = br
  22. kbctrl.ServeJSON()
  23. }()
  24. sysUser := kbctrl.SysUser
  25. if sysUser == nil {
  26. br.Msg = "请登录"
  27. br.ErrMsg = "请登录,SysUser Is Empty"
  28. br.Ret = 408
  29. return
  30. }
  31. var req facade.LLMKnowledgeSearch
  32. err := json.Unmarshal(kbctrl.Ctx.Input.RequestBody, &req)
  33. if err != nil {
  34. br.Msg = "参数解析异常!"
  35. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  36. return
  37. }
  38. searchResp, err := facade.LLMKnowledgeBaseSearchDocs(req)
  39. if err != nil {
  40. br.Msg = "搜索知识库失败"
  41. br.ErrMsg = "搜索知识库失败:" + err.Error()
  42. return
  43. }
  44. br.Data = searchResp
  45. br.Ret = 200
  46. br.Success = true
  47. br.Msg = "获取成功"
  48. }