From 1ae3873c55c3639273a20455d188d988af0e7235 Mon Sep 17 00:00:00 2001 From: Maytown Date: Wed, 14 May 2025 17:32:06 +0200 Subject: [PATCH] Feature: added indivdiual rag config update function --- backend/open_webui/models/knowledge.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/backend/open_webui/models/knowledge.py b/backend/open_webui/models/knowledge.py index 04359cabc..0a8072880 100644 --- a/backend/open_webui/models/knowledge.py +++ b/backend/open_webui/models/knowledge.py @@ -218,13 +218,23 @@ class KnowledgeTable: return True except Exception: return False - - def get_knowledge_by_collection_name(self, name: str) -> Optional[KnowledgeModel]: + + def update_rag_config_by_id( + self, id: str, rag_config: dict + ) -> Optional[KnowledgeModel]: try: with get_db() as db: - knowledge = db.query(Knowledge).filter_by(name=name).first() - return KnowledgeModel.model_validate(knowledge) if knowledge else None - except Exception: + knowledge = self.get_knowledge_by_id(id=id) + db.query(Knowledge).filter_by(id=id).update( + { + "rag_config": rag_config, + "updated_at": int(time.time()), + } + ) + db.commit() + return self.get_knowledge_by_id(id=id) + except Exception as e: + log.exception(e) return None Knowledges = KnowledgeTable()