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
|
|
|
|
}
|