Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

knowledge-service.ts 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. import { IRenameTag } from '@/interfaces/database/knowledge';
  2. import {
  3. IFetchDocumentListRequestBody,
  4. IFetchKnowledgeListRequestBody,
  5. IFetchKnowledgeListRequestParams,
  6. } from '@/interfaces/request/knowledge';
  7. import api from '@/utils/api';
  8. import registerServer from '@/utils/register-server';
  9. import request, { post } from '@/utils/request';
  10. const {
  11. create_kb,
  12. update_kb,
  13. rm_kb,
  14. get_kb_detail,
  15. kb_list,
  16. get_document_list,
  17. document_change_status,
  18. document_rm,
  19. document_delete,
  20. document_create,
  21. document_change_parser,
  22. document_thumbnails,
  23. chunk_list,
  24. create_chunk,
  25. set_chunk,
  26. get_chunk,
  27. switch_chunk,
  28. rm_chunk,
  29. retrieval_test,
  30. document_rename,
  31. document_run,
  32. document_upload,
  33. web_crawl,
  34. knowledge_graph,
  35. document_infos,
  36. upload_and_parse,
  37. listTagByKnowledgeIds,
  38. setMeta,
  39. getMeta,
  40. } = api;
  41. const methods = {
  42. // 知识库管理
  43. createKb: {
  44. url: create_kb,
  45. method: 'post',
  46. },
  47. updateKb: {
  48. url: update_kb,
  49. method: 'post',
  50. },
  51. rmKb: {
  52. url: rm_kb,
  53. method: 'post',
  54. },
  55. get_kb_detail: {
  56. url: get_kb_detail,
  57. method: 'get',
  58. },
  59. getList: {
  60. url: kb_list,
  61. method: 'post',
  62. },
  63. // document manager
  64. get_document_list: {
  65. url: get_document_list,
  66. method: 'get',
  67. },
  68. document_change_status: {
  69. url: document_change_status,
  70. method: 'post',
  71. },
  72. document_rm: {
  73. url: document_rm,
  74. method: 'post',
  75. },
  76. document_rename: {
  77. url: document_rename,
  78. method: 'post',
  79. },
  80. document_create: {
  81. url: document_create,
  82. method: 'post',
  83. },
  84. document_run: {
  85. url: document_run,
  86. method: 'post',
  87. },
  88. document_change_parser: {
  89. url: document_change_parser,
  90. method: 'post',
  91. },
  92. document_thumbnails: {
  93. url: document_thumbnails,
  94. method: 'get',
  95. },
  96. document_upload: {
  97. url: document_upload,
  98. method: 'post',
  99. },
  100. web_crawl: {
  101. url: web_crawl,
  102. method: 'post',
  103. },
  104. document_infos: {
  105. url: document_infos,
  106. method: 'post',
  107. },
  108. setMeta: {
  109. url: setMeta,
  110. method: 'post',
  111. },
  112. // chunk管理
  113. chunk_list: {
  114. url: chunk_list,
  115. method: 'post',
  116. },
  117. create_chunk: {
  118. url: create_chunk,
  119. method: 'post',
  120. },
  121. set_chunk: {
  122. url: set_chunk,
  123. method: 'post',
  124. },
  125. get_chunk: {
  126. url: get_chunk,
  127. method: 'get',
  128. },
  129. switch_chunk: {
  130. url: switch_chunk,
  131. method: 'post',
  132. },
  133. rm_chunk: {
  134. url: rm_chunk,
  135. method: 'post',
  136. },
  137. retrieval_test: {
  138. url: retrieval_test,
  139. method: 'post',
  140. },
  141. knowledge_graph: {
  142. url: knowledge_graph,
  143. method: 'get',
  144. },
  145. document_delete: {
  146. url: document_delete,
  147. method: 'delete',
  148. },
  149. upload_and_parse: {
  150. url: upload_and_parse,
  151. method: 'post',
  152. },
  153. listTagByKnowledgeIds: {
  154. url: listTagByKnowledgeIds,
  155. method: 'get',
  156. },
  157. documentFilter: {
  158. url: api.get_dataset_filter,
  159. method: 'post',
  160. },
  161. getMeta: {
  162. url: getMeta,
  163. method: 'get',
  164. },
  165. };
  166. const kbService = registerServer<keyof typeof methods>(methods, request);
  167. export const listTag = (knowledgeId: string) =>
  168. request.get(api.listTag(knowledgeId));
  169. export const removeTag = (knowledgeId: string, tags: string[]) =>
  170. post(api.removeTag(knowledgeId), { tags });
  171. export const renameTag = (
  172. knowledgeId: string,
  173. { fromTag, toTag }: IRenameTag,
  174. ) => post(api.renameTag(knowledgeId), { fromTag, toTag });
  175. export function getKnowledgeGraph(knowledgeId: string) {
  176. return request.get(api.getKnowledgeGraph(knowledgeId));
  177. }
  178. export function deleteKnowledgeGraph(knowledgeId: string) {
  179. return request.delete(api.getKnowledgeGraph(knowledgeId));
  180. }
  181. export const listDataset = (
  182. params?: IFetchKnowledgeListRequestParams,
  183. body?: IFetchKnowledgeListRequestBody,
  184. ) => request.post(api.kb_list, { data: body || {}, params });
  185. export const listDocument = (
  186. params?: IFetchKnowledgeListRequestParams,
  187. body?: IFetchDocumentListRequestBody,
  188. ) => request.post(api.get_document_list, { data: body || {}, params });
  189. export const documentFilter = (kb_id: string) =>
  190. request.post(api.get_dataset_filter, { kb_id });
  191. export default kbService;