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

500 lines
11 KiB
TypeScript
Raw Normal View History

2025-06-09 11:47:23 +00:00
import { Result } from '@/request/Result'
import { get, post, del, put, exportExcel, exportFile } from '@/request/index'
import type { Ref } from 'vue'
import type { KeyValue } from '@/api/type/common'
import type { pageRequest } from '@/api/type/common'
2025-05-27 11:06:47 +00:00
2025-06-06 01:39:01 +00:00
const prefix = '/workspace/' + localStorage.getItem('workspace_id') + '/knowledge'
2025-05-27 11:06:47 +00:00
/**
*
* @param knowledge_id,
* param {
2025-06-09 11:47:23 +00:00
" name": "string",
}
2025-05-27 11:06:47 +00:00
*/
const getDocument: (
knowledge_id: string,
page: pageRequest,
param: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (knowledge_id, page, param, loading) => {
2025-05-27 11:06:47 +00:00
return get(
2025-06-06 01:39:01 +00:00
`${prefix}/${knowledge_id}/document/${page.current_page}/${page.page_size}`,
2025-05-27 11:06:47 +00:00
param,
loading,
)
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const getDocumentDetail: (knowledge_id: string, document_id: string) => Promise<Result<any>> = (
knowledge_id,
document_id,
2025-05-27 11:06:47 +00:00
) => {
2025-06-09 11:47:23 +00:00
return get(`${prefix}/${knowledge_id}/document/${document_id}`)
2025-05-27 11:06:47 +00:00
}
/**
*
* @param
2025-06-09 11:47:23 +00:00
* knowledge_id, document_id,
2025-05-27 11:06:47 +00:00
* {
2025-06-09 11:47:23 +00:00
"name": "string",
"is_active": true,
"meta": {}
2025-05-27 11:06:47 +00:00
}
*/
const putDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, data: any, loading) => {
return put(`${prefix}/${knowledge_id}/document/${document_id}`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
*
2025-06-09 11:47:23 +00:00
* @param knowledge_id, document_id,
2025-05-27 11:06:47 +00:00
*/
const delDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, document_id, loading) => {
return del(`${prefix}/${knowledge_id}/document/${document_id}`, loading)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
2025-05-27 11:06:47 +00:00
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id, document_id,
*{
"id_list": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"type": 0
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchCancelTask: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/document/cancel_task/_batch`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
/**
*
* @param knowledge_id, document_id,
*/
const putCancelTask: (
knowledge_id: string,
document_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, document_id, data, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-09 11:47:23 +00:00
`${prefix}/${knowledge_id}/document/${document_id}/cancel_task`,
data,
2025-05-27 11:06:47 +00:00
undefined,
loading,
)
}
2025-06-09 11:47:23 +00:00
2025-05-27 11:06:47 +00:00
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const getDownloadSourceFile: (knowledge_id: string, document_id: string) => Promise<Result<any>> = (
knowledge_id,
2025-05-27 11:06:47 +00:00
document_id,
) => {
2025-06-09 11:47:23 +00:00
return get(`${prefix}/${knowledge_id}/document/${document_id}/download_source_file`)
}
/**
*
* @param document_name
* @param knowledge_id id
* @param document_id id
* @param loading
* @returns
*/
const exportDocument: (
document_name: string,
knowledge_id: string,
document_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (document_name, knowledge_id, document_id, loading) => {
return exportExcel(
document_name + '.xlsx',
`${prefix}/${knowledge_id}/document/${document_id}/export`,
{},
loading,
)
}
/**
*
* @param document_name
* @param knowledge_id id
* @param document_id id
* @param loading
* @returns
*/
const exportDocumentZip: (
document_name: string,
knowledge_id: string,
document_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (document_name, knowledge_id, document_id, loading) => {
return exportFile(
document_name + '.zip',
`${prefix}/${knowledge_id}/document/${document_id}/export_zip`,
{},
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
*
* @param
2025-06-09 11:47:23 +00:00
* knowledge_id, document_id,
* {
"state_list": [
"string"
]
}
2025-05-27 11:06:47 +00:00
*/
const putDocumentRefresh: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
state_list: Array<string>,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, state_list, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-09 11:47:23 +00:00
`${prefix}/${knowledge_id}/document/${document_id}/refresh`,
{ state_list },
2025-05-27 11:06:47 +00:00
undefined,
loading,
)
}
/**
* web
* @param
2025-06-09 11:47:23 +00:00
* knowledge_id, document_id,
2025-05-27 11:06:47 +00:00
*/
const putDocumentSync: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-09 11:47:23 +00:00
`${prefix}/${knowledge_id}/document/${document_id}/sync`,
2025-05-27 11:06:47 +00:00
undefined,
undefined,
loading,
)
}
/**
2025-06-09 11:47:23 +00:00
*
* @param
{
"name": "string",
"paragraphs": [
{
"content": "string",
"title": "string",
"problem_list": [
{
"id": "string",
"content": "string"
}
],
"is_active": true
}
],
"source_file_id": string
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const postMulDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return post(`${prefix}/${knowledge_id}/document/bach_create`, data, {}, loading, 1000 * 60 * 5)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
/**
*
* @param knowledge_id,
* {
"id_list": [String]
}
*/
const delMulDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return del(
`${prefix}/${knowledge_id}/document/bach_delete`,
undefined,
{ id_list: data },
loading,
)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id,
{
"document_id_list": [
"string"
],
"model_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"prompt": "string",
"state_list": [
"string"
]
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchGenerateRelated: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/document/batch_generate_related`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id id
* @param data
* {id_list:[],hit_handling_method:'directly_return|optimization',directly_return_similarity}
* @param loading
* @returns
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchEditHitHandling: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/document/batch_hit_handling`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
*
* @param knowledge_id id
* @param data
{
"id_list": [
"string"
],
"state_list": [
"string"
]
}
* @param loading
* @returns
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const putBatchRefresh: (
knowledge_id: string,
data: any,
stateList: Array<string>,
loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (knowledge_id, data, stateList, loading) => {
return put(
`${prefix}/${knowledge_id}/document/batch_refresh`,
{ id_list: data, state_list: stateList },
undefined,
loading,
)
}
/**
*
* @param knowledge_id,
*/
const putMulSyncDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${knowledge_id}/document/batch_sync`, { id_list: data }, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
*
2025-06-09 11:47:23 +00:00
* @param knowledge_id,target_knowledge_id,
2025-05-27 11:06:47 +00:00
*/
const putMigrateMulDocument: (
2025-06-09 11:47:23 +00:00
knowledge_id: string,
target_knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, target_knowledge_id, data, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-09 11:47:23 +00:00
`${prefix}/${knowledge_id}/document/migrate/${target_knowledge_id}`,
2025-05-27 11:06:47 +00:00
data,
undefined,
loading,
)
}
/**
2025-06-09 11:47:23 +00:00
* QA
* @param
* file
}
*/
const postQADocument: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return post(`${prefix}/${knowledge_id}/document/qa`, data, undefined, loading)
}
/**
*
* @param file:file,limit:number,patterns:array,with_filter:boolean
*/
const postSplitDocument: (data: any) => Promise<Result<any>> = (data) => {
return post(`${prefix}/document/split`, data, undefined, undefined, 1000 * 60 * 60)
}
/**
*
* @param loading
* @returns
*/
const listSplitPattern: (
loading?: Ref<boolean>,
) => Promise<Result<Array<KeyValue<string, string>>>> = (loading) => {
return get(`${prefix}/document/split_pattern`, {}, loading)
}
/**
*
* @param
* file
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const postTableDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return post(`${prefix}/${knowledge_id}/document/table`, data, undefined, loading)
2025-05-27 11:06:47 +00:00
}
/**
* QA
* @param fileName,type,
*/
const exportQATemplate: (fileName: string, type: string, loading?: Ref<boolean>) => void = (
fileName,
type,
loading,
) => {
2025-06-09 11:47:23 +00:00
return exportExcel(fileName, `${prefix}/document/template/export`, { type }, loading)
2025-05-27 11:06:47 +00:00
}
/**
* table
* @param fileName,type,
*/
const exportTableTemplate: (fileName: string, type: string, loading?: Ref<boolean>) => void = (
fileName,
type,
loading,
) => {
2025-06-09 11:47:23 +00:00
return exportExcel(fileName, `${prefix}/document/table_template/export`, { type }, loading)
2025-05-27 11:06:47 +00:00
}
/**
2025-06-09 11:47:23 +00:00
* Web
* @param
* {
"source_url_list": [
"string"
],
"selector": "string"
}
}
2025-05-27 11:06:47 +00:00
*/
2025-06-09 11:47:23 +00:00
const postWebDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return post(`${prefix}/${knowledge_id}/document/web`, data, undefined, loading)
}
const getAllDocument: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
knowledge_id,
loading,
) => {
return get(`${prefix}/${knowledge_id}/document`, undefined, loading)
2025-05-27 11:06:47 +00:00
}
2025-06-09 11:47:23 +00:00
const putLarkDocumentSync: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
document_id: string,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<any>> = (knowledge_id, document_id, loading) => {
2025-05-27 11:06:47 +00:00
return put(
2025-06-09 11:47:23 +00:00
`${prefix}/lark/${knowledge_id}/document/${document_id}/sync`,
undefined,
2025-05-27 11:06:47 +00:00
undefined,
loading,
)
}
2025-06-09 11:47:23 +00:00
const delMulLarkSyncDocument: (
knowledge_id: string,
2025-05-27 11:06:47 +00:00
data: any,
loading?: Ref<boolean>,
2025-06-09 11:47:23 +00:00
) => Promise<Result<boolean>> = (knowledge_id, data, loading) => {
return put(`${prefix}/lark/${knowledge_id}/_batch`, { id_list: data }, undefined, loading)
2025-05-27 11:06:47 +00:00
}
export default {
getDocument,
2025-06-09 11:47:23 +00:00
getDocumentDetail,
2025-05-27 11:06:47 +00:00
putDocument,
delDocument,
2025-06-09 11:47:23 +00:00
putBatchCancelTask,
putCancelTask,
getDownloadSourceFile,
exportDocument,
exportDocumentZip,
2025-05-27 11:06:47 +00:00
putDocumentRefresh,
putDocumentSync,
2025-06-09 11:47:23 +00:00
postMulDocument,
delMulDocument,
putBatchGenerateRelated,
putBatchEditHitHandling,
putBatchRefresh,
putMulSyncDocument,
2025-05-27 11:06:47 +00:00
putMigrateMulDocument,
postQADocument,
2025-06-09 11:47:23 +00:00
postSplitDocument,
listSplitPattern,
2025-05-27 11:06:47 +00:00
postTableDocument,
2025-06-09 11:47:23 +00:00
exportQATemplate,
exportTableTemplate,
postWebDocument,
getAllDocument,
2025-05-27 11:06:47 +00:00
putLarkDocumentSync,
delMulLarkSyncDocument,
}