浏览代码

update embedding type

tumao 4 年之前
父节点
当前提交
88c3685547
共有 4 个文件被更改,包括 25 次插入28 次删除
  1. 8 11
      client/src/consts/Milvus.tsx
  2. 2 2
      client/src/pages/seach/Types.ts
  3. 7 6
      client/src/pages/seach/VectorSearch.tsx
  4. 8 9
      client/src/utils/search.ts

+ 8 - 11
client/src/consts/Milvus.tsx

@@ -1,3 +1,5 @@
+import { DataTypeEnum } from '../pages/collections/Types';
+
 export enum METRIC_TYPES_VALUES {
 export enum METRIC_TYPES_VALUES {
   L2 = 'L2',
   L2 = 'L2',
   IP = 'IP',
   IP = 'IP',
@@ -121,11 +123,11 @@ export const m_OPTIONS = [
 ];
 ];
 
 
 export const INDEX_OPTIONS_MAP = {
 export const INDEX_OPTIONS_MAP = {
-  FLOAT_INDEX: Object.keys(FLOAT_INDEX_CONFIG).map(v => ({
+  [DataTypeEnum.FloatVector]: Object.keys(FLOAT_INDEX_CONFIG).map(v => ({
     label: v,
     label: v,
     value: v,
     value: v,
   })),
   })),
-  BINARY_INDEX: Object.keys(BINARY_INDEX_CONFIG).map(v => ({
+  [DataTypeEnum.BinaryVector]: Object.keys(BINARY_INDEX_CONFIG).map(v => ({
     label: v,
     label: v,
     value: v,
     value: v,
   })),
   })),
@@ -133,13 +135,8 @@ export const INDEX_OPTIONS_MAP = {
 
 
 export const PRIMARY_KEY_FIELD = 'INT64 (Primary key)';
 export const PRIMARY_KEY_FIELD = 'INT64 (Primary key)';
 
 
-export enum EmbeddingTypeEnum {
-  float = 'FLOAT_INDEX',
-  binary = 'BINARY_INDEX',
-}
-
 export const METRIC_OPTIONS_MAP = {
 export const METRIC_OPTIONS_MAP = {
-  [EmbeddingTypeEnum.float]: [
+  [DataTypeEnum.FloatVector]: [
     {
     {
       value: METRIC_TYPES_VALUES.L2,
       value: METRIC_TYPES_VALUES.L2,
       label: METRIC_TYPES_VALUES.L2,
       label: METRIC_TYPES_VALUES.L2,
@@ -149,7 +146,7 @@ export const METRIC_OPTIONS_MAP = {
       label: METRIC_TYPES_VALUES.IP,
       label: METRIC_TYPES_VALUES.IP,
     },
     },
   ],
   ],
-  [EmbeddingTypeEnum.binary]: [
+  [DataTypeEnum.BinaryVector]: [
     {
     {
       value: METRIC_TYPES_VALUES.SUBSTRUCTURE,
       value: METRIC_TYPES_VALUES.SUBSTRUCTURE,
       label: METRIC_TYPES_VALUES.SUBSTRUCTURE,
       label: METRIC_TYPES_VALUES.SUBSTRUCTURE,
@@ -178,8 +175,8 @@ export const METRIC_OPTIONS_MAP = {
  * use Hamming as binary default metric type
  * use Hamming as binary default metric type
  */
  */
 export const DEFAULT_METRIC_VALUE_MAP = {
 export const DEFAULT_METRIC_VALUE_MAP = {
-  [EmbeddingTypeEnum.float]: METRIC_TYPES_VALUES.L2,
-  [EmbeddingTypeEnum.binary]: METRIC_TYPES_VALUES.HAMMING,
+  [DataTypeEnum.FloatVector]: METRIC_TYPES_VALUES.L2,
+  [DataTypeEnum.BinaryVector]: METRIC_TYPES_VALUES.HAMMING,
 };
 };
 
 
 // search params default value map
 // search params default value map

+ 2 - 2
client/src/pages/seach/Types.ts

@@ -1,5 +1,5 @@
 import { Option } from '../../components/customSelector/Types';
 import { Option } from '../../components/customSelector/Types';
-import { EmbeddingTypeEnum, searchKeywordsType } from '../../consts/Milvus';
+import { searchKeywordsType } from '../../consts/Milvus';
 import { DataType, DataTypeEnum } from '../collections/Types';
 import { DataType, DataTypeEnum } from '../collections/Types';
 import { IndexView } from '../schema/Types';
 import { IndexView } from '../schema/Types';
 
 
@@ -8,7 +8,7 @@ export interface SearchParamsProps {
   // else pass empty string
   // else pass empty string
   metricType: string;
   metricType: string;
   // used for getting metric type options
   // used for getting metric type options
-  embeddingType: EmbeddingTypeEnum;
+  embeddingType: DataTypeEnum.FloatVector | DataTypeEnum.BinaryVector;
   // default index type is FLAT
   // default index type is FLAT
   indexType: string;
   indexType: string;
   // index extra params, e.g. nlist
   // index extra params, e.g. nlist

+ 7 - 6
client/src/pages/seach/VectorSearch.tsx

@@ -5,10 +5,7 @@ import { ALL_ROUTER_TYPES } from '../../router/Types';
 import CustomSelector from '../../components/customSelector/CustomSelector';
 import CustomSelector from '../../components/customSelector/CustomSelector';
 import { useCallback, useEffect, useMemo, useState } from 'react';
 import { useCallback, useEffect, useMemo, useState } from 'react';
 import SearchParams from './SearchParams';
 import SearchParams from './SearchParams';
-import {
-  DEFAULT_METRIC_VALUE_MAP,
-  EmbeddingTypeEnum,
-} from '../../consts/Milvus';
+import { DEFAULT_METRIC_VALUE_MAP } from '../../consts/Milvus';
 import { FieldOption, SearchResultView, VectorSearchParam } from './Types';
 import { FieldOption, SearchResultView, VectorSearchParam } from './Types';
 import MilvusGrid from '../../components/grid/Grid';
 import MilvusGrid from '../../components/grid/Grid';
 import EmptyCard from '../../components/cards/EmptyCard';
 import EmptyCard from '../../components/cards/EmptyCard';
@@ -149,7 +146,7 @@ const VectorSearch = () => {
         indexType: '',
         indexType: '',
         indexParams: [],
         indexParams: [],
         fieldType: 0,
         fieldType: 0,
-        embeddingType: EmbeddingTypeEnum.float,
+        embeddingType: DataTypeEnum.FloatVector,
       };
       };
     }, [selectedField, fieldOptions]);
     }, [selectedField, fieldOptions]);
 
 
@@ -326,7 +323,11 @@ const VectorSearch = () => {
           <SearchParams
           <SearchParams
             wrapperClass={classes.paramsWrapper}
             wrapperClass={classes.paramsWrapper}
             metricType={metricType!}
             metricType={metricType!}
-            embeddingType={embeddingType}
+            embeddingType={
+              embeddingType as
+                | DataTypeEnum.BinaryVector
+                | DataTypeEnum.FloatVector
+            }
             indexType={indexType}
             indexType={indexType}
             indexParams={indexParams!}
             indexParams={indexParams!}
             searchParamsForm={searchParam}
             searchParamsForm={searchParam}

+ 8 - 9
client/src/utils/search.ts

@@ -1,6 +1,5 @@
 import { Field } from '../components/advancedSearch/Types';
 import { Field } from '../components/advancedSearch/Types';
-import { EmbeddingTypeEnum } from '../consts/Milvus';
-import { DataType } from '../pages/collections/Types';
+import { DataType, DataTypeEnum } from '../pages/collections/Types';
 import {
 import {
   FieldData,
   FieldData,
   IndexType,
   IndexType,
@@ -32,11 +31,13 @@ export const transferSearchResult = (
  * @param fieldType only vector type fields: 'BinaryVector' or 'FloatVector'
  * @param fieldType only vector type fields: 'BinaryVector' or 'FloatVector'
  * @returns 'FLOAT_INDEX' or 'BINARY_INDEX'
  * @returns 'FLOAT_INDEX' or 'BINARY_INDEX'
  */
  */
-export const getEmbeddingType = (fieldType: DataType): EmbeddingTypeEnum => {
+export const getEmbeddingType = (
+  fieldType: DataType
+): DataTypeEnum.BinaryVector | DataTypeEnum.FloatVector => {
   const type =
   const type =
     fieldType === 'BinaryVector'
     fieldType === 'BinaryVector'
-      ? EmbeddingTypeEnum.binary
-      : EmbeddingTypeEnum.float;
+      ? DataTypeEnum.BinaryVector
+      : DataTypeEnum.FloatVector;
   return type;
   return type;
 };
 };
 
 
@@ -46,11 +47,9 @@ export const getEmbeddingType = (fieldType: DataType): EmbeddingTypeEnum => {
  * @param embeddingType float or binary
  * @param embeddingType float or binary
  * @returns index type
  * @returns index type
  */
  */
-export const getDefaultIndexType = (
-  embeddingType: EmbeddingTypeEnum
-): IndexType => {
+export const getDefaultIndexType = (embeddingType: DataTypeEnum): IndexType => {
   const defaultIndexType =
   const defaultIndexType =
-    embeddingType === EmbeddingTypeEnum.float
+    embeddingType === DataTypeEnum.FloatVector
       ? INDEX_TYPES_ENUM.FLAT
       ? INDEX_TYPES_ENUM.FLAT
       : INDEX_TYPES_ENUM.BIN_FLAT;
       : INDEX_TYPES_ENUM.BIN_FLAT;
   return defaultIndexType;
   return defaultIndexType;