1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package llm
- import (
- "encoding/json"
- "eta/eta_api/controllers"
- "eta/eta_api/controllers/llm/llm_http"
- "eta/eta_api/models"
- "eta/eta_api/services/llm/facade"
- )
- type KbController struct {
- controllers.BaseAuthController
- }
- // SearchDocs @Title 搜索知识库文档
- // @Description 搜索知识库文档
- // @Success 101 {object} response.ListResp
- // @router /knowledge_base/searchDocs [post]
- func (kbctrl *KbController) SearchDocs() {
- br := new(models.BaseResponse).Init()
- defer func() {
- if br.ErrMsg == "" {
- br.IsSendEmail = false
- }
- kbctrl.Data["json"] = br
- kbctrl.ServeJSON()
- }()
- sysUser := kbctrl.SysUser
- if sysUser == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,SysUser Is Empty"
- br.Ret = 408
- return
- }
- var req facade.LLMKnowledgeSearch
- err := json.Unmarshal(kbctrl.Ctx.Input.RequestBody, &req)
- if err != nil {
- br.Msg = "参数解析异常!"
- br.ErrMsg = "参数解析失败,Err:" + err.Error()
- return
- }
- searchResp, err := facade.LLMKnowledgeBaseSearchDocs(req)
- if err != nil {
- br.Msg = "搜索知识库失败"
- br.ErrMsg = "搜索知识库失败:" + err.Error()
- return
- }
- br.Data = searchResp
- br.Ret = 200
- br.Success = true
- br.Msg = "获取成功"
- }
- // KnowledgeList
- // @Title 获取知识库列表
- // @Description 获取知识库列表
- // @Success 101 {object} response.ListResp
- // @router /knowledge/list [get]
- func (ucCtrl *UserChatController) KnowledgeList() {
- br := new(models.BaseResponse).Init()
- defer func() {
- ucCtrl.Data["json"] = br
- ucCtrl.ServeJSON()
- }()
- sysUser := ucCtrl.SysUser
- if sysUser == nil {
- br.Msg = "请登录"
- br.ErrMsg = "请登录,SysUser Is Empty"
- br.Ret = 408
- return
- }
- // 获取基础配置, 若未配置则直接返回
- conf, e := models.GetBusinessConf()
- if e != nil {
- br.Msg = "获取失败"
- br.ErrMsg = "获取基础配置失败, Err: " + e.Error()
- return
- }
- list := make([]llm_http.KnowledgeList, 0)
- if conf[models.KnowledgeBaseName] != "" {
- list = append(list, llm_http.KnowledgeList{
- KnowledgeName: conf[models.KnowledgeBaseName],
- Name: "弘则公共知识库",
- })
- }
- if conf[models.PrivateKnowledgeBaseName] != "" {
- list = append(list, llm_http.KnowledgeList{
- KnowledgeName: conf[models.PrivateKnowledgeBaseName],
- Name: "弘则私有知识库",
- })
- }
- br.Data = list
- br.Ret = 200
- br.Success = true
- br.Msg = "获取知识库列表成功"
- }
|