Browse Source

知识库分类

CzRger 1 week ago
parent
commit
3eabbc46e0

+ 26 - 1
web/app/components/datasets/rename-modal/index.tsx

@@ -9,6 +9,7 @@ import cn from '@/utils/classnames'
 import Button from '@/app/components/base/button'
 import Button from '@/app/components/base/button'
 import Input from '@/app/components/base/input'
 import Input from '@/app/components/base/input'
 import Textarea from '@/app/components/base/textarea'
 import Textarea from '@/app/components/base/textarea'
+import { SimpleSelect } from '@/app/components/base/select'
 import Modal from '@/app/components/base/modal'
 import Modal from '@/app/components/base/modal'
 import { ToastContext } from '@/app/components/base/toast'
 import { ToastContext } from '@/app/components/base/toast'
 import type { DataSet } from '@/models/datasets'
 import type { DataSet } from '@/models/datasets'
@@ -29,7 +30,14 @@ const RenameDatasetModal = ({ show, dataset, onSuccess, onClose }: RenameDataset
   const [description, setDescription] = useState<string>(dataset.description)
   const [description, setDescription] = useState<string>(dataset.description)
   const [externalKnowledgeId, setExternalKnowledgeId] = useState<string>(dataset.external_knowledge_info.external_knowledge_id)
   const [externalKnowledgeId, setExternalKnowledgeId] = useState<string>(dataset.external_knowledge_info.external_knowledge_id)
   const [externalKnowledgeApiId, setExternalKnowledgeApiId] = useState<string>(dataset.external_knowledge_info.external_knowledge_api_id)
   const [externalKnowledgeApiId, setExternalKnowledgeApiId] = useState<string>(dataset.external_knowledge_info.external_knowledge_api_id)
-
+  const [type, setType] = useState<any>(dataset.type)
+  const [options, setOptions] = useState<any>([])
+  setTimeout(() => {
+    const arr = []
+    for (let i = 1; i < 10; i++)
+      arr.push({ name: `选项${i}`, value: i })
+    setOptions(arr)
+  }, 1000)
   const onConfirm: MouseEventHandler = async () => {
   const onConfirm: MouseEventHandler = async () => {
     if (!name.trim()) {
     if (!name.trim()) {
       notify({ type: 'error', message: t('datasetSettings.form.nameError') })
       notify({ type: 'error', message: t('datasetSettings.form.nameError') })
@@ -40,6 +48,7 @@ const RenameDatasetModal = ({ show, dataset, onSuccess, onClose }: RenameDataset
       const body: Partial<DataSet> & { external_knowledge_id?: string; external_knowledge_api_id?: string } = {
       const body: Partial<DataSet> & { external_knowledge_id?: string; external_knowledge_api_id?: string } = {
         name,
         name,
         description,
         description,
+        type,
       }
       }
       if (externalKnowledgeId && externalKnowledgeApiId) {
       if (externalKnowledgeId && externalKnowledgeApiId) {
         body.external_knowledge_id = externalKnowledgeId
         body.external_knowledge_id = externalKnowledgeId
@@ -74,6 +83,22 @@ const RenameDatasetModal = ({ show, dataset, onSuccess, onClose }: RenameDataset
       </div>
       </div>
       <div>
       <div>
         <div className={cn('flex flex-wrap items-center justify-between py-4')}>
         <div className={cn('flex flex-wrap items-center justify-between py-4')}>
+          <div className='flex shrink-0 items-center py-2 text-sm font-medium leading-[20px] text-text-primary'>
+            分类管理
+            <div style={{
+              color: '#1E98D7',
+            }} className='ml-3 cursor-pointer hover:opacity-75'>设置</div>
+          </div>
+          <div className='w-full'>
+            <SimpleSelect
+              defaultValue={type}
+              onSelect={(i) => { setType(i.value) }}
+              items={options}
+              allowSearch={false}
+            />
+          </div>
+        </div>
+        <div className={cn('flex flex-wrap items-center justify-between py-4')}>
           <div className='shrink-0 py-2 text-sm font-medium leading-[20px] text-text-primary'>
           <div className='shrink-0 py-2 text-sm font-medium leading-[20px] text-text-primary'>
             {t('datasetSettings.form.name')}
             {t('datasetSettings.form.name')}
           </div>
           </div>

+ 2 - 1
web/models/datasets.ts

@@ -66,7 +66,8 @@ export type DataSet = {
     score_threshold_enabled: boolean
     score_threshold_enabled: boolean
   }
   }
   built_in_field_enabled: boolean
   built_in_field_enabled: boolean
-  doc_metadata?: MetadataInDoc[]
+  doc_metadata?: MetadataInDoc[],
+  type: string,
 }
 }
 
 
 export type ExternalAPIItem = {
 export type ExternalAPIItem = {

+ 1 - 1
web/service/datasets.ts

@@ -57,7 +57,7 @@ export const fetchDatasetDetail: Fetcher<DataSet, string> = (datasetId: string)
 export const updateDatasetSetting: Fetcher<DataSet, {
 export const updateDatasetSetting: Fetcher<DataSet, {
   datasetId: string
   datasetId: string
   body: Partial<Pick<DataSet,
   body: Partial<Pick<DataSet,
-    'name' | 'description' | 'permission' | 'partial_member_list' | 'indexing_technique' | 'retrieval_model' | 'embedding_model' | 'embedding_model_provider'
+    'name' | 'description' | 'permission' | 'partial_member_list' | 'indexing_technique' | 'retrieval_model' | 'embedding_model' | 'embedding_model_provider' | 'type'
   >>
   >>
 }> = ({ datasetId, body }) => {
 }> = ({ datasetId, body }) => {
   return patch<DataSet>(`/datasets/${datasetId}`, { body })
   return patch<DataSet>(`/datasets/${datasetId}`, { body })