UnisKB/ui/src/api/knowledge/knowledge.ts

253 lines
6.1 KiB
TypeScript
Raw Normal View History

2025-06-08 08:43:40 +00:00
import { Result } from '@/request/Result'
import { get, post, del, put, exportFile, exportExcel } from '@/request/index'
import { type Ref } from 'vue'
import type { pageRequest } from '@/api/type/common'
import type { knowledgeData } from '@/api/type/knowledge'
2025-06-06 01:39:01 +00:00
const prefix = '/workspace/' + localStorage.getItem('workspace_id')
2025-05-08 08:23:03 +00:00
/**
*
* @params
* {folder_id: string,
* name: string,
* user_id: string
* desc: string,}
*/
2025-06-08 08:43:40 +00:00
const getKnowledgeByFolder: (data?: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
data,
loading,
) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix}/knowledge`, data, loading)
2025-05-08 08:23:03 +00:00
}
/**
2025-05-27 11:06:47 +00:00
*
2025-05-08 08:23:03 +00:00
* @param
2025-06-06 01:39:01 +00:00
* param {
"folder_id": "string",
"name": "string",
"tool_type": "string",
desc: string,
}
2025-05-08 08:23:03 +00:00
*/
const getKnowledgeList: (
page: pageRequest,
param?: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (page, param, loading) => {
2025-06-08 08:43:40 +00:00
return get(`${prefix}/knowledge/${page.current_page}/${page.page_size}`, param, loading)
2025-05-08 08:23:03 +00:00
}
2025-05-27 11:06:47 +00:00
/**
*
* @param
*/
// const getAllDataset: (loading?: Ref<boolean>) => Promise<Result<any[]>> = (loading) => {
// return get(`${prefix}`, undefined, loading)
// }
/**
*
* @param knowledge_id
* @query sync_type // 同步类型->replace:替换同步,complete:完整同步
*/
const putSyncWebKnowledge: (
knowledge_id: string,
sync_type: string,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (knowledge_id, sync_type, loading) => {
2025-06-08 08:43:40 +00:00
return put(`${prefix}/knowledge/${knowledge_id}/sync`, undefined, { sync_type }, loading)
2025-05-27 11:06:47 +00:00
}
/**
*
* @param knowledge_id
*/
2025-06-05 12:15:55 +00:00
const putReEmbeddingKnowledge: (
2025-05-27 11:06:47 +00:00
knowledge_id: string,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (knowledge_id, loading) => {
2025-06-08 08:43:40 +00:00
return put(`${prefix}/knowledge/${knowledge_id}/embedding`, undefined, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
*
* @param knowledge_id
*/
2025-06-08 08:43:40 +00:00
const getKnowledgeDetail: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
knowledge_id,
loading,
) => {
2025-06-06 01:39:01 +00:00
return get(`${prefix}/knowledge/${knowledge_id}`, undefined, loading)
2025-05-27 11:06:47 +00:00
}
2025-06-04 10:08:52 +00:00
/**
*
* @param
* {
2025-06-06 01:39:01 +00:00
"name": "string",
"folder_id": "string",
"desc": "string",
"embedding": "string"
2025-06-04 10:08:52 +00:00
}
*/
2025-06-08 08:43:40 +00:00
const postKnowledge: (data: knowledgeData, loading?: Ref<boolean>) => Promise<Result<any>> = (
data,
loading,
) => {
2025-06-06 01:39:01 +00:00
return post(`${prefix}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5)
2025-06-04 10:08:52 +00:00
}
/**
* Web
* @param
* {
"name": "string",
2025-06-06 01:39:01 +00:00
"folder_id": "string",
"desc": "string",
"embedding": "string",
"source_url": "string",
"selector": "string"
2025-06-04 10:08:52 +00:00
}
*/
2025-06-08 08:43:40 +00:00
const postWebKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
data,
loading,
) => {
2025-06-06 01:39:01 +00:00
return post(`${prefix}/knowledge/web`, data, undefined, loading)
2025-06-04 10:08:52 +00:00
}
/**
2025-06-05 12:15:55 +00:00
*
2025-06-04 10:08:52 +00:00
* @param
2025-06-05 12:15:55 +00:00
* knowledge_id
2025-06-04 10:08:52 +00:00
* {
"name": "string",
2025-06-05 12:15:55 +00:00
"desc": true
2025-06-04 10:08:52 +00:00
}
*/
2025-06-05 12:15:55 +00:00
const putKnowledge: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return put(`${prefix}/knowledge/${knowledge_id}`, data, undefined, loading)
2025-06-04 10:08:52 +00:00
}
2025-06-08 08:43:40 +00:00
/**
*
* @param knowledge_id
* @param loading
* @query { query_text: string, top_number: number, similarity: number }
* @returns
*/
const getKnowledgeHitTest: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, data, loading) => {
return get(`${prefix}/${knowledge_id}/hit_test`, data, loading)
}
/**
*
* @param knowledge_name
* @param knowledge_id id
* @returns
*/
const exportKnowledge: (
knowledge_name: string,
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
return exportExcel(knowledge_name + '.xlsx', `dataset/${knowledge_id}/export`, undefined, loading)
}
/**
*Zip
* @param knowledge_name
* @param knowledge_id id
* @param loading
* @returns
*/
const exportZipKnowledge: (
knowledge_name: string,
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
return exportFile(
knowledge_name + '.zip',
`dataset/${knowledge_id}/export_zip`,
undefined,
loading,
)
}
/**
* 使
* @param application_id
* @param loading
* @query { query_text: string, top_number: number, similarity: number }
* @returns
*/
const getKnowledgeModel: (
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, loading) => {
return get(`${prefix}/${knowledge_id}/model`, loading)
}
/**
*
* @param knowledge_id
* @param folder_token
* @param loading
* @returns
*/
const getLarkDocumentList: (
knowledge_id: string,
folder_token: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, folder_token, data, loading) => {
return post(`${prefix}/lark/${knowledge_id}/${folder_token}/doc_list`, data, null, loading)
}
const importLarkDocument: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, data, loading) => {
return post(`${prefix}/lark/${knowledge_id}/import`, data, null, loading)
}
/**
*
* @param knowledge_id id
* @param data
* @param loading
* @returns
*/
const generateRelated: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/generate_related`, data, null, loading)
}
2025-05-08 08:23:03 +00:00
export default {
getKnowledgeByFolder,
getKnowledgeList,
2025-06-05 12:15:55 +00:00
putReEmbeddingKnowledge,
2025-05-27 11:06:47 +00:00
putSyncWebKnowledge,
getKnowledgeDetail,
2025-06-05 12:15:55 +00:00
postKnowledge,
postWebKnowledge,
putKnowledge,
2025-06-08 08:43:40 +00:00
getKnowledgeHitTest,
exportKnowledge,
exportZipKnowledge,
getKnowledgeModel,
getLarkDocumentList,
importLarkDocument,
generateRelated,
2025-05-08 08:23:03 +00:00
}