diff --git a/src/knowledge/base.py b/src/knowledge/base.py index f4f54807..5cf7797c 100644 --- a/src/knowledge/base.py +++ b/src/knowledge/base.py @@ -137,12 +137,13 @@ class KnowledgeBase(ABC): db_id = f"kb_{hashstr(database_name, with_salt=True)}" # 创建数据库记录 + # 确保 Pydantic 模型被转换为字典,以便 JSON 序列化 self.databases_meta[db_id] = { "name": database_name, "description": description, "kb_type": self.kb_type, - "embed_info": embed_info, - "llm_info": llm_info, + "embed_info": embed_info.model_dump() if hasattr(embed_info, 'model_dump') else embed_info, + "llm_info": llm_info.model_dump() if hasattr(llm_info, 'model_dump') else llm_info, "metadata": kwargs, "created_at": utc_isoformat(), }