Browse Source

support bf16 and f16 search (#491)

Signed-off-by: shanghaikid <jiangruiyi@gmail.com>
ryjiang 1 year ago
parent
commit
1c47734bf1
2 changed files with 10 additions and 2 deletions
  1. 7 1
      client/src/pages/search/VectorSearch.tsx
  2. 3 1
      server/src/collections/dto.ts

+ 7 - 1
client/src/pages/search/VectorSearch.tsx

@@ -100,7 +100,13 @@ const VectorSearch = () => {
     const fields = (s.schema && s.schema.fields) || [];
     const fields = (s.schema && s.schema.fields) || [];
 
 
     // vector field can't be output fields
     // vector field can't be output fields
-    const invalidTypes = ['BinaryVector', 'FloatVector', 'SparseFloatVector'];
+    const invalidTypes = [
+      'BinaryVector',
+      'FloatVector',
+      'Float16Vector',
+      'BFloat16Vector',
+      'SparseFloatVector',
+    ];
     const nonVectorFields = fields.filter(
     const nonVectorFields = fields.filter(
       field => !invalidTypes.includes(field.data_type)
       field => !invalidTypes.includes(field.data_type)
     );
     );

+ 3 - 1
server/src/collections/dto.ts

@@ -21,6 +21,8 @@ enum VectorTypes {
   Binary = DataType.BinaryVector,
   Binary = DataType.BinaryVector,
   Float = DataType.FloatVector,
   Float = DataType.FloatVector,
   SparseFloatVector = DataType.SparseFloatVector,
   SparseFloatVector = DataType.SparseFloatVector,
+  Float16Vector = DataType.Float16Vector,
+  BFloat16Vector = DataType.BFloat16Vector,
 }
 }
 
 
 export class CreateCollectionDto {
 export class CreateCollectionDto {
@@ -99,7 +101,7 @@ export class VectorSearchDto {
   @IsEnum(VectorTypes, {
   @IsEnum(VectorTypes, {
     message: ({ value }) => `Wrong vector type, ${value}`,
     message: ({ value }) => `Wrong vector type, ${value}`,
   })
   })
-  vector_type: DataType.BinaryVector | DataType.FloatVector;
+  vector_type: VectorTypes;
 }
 }
 
 
 export class CreateAliasDto {
 export class CreateAliasDto {