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

276 lines
6.4 KiB
TypeScript
Raw Normal View History

2025-06-08 08:43:40 +00:00
import { Result } from '@/request/Result'
import { get, post, del, put, exportFile, exportExcel } from '@/request/index'
import { type Ref } from 'vue'
import type { pageRequest } from '@/api/type/common'
import type { knowledgeData } from '@/api/type/knowledge'
2025-06-06 01:39:01 +00:00
2025-06-16 11:00:46 +00:00
import useStore from '@/stores'
const prefix: any = { _value: '/workspace/' }
Object.defineProperty(prefix, 'value', {
get: function () {
const { user } = useStore()
return this._value + user.getWorkspaceId() + '/knowledge'
},
})
2025-05-08 08:23:03 +00:00
2025-06-13 07:52:47 +00:00
/**
*
* @param
* param {
folder_id: "string",
name: "string",
tool_type: "string",
desc: string,
}
*/
const getKnowledgeList: (param?: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
param,
loading,
) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}`, param, loading)
2025-06-13 07:52:47 +00:00
}
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
*/
2025-06-13 07:52:47 +00:00
const getKnowledgeListPage: (
2025-05-08 08:23:03 +00:00
page: pageRequest,
param?: any,
loading?: Ref<boolean>,
2025-06-06 01:39:01 +00:00
) => Promise<Result<any>> = (page, param, loading) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${page.current_page}/${page.page_size}`, param, loading)
2025-05-08 08:23:03 +00:00
}
2025-05-27 11:06:47 +00:00
/**
*
* @param knowledge_id
*/
2025-06-08 08:43:40 +00:00
const getKnowledgeDetail: (knowledge_id: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
knowledge_id,
loading,
) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${knowledge_id}`, undefined, loading)
2025-05-27 11:06:47 +00:00
}
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) => {
2025-06-16 11:00:46 +00:00
return put(`${prefix.value}/${knowledge_id}`, data, undefined, loading)
2025-06-04 10:08:52 +00:00
}
2025-06-08 08:43:40 +00:00
/**
2025-06-09 11:57:49 +00:00
*
* @param knowledge_id
2025-06-08 08:43:40 +00:00
*/
2025-06-09 11:57:49 +00:00
const delKnowledge: (knowledge_id: String, loading?: Ref<boolean>) => Promise<Result<boolean>> = (
knowledge_id,
loading,
) => {
2025-06-16 11:00:46 +00:00
return del(`${prefix.value}/${knowledge_id}`, undefined, {}, loading)
2025-06-09 11:57:49 +00:00
}
/**
*
* @param knowledge_id
*/
const putReEmbeddingKnowledge: (
2025-06-08 08:43:40 +00:00
knowledge_id: string,
loading?: Ref<boolean>,
2025-06-09 11:57:49 +00:00
) => Promise<Result<any>> = (knowledge_id, loading) => {
2025-06-16 11:00:46 +00:00
return put(`${prefix.value}/${knowledge_id}/embedding`, undefined, undefined, loading)
2025-06-08 08:43:40 +00:00
}
/**
*
* @param knowledge_name
* @param knowledge_id id
* @returns
*/
const exportKnowledge: (
knowledge_name: string,
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
2025-06-09 11:57:49 +00:00
return exportExcel(
knowledge_name + '.xlsx',
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/export`,
2025-06-09 11:57:49 +00:00
undefined,
loading,
)
2025-06-08 08:43:40 +00:00
}
/**
*Zip
* @param knowledge_name
* @param knowledge_id id
* @param loading
* @returns
*/
const exportZipKnowledge: (
knowledge_name: string,
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
return exportFile(
knowledge_name + '.zip',
2025-06-16 11:00:46 +00:00
`${prefix.value}/${knowledge_id}/export_zip`,
2025-06-08 08:43:40 +00:00
undefined,
loading,
)
}
2025-06-09 11:57:49 +00:00
/**
*
* @param knowledge_id id
* @param data
* @param loading
* @returns
*/
const putGenerateRelated: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, data, loading) => {
2025-06-16 11:00:46 +00:00
return put(`${prefix.value}/${knowledge_id}/generate_related`, data, null, loading)
2025-06-09 11:57:49 +00:00
}
/**
*
* @param knowledge_id
* @param loading
* @query { query_text: string, top_number: number, similarity: number }
* @returns
*/
const getKnowledgeHitTest: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, data, loading) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${knowledge_id}/hit_test`, data, loading)
2025-06-09 11:57:49 +00:00
}
/**
*
* @param knowledge_id
* @query sync_type // 同步类型->replace:替换同步,complete:完整同步
*/
const putSyncWebKnowledge: (
knowledge_id: string,
sync_type: string,
loading?: Ref<boolean>,
) => Promise<Result<any>> = (knowledge_id, sync_type, loading) => {
2025-06-16 11:00:46 +00:00
return put(`${prefix.value}/${knowledge_id}/sync`, undefined, { sync_type }, loading)
2025-06-09 11:57:49 +00:00
}
/**
*
* @param
* {
"name": "string",
"folder_id": "string",
"desc": "string",
"embedding": "string"
}
*/
const postKnowledge: (data: knowledgeData, loading?: Ref<boolean>) => Promise<Result<any>> = (
data,
loading,
) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/base`, data, undefined, loading, 1000 * 60 * 5)
2025-06-09 11:57:49 +00:00
}
/**
2025-06-17 10:11:35 +00:00
* 使 ()
2025-06-09 11:57:49 +00:00
* @param application_id
* @param loading
* @query { query_text: string, top_number: number, similarity: number }
* @returns
*/
const getKnowledgeEmdeddingModel: (
knowledge_id: string,
loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (knowledge_id, loading) => {
2025-06-16 11:00:46 +00:00
return get(`${prefix.value}/${knowledge_id}/emdedding_model`, loading)
2025-06-09 11:57:49 +00:00
}
2025-06-08 08:43:40 +00:00
/**
* 使
2025-06-17 10:11:35 +00:00
* @param
2025-06-08 08:43:40 +00:00
* @param loading
* @returns
*/
2025-06-17 02:22:46 +00:00
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
return get(`${prefix.value}/model`, loading)
2025-06-08 08:43:40 +00:00
}
2025-06-09 11:57:49 +00:00
/**
* Web
* @param
* {
"name": "string",
"folder_id": "string",
"desc": "string",
"embedding": "string",
"source_url": "string",
"selector": "string"
}
*/
const postWebKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<any>> = (
data,
loading,
) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/web`, data, undefined, loading)
2025-06-09 11:57:49 +00:00
}
2025-06-17 10:11:35 +00:00
// 创建飞书知识库
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
data,
loading,
) => {
2025-06-16 11:00:46 +00:00
return post(`${prefix.value}/lark/save`, data, null, loading)
}
2025-06-17 10:11:35 +00:00
const putLarkKnowledge: (
knowledge_id: string,
data: any,
loading?: Ref<boolean>
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return put(`${prefix}/lark/${knowledge_id}`, data, undefined, loading)
}
2025-05-08 08:23:03 +00:00
export default {
getKnowledgeList,
2025-06-13 07:52:47 +00:00
getKnowledgeListPage,
2025-05-27 11:06:47 +00:00
getKnowledgeDetail,
2025-06-05 12:15:55 +00:00
putKnowledge,
2025-06-09 11:57:49 +00:00
delKnowledge,
putReEmbeddingKnowledge,
2025-06-08 08:43:40 +00:00
exportKnowledge,
exportZipKnowledge,
2025-06-09 11:57:49 +00:00
putGenerateRelated,
getKnowledgeHitTest,
putSyncWebKnowledge,
postKnowledge,
2025-06-08 08:43:40 +00:00
getKnowledgeModel,
2025-06-09 11:57:49 +00:00
postWebKnowledge,
postLarkKnowledge,
2025-06-17 10:11:35 +00:00
putLarkKnowledge
2025-05-08 08:23:03 +00:00
}