Explorar o código

fix: properly serialize Milvus search results to avoid KeyError

guantao hai 7 horas
pai
achega
8e542fcb41
Modificáronse 1 ficheiros con 20 adicións e 1 borrados
  1. 20 1
      knowhub/vector_store.py

+ 20 - 1
knowhub/vector_store.py

@@ -167,7 +167,26 @@ class MilvusStore:
         if not results or not results[0]:
             return []
 
-        return [hit.entity.to_dict() for hit in results[0]]
+        # 返回实体字典,包含所有字段
+        return [
+            {
+                "id": hit.entity.get("id"),
+                "message_id": hit.entity.get("message_id"),
+                "task": hit.entity.get("task"),
+                "content": hit.entity.get("content"),
+                "types": hit.entity.get("types"),
+                "tags": hit.entity.get("tags"),
+                "tag_keys": hit.entity.get("tag_keys"),
+                "scopes": hit.entity.get("scopes"),
+                "owner": hit.entity.get("owner"),
+                "resource_ids": hit.entity.get("resource_ids"),
+                "source": hit.entity.get("source"),
+                "eval": hit.entity.get("eval"),
+                "created_at": hit.entity.get("created_at"),
+                "updated_at": hit.entity.get("updated_at"),
+            }
+            for hit in results[0]
+        ]
 
     def query(self, filters: str, limit: int = 100) -> List[Dict]:
         """