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

161 lines
3.4 KiB
TypeScript
Raw Normal View History

2025-06-06 01:39:01 +00:00
import {Result} from '@/request/Result'
import {get, post, del, put} from '@/request/index'
import {type Ref} from 'vue'
import type {pageRequest} from '@/api/type/common'
import type {knowledgeData} from '@/api/type/knowledge'
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,}
*/
const getKnowledgeByFolder: (
data?: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<Array<any>>> = (data, loading) => {
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-05-08 08:23:03 +00:00
return get(
2025-06-06 01:39:01 +00:00
`${prefix}/knowledge/${page.current_page}/${page.page_size}`,
2025-05-08 08:23:03 +00:00
param,
loading,
)
}
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-05-27 11:06:47 +00:00
return put(
2025-06-06 01:39:01 +00:00
`${prefix}/knowledge/${knowledge_id}/sync`,
2025-05-27 11:06:47 +00:00
undefined,
2025-06-06 01:39:01 +00:00
{sync_type},
2025-05-27 11:06:47 +00:00
loading,
)
}
/**
*
* @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-05-27 11:06:47 +00:00
return put(
2025-06-06 01:39:01 +00:00
`${prefix}/knowledge/${knowledge_id}/embedding`,
2025-05-27 11:06:47 +00:00
undefined,
undefined,
loading,
)
}
/**
*
* @param knowledge_id
*/
const getKnowledgeDetail: (
knowledge_id: string,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (knowledge_id, loading) => {
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-05 12:15:55 +00:00
const postKnowledge: (
2025-06-04 10:08:52 +00:00
data: knowledgeData,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (data, loading) => {
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-05 12:15:55 +00:00
const postWebKnowledge: (
2025-06-04 10:53:52 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (data, loading) => {
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-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-05-08 08:23:03 +00:00
}