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

167 lines
3.8 KiB
TypeScript
Raw Normal View History

2025-05-08 08:23:03 +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'
2025-06-04 10:08:52 +00:00
import type { knowledgeData } from '@/api/type/knowledge'
2025-05-08 08:23:03 +00:00
const prefix = '/workspace'
/**
*
* @params
* {folder_id: string,
* name: string,
* user_id: string
* desc: string,}
*/
const getKnowledgeByFolder: (
wordspace_id: string,
data?: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (wordspace_id, data, loading) => {
return get(`${prefix}/${wordspace_id}/knowledge`, data, loading)
}
/**
2025-05-27 11:06:47 +00:00
*
2025-05-08 08:23:03 +00:00
* @param
* param {
"folder_id": "string",
"name": "string",
"tool_type": "string",
desc: string,
}
*/
const getKnowledgeList: (
wordspace_id: string,
page: pageRequest,
param?: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, page, param, loading) => {
return get(
`${prefix}/${wordspace_id}/knowledge/${page.current_page}/${page.page_size}`,
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: (
wordspace_id: string,
knowledge_id: string,
sync_type: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, sync_type, loading) => {
return put(
`${prefix}/${wordspace_id}/knowledge/${knowledge_id}/sync`,
undefined,
{ sync_type },
loading,
)
}
/**
*
* @param knowledge_id
*/
const putReEmbeddingDataset: (
wordspace_id: string,
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, loading) => {
return put(
`${prefix}/${wordspace_id}/knowledge/${knowledge_id}/embedding`,
undefined,
undefined,
loading,
)
}
/**
*
* @param knowledge_id
*/
const getKnowledgeDetail: (
wordspace_id: string,
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, loading) => {
return get(`${prefix}/${wordspace_id}/knowledge/${knowledge_id}`, undefined, loading)
}
2025-06-04 10:08:52 +00:00
/**
*
* @param
* {
"name": "string",
"folder_id": "string",
"desc": "string",
"embedding": "string"
}
*/
const postDataset: (
wordspace_id: string,
data: knowledgeData,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, data, loading) => {
return post(`${prefix}/${wordspace_id}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5)
}
/**
* Web
* @param
* {
"name": "string",
2025-06-04 10:53:52 +00:00
"folder_id": "string",
"desc": "string",
"embedding": "string",
"source_url": "string",
"selector": "string"
2025-06-04 10:08:52 +00:00
}
*/
2025-06-04 10:53:52 +00:00
const postWebDataset: (
wordspace_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, data, loading) => {
return post(`${prefix}/${wordspace_id}/knowledge/web`, data, undefined, loading)
2025-06-04 10:08:52 +00:00
}
/**
* Lark
* @param
* {
"name": "string",
"desc": "string",
"app_id": "string",
"app_secret": "string",
"folder_token": "string",
}
*/
const postLarkDataset: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
data,
loading,
) => {
return post(`${prefix}/lark/save`, data, undefined, loading)
}
2025-05-08 08:23:03 +00:00
export default {
getKnowledgeByFolder,
getKnowledgeList,
2025-05-27 11:06:47 +00:00
putReEmbeddingDataset,
putSyncWebKnowledge,
getKnowledgeDetail,
2025-06-04 10:08:52 +00:00
postDataset,
2025-06-04 10:53:52 +00:00
postWebDataset
2025-05-08 08:23:03 +00:00
}