feat: lark knowledge
This commit is contained in:
parent
19e8e76386
commit
89ad56744b
@ -13,21 +13,6 @@ Object.defineProperty(prefix, 'value', {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得知识库文件夹列表
|
|
||||||
* @params 参数
|
|
||||||
* {folder_id: string,
|
|
||||||
* name: string,
|
|
||||||
* user_id: string,
|
|
||||||
* desc: string,}
|
|
||||||
*/
|
|
||||||
const getKnowledgeByFolder: (data?: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
|
||||||
data,
|
|
||||||
loading,
|
|
||||||
) => {
|
|
||||||
return get(`${prefix.value}`, data, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 知识库列表(无分页)
|
* 知识库列表(无分页)
|
||||||
* @param 参数
|
* @param 参数
|
||||||
@ -212,7 +197,7 @@ const postKnowledge: (data: knowledgeData, loading?: Ref<boolean>) => Promise<Re
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前用户可使用的向量化模型列表
|
* 获取当前用户可使用的向量化模型列表 (没用到)
|
||||||
* @param application_id
|
* @param application_id
|
||||||
* @param loading
|
* @param loading
|
||||||
* @query { query_text: string, top_number: number, similarity: number }
|
* @query { query_text: string, top_number: number, similarity: number }
|
||||||
@ -227,9 +212,8 @@ const getKnowledgeEmdeddingModel: (
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前用户可使用的模型列表
|
* 获取当前用户可使用的模型列表
|
||||||
* @param application_id
|
* @param
|
||||||
* @param loading
|
* @param loading
|
||||||
* @query { query_text: string, top_number: number, similarity: number }
|
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
|
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
|
||||||
@ -255,6 +239,7 @@ const postWebKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<an
|
|||||||
return post(`${prefix.value}/web`, data, undefined, loading)
|
return post(`${prefix.value}/web`, data, undefined, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 创建飞书知识库
|
||||||
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
||||||
data,
|
data,
|
||||||
loading,
|
loading,
|
||||||
@ -262,8 +247,15 @@ const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<A
|
|||||||
return post(`${prefix.value}/lark/save`, data, null, loading)
|
return post(`${prefix.value}/lark/save`, data, null, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getKnowledgeByFolder,
|
|
||||||
getKnowledgeList,
|
getKnowledgeList,
|
||||||
getKnowledgeListPage,
|
getKnowledgeListPage,
|
||||||
getKnowledgeDetail,
|
getKnowledgeDetail,
|
||||||
@ -278,6 +270,6 @@ export default {
|
|||||||
postKnowledge,
|
postKnowledge,
|
||||||
getKnowledgeModel,
|
getKnowledgeModel,
|
||||||
postWebKnowledge,
|
postWebKnowledge,
|
||||||
|
|
||||||
postLarkKnowledge,
|
postLarkKnowledge,
|
||||||
|
putLarkKnowledge
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,22 +4,7 @@ import { type Ref } from 'vue'
|
|||||||
import type { pageRequest } from '@/api/type/common'
|
import type { pageRequest } from '@/api/type/common'
|
||||||
import type { knowledgeData } from '@/api/type/knowledge'
|
import type { knowledgeData } from '@/api/type/knowledge'
|
||||||
|
|
||||||
const prefix = '/system/shared'
|
const prefix = '/system/shared/knowledge'
|
||||||
|
|
||||||
/**
|
|
||||||
* 获得知识库文件夹列表
|
|
||||||
* @params 参数
|
|
||||||
* {folder_id: string,
|
|
||||||
* name: string,
|
|
||||||
* user_id: string,
|
|
||||||
* desc: string,}
|
|
||||||
*/
|
|
||||||
const getKnowledgeByFolder: (data?: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
|
||||||
data,
|
|
||||||
loading,
|
|
||||||
) => {
|
|
||||||
return get(`${prefix}/knowledge`, data, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 知识库列表(无分页)
|
* 知识库列表(无分页)
|
||||||
@ -35,7 +20,7 @@ const getKnowledgeList: (param?: any, loading?: Ref<boolean>) => Promise<Result<
|
|||||||
param,
|
param,
|
||||||
loading,
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return get(`${prefix}/knowledge`, param, loading)
|
return get(`${prefix}`, param, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -53,7 +38,7 @@ const getKnowledgeListPage: (
|
|||||||
param?: any,
|
param?: any,
|
||||||
loading?: Ref<boolean>,
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<any>> = (page, param, loading) => {
|
) => Promise<Result<any>> = (page, param, loading) => {
|
||||||
return get(`${prefix}/knowledge/${page.current_page}/${page.page_size}`, param, loading)
|
return get(`${prefix}/${page.current_page}/${page.page_size}`, param, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -64,7 +49,7 @@ const getKnowledgeDetail: (knowledge_id: string, loading?: Ref<boolean>) => Prom
|
|||||||
knowledge_id,
|
knowledge_id,
|
||||||
loading,
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return get(`${prefix}/knowledge/${knowledge_id}`, undefined, loading)
|
return get(`${prefix}/${knowledge_id}`, undefined, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -81,7 +66,7 @@ const putKnowledge: (
|
|||||||
data: any,
|
data: any,
|
||||||
loading?: Ref<boolean>,
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
|
) => Promise<Result<any>> = (knowledge_id, data, loading) => {
|
||||||
return put(`${prefix}/knowledge/${knowledge_id}`, data, undefined, loading)
|
return put(`${prefix}/${knowledge_id}`, data, undefined, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -103,7 +88,7 @@ const putReEmbeddingKnowledge: (
|
|||||||
knowledge_id: string,
|
knowledge_id: string,
|
||||||
loading?: Ref<boolean>,
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<any>> = (knowledge_id, loading) => {
|
) => Promise<Result<any>> = (knowledge_id, loading) => {
|
||||||
return put(`${prefix}/knowledge/${knowledge_id}/embedding`, undefined, undefined, loading)
|
return put(`${prefix}/${knowledge_id}/embedding`, undefined, undefined, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -119,7 +104,7 @@ const exportKnowledge: (
|
|||||||
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
|
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
|
||||||
return exportExcel(
|
return exportExcel(
|
||||||
knowledge_name + '.xlsx',
|
knowledge_name + '.xlsx',
|
||||||
`${prefix}/${knowledge_id}/knowledge/${knowledge_id}/export`,
|
`${prefix}/${knowledge_id}/export`,
|
||||||
undefined,
|
undefined,
|
||||||
loading,
|
loading,
|
||||||
)
|
)
|
||||||
@ -138,7 +123,7 @@ const exportZipKnowledge: (
|
|||||||
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
|
) => Promise<any> = (knowledge_name, knowledge_id, loading) => {
|
||||||
return exportFile(
|
return exportFile(
|
||||||
knowledge_name + '.zip',
|
knowledge_name + '.zip',
|
||||||
`${prefix}/${knowledge_id}/knowledge/${knowledge_id}/export_zip`,
|
`${prefix}/${knowledge_id}/export_zip`,
|
||||||
undefined,
|
undefined,
|
||||||
loading,
|
loading,
|
||||||
)
|
)
|
||||||
@ -184,7 +169,7 @@ const putSyncWebKnowledge: (
|
|||||||
sync_type: string,
|
sync_type: string,
|
||||||
loading?: Ref<boolean>,
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<any>> = (knowledge_id, sync_type, loading) => {
|
) => Promise<Result<any>> = (knowledge_id, sync_type, loading) => {
|
||||||
return put(`${prefix}/knowledge/${knowledge_id}/sync`, undefined, { sync_type }, loading)
|
return put(`${prefix}/${knowledge_id}/sync`, undefined, { sync_type }, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -201,7 +186,7 @@ const postKnowledge: (data: knowledgeData, loading?: Ref<boolean>) => Promise<Re
|
|||||||
data,
|
data,
|
||||||
loading,
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return post(`${prefix}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5)
|
return post(`${prefix}/base`, data, undefined, loading, 1000 * 60 * 5)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -226,7 +211,7 @@ const getKnowledgeEmdeddingModel: (
|
|||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
|
const getKnowledgeModel: (loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (loading) => {
|
||||||
return get(`${prefix}/knowledge/model`, loading)
|
return get(`${prefix}/model`, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -245,17 +230,25 @@ const postWebKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<an
|
|||||||
data,
|
data,
|
||||||
loading,
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return post(`${prefix}/knowledge/web`, data, undefined, loading)
|
return post(`${prefix}/web`, data, undefined, loading)
|
||||||
}
|
}
|
||||||
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
const postLarkKnowledge: (data: any, loading?: Ref<boolean>) => Promise<Result<Array<any>>> = (
|
||||||
data,
|
data,
|
||||||
loading,
|
loading,
|
||||||
) => {
|
) => {
|
||||||
return post(`${prefix}/knowledge/lark/save`, data, null, loading)
|
return post(`${prefix}/lark/save`, data, null, loading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
getKnowledgeByFolder,
|
|
||||||
getKnowledgeList,
|
getKnowledgeList,
|
||||||
getKnowledgeListPage,
|
getKnowledgeListPage,
|
||||||
getKnowledgeDetail,
|
getKnowledgeDetail,
|
||||||
@ -270,8 +263,8 @@ export default {
|
|||||||
postKnowledge,
|
postKnowledge,
|
||||||
getKnowledgeModel,
|
getKnowledgeModel,
|
||||||
postWebKnowledge,
|
postWebKnowledge,
|
||||||
|
|
||||||
postLarkKnowledge,
|
postLarkKnowledge,
|
||||||
|
putLarkKnowledge
|
||||||
} as {
|
} as {
|
||||||
[key: string]: any
|
[key: string]: any
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('views.knowledge.form.EmbeddingModel.label')"
|
:label="$t('views.knowledge.form.EmbeddingModel.label')"
|
||||||
prop="embedding_model_id"
|
prop="embedding"
|
||||||
>
|
>
|
||||||
<ModelSelect
|
<ModelSelect
|
||||||
v-model="form.embedding"
|
v-model="form.embedding"
|
||||||
|
|||||||
@ -57,7 +57,7 @@ const submitHandle = async () => {
|
|||||||
}
|
}
|
||||||
KnowledgeApi.postKnowledge(obj, loading).then((res) => {
|
KnowledgeApi.postKnowledge(obj, loading).then((res) => {
|
||||||
MsgSuccess(t('common.createSuccess'))
|
MsgSuccess(t('common.createSuccess'))
|
||||||
// router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
|
router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -10,21 +10,21 @@
|
|||||||
<!-- 基本信息 -->
|
<!-- 基本信息 -->
|
||||||
<BaseForm ref="BaseFormRef" v-if="dialogVisible" />
|
<BaseForm ref="BaseFormRef" v-if="dialogVisible" />
|
||||||
<el-form
|
<el-form
|
||||||
ref="DatasetFormRef"
|
ref="knowledgeFormRef"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
:model="datasetForm"
|
:model="knowledgeForm"
|
||||||
label-position="top"
|
label-position="top"
|
||||||
require-asterisk-position="right"
|
require-asterisk-position="right"
|
||||||
>
|
>
|
||||||
<el-form-item label="App ID" prop="app_id">
|
<el-form-item label="App ID" prop="app_id">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="datasetForm.app_id"
|
v-model="knowledgeForm.app_id"
|
||||||
:placeholder="$t('views.application.applicationAccess.larkSetting.appIdPlaceholder')"
|
:placeholder="$t('views.application.applicationAccess.larkSetting.appIdPlaceholder')"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="App Secret" prop="app_secret">
|
<el-form-item label="App Secret" prop="app_secret">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="datasetForm.app_secret"
|
v-model="knowledgeForm.app_secret"
|
||||||
type="password"
|
type="password"
|
||||||
show-password
|
show-password
|
||||||
:placeholder="$t('views.application.applicationAccess.larkSetting.appSecretPlaceholder')"
|
:placeholder="$t('views.application.applicationAccess.larkSetting.appSecretPlaceholder')"
|
||||||
@ -32,7 +32,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="Folder Token" prop="folder_token">
|
<el-form-item label="Folder Token" prop="folder_token">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="datasetForm.folder_token"
|
v-model="knowledgeForm.folder_token"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
$t('views.application.applicationAccess.larkSetting.folderTokenPlaceholder')
|
$t('views.application.applicationAccess.larkSetting.folderTokenPlaceholder')
|
||||||
"
|
"
|
||||||
@ -63,12 +63,13 @@ const emit = defineEmits(['refresh'])
|
|||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const BaseFormRef = ref()
|
const BaseFormRef = ref()
|
||||||
const DatasetFormRef = ref()
|
const knowledgeFormRef = ref()
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const dialogVisible = ref<boolean>(false)
|
const dialogVisible = ref<boolean>(false)
|
||||||
|
const currentFolder = ref<any>(null)
|
||||||
|
|
||||||
const datasetForm = ref<any>({
|
const knowledgeForm = ref<any>({
|
||||||
type: '0',
|
type: '0',
|
||||||
source_url: '',
|
source_url: '',
|
||||||
selector: '',
|
selector: '',
|
||||||
@ -124,29 +125,34 @@ const rules = reactive({
|
|||||||
|
|
||||||
watch(dialogVisible, (bool) => {
|
watch(dialogVisible, (bool) => {
|
||||||
if (!bool) {
|
if (!bool) {
|
||||||
datasetForm.value = {
|
knowledgeForm.value = {
|
||||||
type: '0',
|
type: '0',
|
||||||
source_url: '',
|
source_url: '',
|
||||||
selector: '',
|
selector: '',
|
||||||
}
|
}
|
||||||
DatasetFormRef.value?.clearValidate()
|
knowledgeFormRef.value?.clearValidate()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const open = () => {
|
const open = (folder: string) => {
|
||||||
|
currentFolder.value = folder
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
const submitHandle = async () => {
|
const submitHandle = async () => {
|
||||||
if (await BaseFormRef.value?.validate()) {
|
if (await BaseFormRef.value?.validate()) {
|
||||||
await DatasetFormRef.value.validate((valid: any) => {
|
await knowledgeFormRef.value.validate((valid: any) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const obj = { ...BaseFormRef.value.form, ...datasetForm.value }
|
const obj = {
|
||||||
// KnowledgeApi.postLarkKnowledge(obj, loading).then((res) => {
|
folder_id: currentFolder.value?.id,
|
||||||
// MsgSuccess(t('common.createSuccess'))
|
...BaseFormRef.value.form,
|
||||||
// router.push({ path: `/knowledge/${res.data.id}/document` })
|
...knowledgeForm.value,
|
||||||
// emit('refresh')
|
}
|
||||||
// })
|
KnowledgeApi.postLarkKnowledge(obj, loading).then((res: any) => {
|
||||||
|
MsgSuccess(t('common.createSuccess'))
|
||||||
|
router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
|
||||||
|
emit('refresh')
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
:label="$t('views.knowledge.form.EmbeddingModel.label')"
|
:label="$t('views.knowledge.form.EmbeddingModel.label')"
|
||||||
prop="embedding_model_id"
|
prop="embedding"
|
||||||
>
|
>
|
||||||
<ModelSelect
|
<ModelSelect
|
||||||
v-model="form.embedding"
|
v-model="form.embedding"
|
||||||
|
|||||||
@ -142,13 +142,11 @@ const submitHandle = async () => {
|
|||||||
await KnowledgeFormRef.value.validate((valid: any) => {
|
await KnowledgeFormRef.value.validate((valid: any) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const obj = { ...BaseFormRef.value.form, ...datasetForm.value }
|
const obj = { ...BaseFormRef.value.form, ...datasetForm.value }
|
||||||
KnowledgeApi.postLarkKnowledge({ ...obj, embedding_model_id: obj.embedding }, loading).then(
|
KnowledgeApi.postLarkKnowledge(obj, loading).then((res: any) => {
|
||||||
(res: any) => {
|
|
||||||
MsgSuccess(t('common.createSuccess'))
|
MsgSuccess(t('common.createSuccess'))
|
||||||
router.push({ path: `/knowledge/${res.data.id}/document` })
|
router.push({ path: `/knowledge/${res.data.id}/document` })
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
},
|
})
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user