From ca0a75e1fc396a9ebd8c47eeb0bb8642a0d20c61 Mon Sep 17 00:00:00 2001 From: JaguarDB <115371133+fserv@users.noreply.github.com> Date: Wed, 20 Dec 2023 19:11:57 -0800 Subject: [PATCH] community[patch]: JaguarHttpClient conditional import (#14985) - **Description:** Fixed jaguar.py to import JaguarHttpClient with try and catch - **Issue:** the issue # Unable to use the JaguarHttpClient at run time - **Dependencies:** It requires "pip install -U jaguardb-http-client" - **Twitter handle:** workbot --------- Co-authored-by: JY Co-authored-by: Bagatur --- .../langchain_community/vectorstores/jaguar.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libs/community/langchain_community/vectorstores/jaguar.py b/libs/community/langchain_community/vectorstores/jaguar.py index 610dcb1ed7f..f9cce66c42a 100644 --- a/libs/community/langchain_community/vectorstores/jaguar.py +++ b/libs/community/langchain_community/vectorstores/jaguar.py @@ -2,10 +2,7 @@ from __future__ import annotations import json import logging -from typing import TYPE_CHECKING, Any, List, Optional, Tuple - -if TYPE_CHECKING: - from jaguardb_http_client.JaguarHttpClient import JaguarHttpClient +from typing import Any, List, Optional, Tuple from langchain_core.documents import Document from langchain_core.embeddings import Embeddings @@ -23,7 +20,7 @@ class Jaguar(VectorStore): Example: .. code-block:: python - from langchain.vectorstores import Jaguar + from langchain_community.vectorstores.jaguar import Jaguar vectorstore = Jaguar( pod = 'vdb', @@ -53,6 +50,13 @@ class Jaguar(VectorStore): self._vector_dimension = vector_dimension self._embedding = embedding + try: + from jaguardb_http_client.JaguarHttpClient import JaguarHttpClient + except ImportError: + raise ValueError( + "Could not import jaguardb-http-client python package. " + "Please install it with `pip install -U jaguardb-http-client`" + ) self._jag = JaguarHttpClient(url) self._token = ""