From 2c69e223c4d5e5a2fb174a555d5be152c782cad3 Mon Sep 17 00:00:00 2001 From: david qiu Date: Mon, 22 Apr 2024 15:01:07 -0700 Subject: [PATCH] Catch embedding model validation errors on extension init (#735) * catch embedding model validation errors on extension init * pre-commit --- .../jupyter_ai/chat_handlers/learn.py | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/packages/jupyter-ai/jupyter_ai/chat_handlers/learn.py b/packages/jupyter-ai/jupyter_ai/chat_handlers/learn.py index 7ac7506df..38390a44c 100644 --- a/packages/jupyter-ai/jupyter_ai/chat_handlers/learn.py +++ b/packages/jupyter-ai/jupyter_ai/chat_handlers/learn.py @@ -67,17 +67,23 @@ def __init__(self, *args, **kwargs): def _load(self): """Loads the vector store.""" - embeddings = self.get_embedding_model() - if not embeddings: + if self.index is not None: return - if self.index is None: - try: - self.index = FAISS.load_local( - INDEX_SAVE_DIR, embeddings, index_name=self.index_name - ) - self.load_metadata() - except Exception as e: - self.log.error("Could not load vector index from disk.") + + try: + embeddings = self.get_embedding_model() + if not embeddings: + return + + self.index = FAISS.load_local( + INDEX_SAVE_DIR, embeddings, index_name=self.index_name + ) + self.load_metadata() + except Exception as e: + self.log.error( + "Could not load vector index from disk. Full exception details printed below." + ) + self.log.error(e) async def process_message(self, message: HumanChatMessage): # If no embedding provider has been selected