index.ts 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. import { create } from 'domain';
  2. import api from './api';
  3. // Api参数类型
  4. export type LoginApiParams = {
  5. userName: string,
  6. password: string,
  7. };
  8. export type FetchAppListApiParams = {
  9. pageNumber: number,
  10. pageSize: number,
  11. };
  12. export type FetchKnowledgeLibListApiParams = {
  13. pageNumber: number,
  14. pageSize: number,
  15. };
  16. export type CreateOrModifyKnowledgeLibApiParams = {
  17. name: string,
  18. embeddingId: string,
  19. description: string,
  20. };
  21. export type FetchAppIndexParams = {
  22. pageNumber: number,
  23. pageSize: number,
  24. };
  25. export type CreateOrModifyApplicationApiParams = {
  26. name: string,
  27. desc: string,
  28. prompt: string,
  29. temperature: number,
  30. top_p: number,
  31. knowledge_ids: string[],
  32. param_desc: string,
  33. max_token: number,
  34. knowledge_info: {
  35. model: string,
  36. knowledge_ids: string[],
  37. slice_config_type: string,
  38. recall_method: string,
  39. slice_count: number,
  40. rerank_status: number,
  41. rerank_model_name: string,
  42. show_recall_result: boolean,
  43. recall_slice_splicing_method: string,
  44. },
  45. questionList: [
  46. {
  47. question: string,
  48. }
  49. ]
  50. };
  51. export type FetchDocumentLibListApiParams = {
  52. knowledge_id: string,
  53. page: number,
  54. size: number,
  55. }
  56. export type ModifyDocumentApiParams = {
  57. id: string,
  58. name: string,
  59. url: string,
  60. length: number,
  61. sentence_size: number,
  62. knowledge_type: number,
  63. custom_separator: string[],
  64. embedding_stat: number,
  65. word_num: number,
  66. parse_image: number
  67. };
  68. export type FetchChatHistoryListApiParams = Partial<{
  69. appId: string,
  70. pageNumber: number,
  71. pageSize: number,
  72. }>;
  73. // Api函数类型
  74. export type LoginApi = (data: LoginApiParams) => Promise<any>;
  75. export type LogoutApi = () => Promise<any>;
  76. export type FetchAppListApi = (data: FetchAppListApiParams) => Promise<any>;
  77. export type FetchKnowledgeLibListApi = (data: FetchKnowledgeLibListApiParams) => Promise<any>;
  78. export type FetchEmbeddingListApi = () => Promise<any>;
  79. export type CreateKnowledgeLibApi = (data: CreateOrModifyKnowledgeLibApiParams) => Promise<any>;
  80. export type ModifyKnowledgeLibApi = (knowledgeId: string, data: CreateOrModifyKnowledgeLibApiParams) => Promise<any>;
  81. export type DeleteKnowledgeLibApi = (knowledgeId: string) => Promise<any>;
  82. export type FetchKnowledgeLibDetailApi = (knowledgeId: string) => Promise<any>;
  83. export type FetchAppIndexApi = (data: FetchAppIndexParams) => Promise<any>;
  84. export type FetchApplicationDetailApi = (appId: string) => Promise<any>;
  85. export type FetchModelListApi = () => Promise<any>;
  86. export type FetchKnowledgeApiListApi = () => Promise<any>;
  87. export type ModifyApplicationLibApi = (appId: string, data: CreateOrModifyApplicationApiParams) => Promise<any>;
  88. export type DeleteApplicationLibApi = (appId: string) => Promise<any>;
  89. export type CreateApplicationLibApi = (data: CreateOrModifyApplicationApiParams) => Promise<any>;
  90. export type uploadFileLibApi = (konwledgeId: string) => Promise<any>;
  91. export type FetchDocumentLibListApi = (data: FetchDocumentLibListApiParams) => Promise<any>;
  92. export type FetchDocumentLibApi = (id: string) => Promise<any>;
  93. export type ModifyDocumentLibApi = (id: string, data: ModifyDocumentApiParams) => Promise<any>;
  94. export type DeleteDocumentLibApi = (id: string) => Promise<any>;
  95. export type FetchApplicationListApi = () => Promise<any>;
  96. export type FetchChatHistoryListApi = (data: FetchChatHistoryListApiParams) => Promise<any>;
  97. export type ExportChatHistoryApi = (id: string) => Promise<any>;
  98. // 登录
  99. const loginApi: LoginApi = async (data) => {
  100. return api.post('/login', data);
  101. };
  102. // 登出
  103. const logoutApi: LogoutApi = async () => {
  104. return api.post('/logout');
  105. };
  106. // 获取应用列表
  107. const fetchAppListApi: FetchAppListApi = async (data) => {
  108. return api.post('/bigmodel/api/getApplicationList', data);
  109. };
  110. // 获取知识库列表
  111. const fetchKnowledgeLibListApi: FetchKnowledgeLibListApi = async (data) => {
  112. return api.post('bigmodel/api/knowledgeList', data);
  113. };
  114. // 获取向量化模型列表
  115. const fetchEmbeddingListApi: FetchEmbeddingListApi = async () => {
  116. return api.get('bigmodel/api/embedding');
  117. };
  118. // 创建知识库
  119. const createKnowledgeLibApi: CreateKnowledgeLibApi = async (data) => {
  120. return api.post('bigmodel/api/createKnowledge', data);
  121. };
  122. // 修改知识库
  123. const modifyKnowledgeLibApi: ModifyKnowledgeLibApi = async (knowledgeId, data) => {
  124. return api.put(`bigmodel/api/updateKnowledge/${knowledgeId}`, data);
  125. };
  126. // 删除知识库
  127. const deleteKnowledgeLibApi: DeleteKnowledgeLibApi = async (knowledgeId) => {
  128. return api.delete(`bigmodel/api/delKnowledge/${knowledgeId}`);
  129. };
  130. // 获取知识库详情
  131. const fetchKnowledgeLibDetailApi: FetchKnowledgeLibDetailApi = async (knowledgeId) => {
  132. return api.get(`bigmodel/api/detailKnowledge/${knowledgeId}`);
  133. };
  134. // 获取首页信息
  135. const fetchIndexApi: FetchAppIndexApi = async (data) => {
  136. return api.post('/bigmodel/api/index', data);
  137. };
  138. // 获取应用详情
  139. const fetchApplicationDetailApi: FetchApplicationDetailApi = async (appId) => {
  140. return api.get(`bigmodel/api/selectApplication/${appId}`);
  141. };
  142. // 模型列表
  143. const fetchModelListApi: FetchModelListApi = async () => {
  144. return api.get('/bigmodel/api/model/list');
  145. };
  146. // 知识库列表
  147. const fetchKnowledgeListApi: FetchKnowledgeApiListApi = async () => {
  148. return api.get('/bigmodel/api/applicationList');
  149. };
  150. // 编辑应用
  151. const modifyApplicationLibApi: ModifyApplicationLibApi = async (appId, data) => {
  152. return api.put(`bigmodel/api/updateApplication/${appId}`, data);
  153. };
  154. // 删除应用
  155. const deleteApplicationLibApi: DeleteApplicationLibApi = async (appId) => {
  156. return api.delete(`bigmodel/api/delApplication/${appId}`);
  157. };
  158. // 创建应用
  159. const createApplicationLibApi: CreateApplicationLibApi = async (data) => {
  160. return api.post('bigmodel/api/createApplication', data);
  161. };
  162. // 上传知识文件
  163. const uploadFileLibApi: uploadFileLibApi = async (konwledgeId) => {
  164. return api.post(`bigmodel/api/uploadDocument/${konwledgeId}`);
  165. };
  166. // 获取知识列表
  167. const fetchDocumentLibListApi: FetchDocumentLibListApi = async (data) => {
  168. return api.post('bigmodel/api/documentList', data);
  169. };
  170. // 知识详情
  171. const fetchDocumentLibApi: FetchDocumentLibApi = async (id) => {
  172. return api.get(`bigmodel/api/documentDetail/${id}`);
  173. };
  174. // 修改知识
  175. const modifyDocumentApi: ModifyDocumentLibApi = async (id, data) => {
  176. return api.put(`bigmodel/api/updateDocument/${id}`, data);
  177. };
  178. // 删除知识文件
  179. const deleteDocumentApi: DeleteDocumentLibApi = async (id) => {
  180. return api.delete(`bigmodel/api/delDocument/${id}`);
  181. };
  182. // 获取应用列表
  183. const fetchApplicationListApi: FetchApplicationListApi = async () => {
  184. return api.get('bigmodel/api/application/list');
  185. };
  186. // 获取聊天记录列表
  187. const fetchChatHistoryListApi: FetchChatHistoryListApi = async (data) => {
  188. return api.post('bigmodel/api/chatHistory/list', data);
  189. };
  190. // 导出聊天记录
  191. const exportChatHistoryApi: ExportChatHistoryApi = async (id) => {
  192. return api.post(`bigmodel/api/dialog/export/${id}`, {}, { responseType: 'blob' });
  193. };
  194. export const apis = {
  195. login: loginApi,
  196. logout: logoutApi,
  197. fetchAppList: fetchAppListApi,
  198. fetchKnowledgeLibList: fetchKnowledgeLibListApi,
  199. fetchEmbeddingList: fetchEmbeddingListApi,
  200. createKnowledgeLib: createKnowledgeLibApi,
  201. modifyKnowledgeLib: modifyKnowledgeLibApi,
  202. deleteKnowledgeLib: deleteKnowledgeLibApi,
  203. fetchKnowledgeLibDetail: fetchKnowledgeLibDetailApi,
  204. fetchIndexCount: fetchIndexApi,
  205. fetchApplicationDetail: fetchApplicationDetailApi,
  206. fetchModelList: fetchModelListApi,
  207. fetchKnowledgeList: fetchKnowledgeListApi,
  208. modifyApplicationApi: modifyApplicationLibApi,
  209. deleteApplicationApi: deleteApplicationLibApi,
  210. createApplicationApi: createApplicationLibApi,
  211. uploadFileLibApi: uploadFileLibApi,
  212. fetchDocumentLibListApi: fetchDocumentLibListApi,
  213. fetchDocumentDetailLibApi: fetchDocumentLibApi,
  214. modifyDocumentLibApi: modifyDocumentApi,
  215. deleteDocumentLibApi: deleteDocumentApi,
  216. fetchApplicationList: fetchApplicationListApi,
  217. fetchChatHistoryList: fetchChatHistoryListApi,
  218. exportChatHistory: exportChatHistoryApi,
  219. };