maxkb/ui/src/api/knowledge/knowledge.ts
wangdan-fit2cloud b45095f7ec feat: knowledge
2025-05-27 19:06:56 +08:00

109 lines
2.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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'
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)
}
/**
* 知识库分页列表
* @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,
)
}
/**
* 获取全部知识库
* @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)
}
export default {
getKnowledgeByFolder,
getKnowledgeList,
putReEmbeddingDataset,
putSyncWebKnowledge,
getKnowledgeDetail,
}