diff --git a/libs/community/langchain_community/vectorstores/vikingdb.py b/libs/community/langchain_community/vectorstores/vikingdb.py index 993cfa7a3cb..002db6485be 100644 --- a/libs/community/langchain_community/vectorstores/vikingdb.py +++ b/libs/community/langchain_community/vectorstores/vikingdb.py @@ -115,19 +115,27 @@ class VikingDB(VectorStore): # print(key, value) if isinstance(value, str): fields.append(Field(key, FieldType.String)) - if isinstance(value, int): + elif isinstance(value, int): fields.append(Field(key, FieldType.Int64)) - if isinstance(value, bool): + elif isinstance(value, bool): fields.append(Field(key, FieldType.Bool)) - if isinstance(value, list) and all( + elif isinstance(value, list) and all( isinstance(item, str) for item in value ): fields.append(Field(key, FieldType.List_String)) - if isinstance(value, list) and all( + elif isinstance(value, list) and all( isinstance(item, int) for item in value ): fields.append(Field(key, FieldType.List_Int64)) - fields.append(Field("text", FieldType.String)) + elif isinstance(value, bytes): + fields.append(Field(key, FieldType.Text)) + else: + raise ValueError( + "metadatas value is invalid" + "please change the type of metadatas." + ) + # fields.append(Field("text", FieldType.String)) + fields.append(Field("text", FieldType.Text)) fields.append(Field("primary_key", FieldType.String, is_primary_key=True))