request.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. import {
  2. GetDBGPTsListResponse,
  3. PostAgentHubUpdateParams,
  4. PostAgentMyPluginResponse,
  5. PostAgentPluginResponse,
  6. PostAgentQueryParams,
  7. PostDbgptMyQueryParams,
  8. } from '@/types/agent';
  9. import { GetAppInfoParams, IApp } from '@/types/app';
  10. import {
  11. ChatHistoryResponse,
  12. DialogueListResponse,
  13. FeedBack,
  14. IChatDialogueSchema,
  15. IDB,
  16. NewDialogueParam,
  17. SceneResponse,
  18. UserParam,
  19. UserParamResponse,
  20. } from '@/types/chat';
  21. import {
  22. ChatFeedBackSchema,
  23. DbListResponse,
  24. DbSupportTypeResponse,
  25. PostDbParams,
  26. PostDbRefreshParams,
  27. } from '@/types/db';
  28. import {
  29. GetEditorSQLRoundRequest,
  30. GetEditorySqlParams,
  31. PostEditorChartRunParams,
  32. PostEditorChartRunResponse,
  33. PostEditorSQLRunParams,
  34. PostSQLEditorSubmitParams,
  35. } from '@/types/editor';
  36. import {
  37. AddKnowledgeParams,
  38. ArgumentsParams,
  39. ChunkListParams,
  40. DocumentParams,
  41. GraphVisResult,
  42. IArguments,
  43. IChunkList,
  44. IChunkStrategyResponse,
  45. IDocumentResponse,
  46. ISpace,
  47. ISyncBatchParameter,
  48. ISyncBatchResponse,
  49. SpaceConfig,
  50. } from '@/types/knowledge';
  51. import { BaseModelParams, IModelData, StartModelParams, SupportModel } from '@/types/model';
  52. import { AxiosRequestConfig } from 'axios';
  53. import { GET, POST } from '.';
  54. /** App */
  55. export const postScenes = () => {
  56. return POST<null, Array<SceneResponse>>('/api/v1/chat/dialogue/scenes');
  57. };
  58. export const newDialogue = (data: NewDialogueParam) => {
  59. return POST<NewDialogueParam, IChatDialogueSchema>(
  60. `/api/v1/chat/dialogue/new?chat_mode=${data.chat_mode}&model_name=${data.model}`,
  61. data,
  62. );
  63. };
  64. export const addUser = (data: UserParam) => {
  65. return POST<UserParam, UserParamResponse>('/api/v1/user/add', data);
  66. };
  67. /** Database Page */
  68. export const getDbList = () => {
  69. return GET<null, DbListResponse>('/api/v1/chat/db/list');
  70. };
  71. export const getDbSupportType = () => {
  72. return GET<null, DbSupportTypeResponse>('/api/v1/chat/db/support/type');
  73. };
  74. export const postDbDelete = (dbName: string) => {
  75. return POST(`/api/v1/chat/db/delete?db_name=${dbName}`);
  76. };
  77. export const postDbEdit = (data: PostDbParams) => {
  78. return POST<PostDbParams, null>('/api/v1/chat/db/edit', data);
  79. };
  80. export const postDbAdd = (data: PostDbParams) => {
  81. return POST<PostDbParams, null>('/api/v1/chat/db/add', data);
  82. };
  83. export const postDbTestConnect = (data: PostDbParams) => {
  84. return POST<PostDbParams, null>('/api/v1/chat/db/test/connect', data);
  85. };
  86. export const postDbRefresh = (data: PostDbRefreshParams) => {
  87. return POST<PostDbRefreshParams, boolean>('/api/v1/chat/db/refresh', data);
  88. };
  89. /** Chat Page */
  90. export const getDialogueList = () => {
  91. return GET<null, DialogueListResponse>('/api/v1/chat/dialogue/list');
  92. };
  93. export const getUsableModels = () => {
  94. return GET<null, Array<string>>('/api/v1/model/types');
  95. };
  96. export const postChatModeParamsList = (chatMode: string) => {
  97. return POST<null, IDB[]>(`/api/v1/chat/mode/params/list?chat_mode=${chatMode}`);
  98. };
  99. export const postChatModeParamsInfoList = (chatMode: string) => {
  100. return POST<null, Record<string, string>>(`/api/v1/chat/mode/params/info?chat_mode=${chatMode}`);
  101. };
  102. export const getChatHistory = (convId: string) => {
  103. return GET<null, ChatHistoryResponse>(`/api/v1/chat/dialogue/messages/history?con_uid=${convId}`);
  104. };
  105. export const postChatModeParamsFileLoad = ({
  106. convUid,
  107. chatMode,
  108. data,
  109. config,
  110. model,
  111. userName,
  112. sysCode,
  113. }: {
  114. convUid: string;
  115. chatMode: string;
  116. data: FormData;
  117. model: string;
  118. userName?: string;
  119. sysCode?: string;
  120. config?: Omit<AxiosRequestConfig, 'headers'>;
  121. }) => {
  122. return POST<FormData, any>(
  123. `/api/v1/resource/file/upload?conv_uid=${convUid}&chat_mode=${chatMode}&model_name=${model}&user_name=${userName}&sys_code=${sysCode}`,
  124. data,
  125. {
  126. headers: {
  127. 'Content-Type': 'multipart/form-data',
  128. },
  129. ...config,
  130. },
  131. );
  132. };
  133. export const clearChatHistory = (conUid: string) => {
  134. return POST<null, Record<string, string>>(`/api/v1/chat/dialogue/clear?con_uid=${conUid}`);
  135. };
  136. /** Menu */
  137. export const delDialogue = (conv_uid: string) => {
  138. return POST(`/api/v1/chat/dialogue/delete?con_uid=${conv_uid}`);
  139. };
  140. /** Editor */
  141. export const getEditorSqlRounds = (id: string) => {
  142. return GET<null, GetEditorSQLRoundRequest>(`/api/v1/editor/sql/rounds?con_uid=${id}`);
  143. };
  144. export const postEditorSqlRun = (data: PostEditorSQLRunParams) => {
  145. return POST<PostEditorSQLRunParams>(`/api/v1/editor/sql/run`, data);
  146. };
  147. export const postEditorChartRun = (data: PostEditorChartRunParams) => {
  148. return POST<PostEditorChartRunParams, PostEditorChartRunResponse>(`/api/v1/editor/chart/run`, data);
  149. };
  150. export const postSqlEditorSubmit = (data: PostSQLEditorSubmitParams) => {
  151. return POST<PostSQLEditorSubmitParams>(`/api/v1/sql/editor/submit`, data);
  152. };
  153. export const getEditorSql = (id: string, round: string | number) => {
  154. return POST<GetEditorySqlParams, string | Array<any>>('/api/v1/editor/sql', {
  155. con_uid: id,
  156. round,
  157. });
  158. };
  159. /** knowledge */
  160. export const getArguments = (knowledgeName: string) => {
  161. return POST<any, IArguments>(`/knowledge/${knowledgeName}/arguments`, {});
  162. };
  163. export const saveArguments = (knowledgeName: string, data: ArgumentsParams) => {
  164. return POST<ArgumentsParams, IArguments>(`/knowledge/${knowledgeName}/argument/save`, data);
  165. };
  166. export const getSpaceList = (data?: any) => {
  167. return POST<any, Array<ISpace>>('/knowledge/space/list', data);
  168. };
  169. export const getDocumentList = (spaceName: string, data: Record<string, number | Array<number>>) => {
  170. return POST<Record<string, number | Array<number>>, IDocumentResponse>(`/knowledge/${spaceName}/document/list`, data);
  171. };
  172. export const getGraphVis = (spaceName: string, data: { limit: number }) => {
  173. return POST<Record<string, number>, GraphVisResult>(`/knowledge/${spaceName}/graphvis`, data);
  174. };
  175. export const addDocument = (knowledgeName: string, data: DocumentParams) => {
  176. return POST<DocumentParams, number>(`/knowledge/${knowledgeName}/document/add`, data);
  177. };
  178. export const addSpace = (data: AddKnowledgeParams) => {
  179. return POST<AddKnowledgeParams, number>(`/knowledge/space/add`, data);
  180. };
  181. export const getChunkStrategies = () => {
  182. return GET<null, Array<IChunkStrategyResponse>>('/knowledge/document/chunkstrategies');
  183. };
  184. export const syncDocument = (spaceName: string, data: Record<string, Array<number>>) => {
  185. return POST<Record<string, Array<number>>, string | null>(`/knowledge/${spaceName}/document/sync`, data);
  186. };
  187. export const syncBatchDocument = (spaceName: string, data: Array<ISyncBatchParameter>) => {
  188. return POST<Array<ISyncBatchParameter>, ISyncBatchResponse>(`/knowledge/${spaceName}/document/sync_batch`, data);
  189. };
  190. export const uploadDocument = (knowLedgeName: string, data: FormData) => {
  191. return POST<FormData, number>(`/knowledge/${knowLedgeName}/document/upload`, data);
  192. };
  193. export const getChunkList = (spaceName: string, data: ChunkListParams) => {
  194. return POST<ChunkListParams, IChunkList>(`/knowledge/${spaceName}/chunk/list`, data);
  195. };
  196. export const delDocument = (spaceName: string, data: Record<string, number>) => {
  197. return POST<Record<string, number>, null>(`/knowledge/${spaceName}/document/delete`, data);
  198. };
  199. export const delSpace = (data: Record<string, string>) => {
  200. return POST<Record<string, string>, null>(`/knowledge/space/delete`, data);
  201. };
  202. /** models */
  203. export const getModelList = () => {
  204. return GET<null, Array<IModelData>>('/api/v1/worker/model/list');
  205. };
  206. export const stopModel = (data: BaseModelParams) => {
  207. return POST<BaseModelParams, boolean>('/api/v1/worker/model/stop', data);
  208. };
  209. export const startModel = (data: StartModelParams) => {
  210. return POST<StartModelParams, boolean>('/api/v1/worker/model/start', data);
  211. };
  212. export const getSupportModels = () => {
  213. return GET<null, Array<SupportModel>>('/api/v1/worker/model/params');
  214. };
  215. /** Agent */
  216. export const postAgentQuery = (data: PostAgentQueryParams) => {
  217. return POST<PostAgentQueryParams, PostAgentPluginResponse>('/api/v1/agent/query', data);
  218. };
  219. export const postDbgptsQuery = (data: PostAgentQueryParams) => {
  220. return POST<PostAgentQueryParams, PostAgentPluginResponse>(
  221. `/api/v1/serve/dbgpts/hub/query_page?page=${data?.page_index}&page_size=${data?.page_size}`,
  222. data,
  223. );
  224. };
  225. export const postAgentHubUpdate = (data?: PostAgentHubUpdateParams) => {
  226. return POST<PostAgentHubUpdateParams>(
  227. '/api/v1/agent/hub/update',
  228. data ?? { channel: '', url: '', branch: '', authorization: '' },
  229. );
  230. };
  231. export const postDbgptsHubUpdate = (data?: PostAgentHubUpdateParams) => {
  232. return POST<PostAgentHubUpdateParams>(
  233. '/api/v1/serve/dbgpts/hub/source/refresh',
  234. data ?? { channel: '', url: '', branch: '', authorization: '' },
  235. );
  236. };
  237. export const postAgentMy = (user?: string) => {
  238. return POST<undefined, PostAgentMyPluginResponse>('/api/v1/agent/my', undefined, { params: { user } });
  239. };
  240. export const postDbgptsMy = (data?: PostDbgptMyQueryParams) => {
  241. return POST<PostDbgptMyQueryParams, PostAgentMyPluginResponse>(
  242. `/api/v1/serve/dbgpts/my/query_page?page=${data?.page_index}&page_size=${data?.page_size}`,
  243. data,
  244. );
  245. };
  246. export const postAgentInstall = (pluginName: string, user?: string) => {
  247. return POST('/api/v1/agent/install', undefined, {
  248. params: { plugin_name: pluginName, user },
  249. timeout: 60000,
  250. });
  251. };
  252. export const postDbgptsInstall = (data: object, user?: string) => {
  253. return POST('/api/v1/serve/dbgpts/hub/install', data, {
  254. params: { user },
  255. timeout: 60000,
  256. });
  257. };
  258. export const postAgentUninstall = (pluginName: string, user?: string) => {
  259. return POST('/api/v1/agent/uninstall', undefined, {
  260. params: { plugin_name: pluginName, user },
  261. timeout: 60000,
  262. });
  263. };
  264. export const postDbgptsUninstall = (data: { name: string; type: string }, user?: string) => {
  265. return POST('/api/v1/serve/dbgpts/my/uninstall', undefined, {
  266. params: { ...data, user },
  267. timeout: 60000,
  268. });
  269. };
  270. export const postAgentUpload = (user = '', data: FormData, config?: Omit<AxiosRequestConfig, 'headers'>) => {
  271. return POST<FormData>('/api/v1/personal/agent/upload', data, {
  272. params: { user },
  273. headers: {
  274. 'Content-Type': 'multipart/form-data',
  275. },
  276. ...config,
  277. });
  278. };
  279. export const getDbgptsList = () => {
  280. return GET<undefined, GetDBGPTsListResponse>('/api/v1/dbgpts/list');
  281. };
  282. /** chat feedback **/
  283. export const getChatFeedBackSelect = () => {
  284. return GET<null, FeedBack>(`/api/v1/feedback/select`, undefined);
  285. };
  286. export const getChatFeedBackItme = (conv_uid: string, conv_index: number) => {
  287. return GET<null, Record<string, string>>(
  288. `/api/v1/feedback/find?conv_uid=${conv_uid}&conv_index=${conv_index}`,
  289. undefined,
  290. );
  291. };
  292. export const postChatFeedBackForm = ({
  293. data,
  294. config,
  295. }: {
  296. data: ChatFeedBackSchema;
  297. config?: Omit<AxiosRequestConfig, 'headers'>;
  298. }) => {
  299. return POST<ChatFeedBackSchema, any>(`/api/v1/feedback/commit`, data, {
  300. headers: {
  301. 'Content-Type': 'application/json',
  302. },
  303. ...config,
  304. });
  305. };
  306. /** prompt */
  307. /** app */
  308. export const collectApp = (data: Record<string, string>) => {
  309. return POST<Record<string, string>, []>('/api/v1/app/collect', data);
  310. };
  311. export const unCollectApp = (data: Record<string, string>) => {
  312. return POST<Record<string, string>, []>('/api/v1/app/uncollect', data);
  313. };
  314. export const getResourceType = () => {
  315. return GET<null, string[]>('/api/v1/resource-type/list');
  316. };
  317. export const publishApp = (app_code: string) => {
  318. return POST<Record<string, any>, []>('/api/v1/app/publish', { app_code });
  319. };
  320. export const unPublishApp = (app_code: string) => {
  321. return POST<Record<string, any>, []>('/api/v1/app/unpublish', { app_code });
  322. };
  323. export const addOmcDB = (params: Record<string, string>) => {
  324. return POST<Record<string, any>, []>('/api/v1/chat/db/add', params);
  325. };
  326. export const getAppInfo = (data: GetAppInfoParams) => {
  327. return GET<GetAppInfoParams, IApp>('/api/v1/app/info', data);
  328. };
  329. export const getSupportDBList = (db_name = '') => {
  330. return GET<null, Record<string, any>>(`/api/v1/permission/db/list?db_name=${db_name}`);
  331. };
  332. export const recommendApps = (data: Record<string, string>) => {
  333. return POST<Record<string, string>, []>('/api/v1/app/hot/list', data);
  334. };
  335. export const flowSearch = (data: Record<string, string>) => {
  336. return POST<Record<string, string>, []>('/api/v1/serve/awel/flows', data);
  337. };
  338. export const modelSearch = (data: Record<string, string>) => {
  339. return POST<Record<string, string>, []>('/api/controller/models', data);
  340. };
  341. export const getKnowledgeAdmins = (spaceId: string) => {
  342. return GET<string, Record<string, any>>(`/knowledge/users/list?space_id=${spaceId}`);
  343. };
  344. export const updateKnowledgeAdmins = (data: Record<string, string>) => {
  345. return POST<Record<string, any>, any[]>(`/knowledge/users/update`, data);
  346. };
  347. /** AWEL Flow */
  348. /** app */
  349. export const delApp = (data: Record<string, string>) => {
  350. return POST<Record<string, string>, []>('/api/v1/app/remove', data);
  351. };
  352. export const getSpaceConfig = () => {
  353. return GET<string, SpaceConfig>(`/knowledge/space/config`);
  354. };