```diff
--- test_files/222-original.txt	2025-03-07 19:06:35
+++ test_files/222-modified.txt	2025-03-07 19:06:35
@@ -1,9 +1,8 @@
+from __future__ import annotations
+
 import os
-from typing import Any, Dict, List
+from typing import TYPE_CHECKING, Any, Dict, List
 
-from deeplake.core.vectorstore.deeplake_vectorstore import DeepLakeVectorStore
-from sentence_transformers import SentenceTransformer
-
 from composio.tools.local.codeanalysis.constants import (
     CODE_MAP_CACHE,
     DEEPLAKE_FOLDER,
@@ -11,6 +10,10 @@
 )
 
 
+if TYPE_CHECKING:
+    from deeplake.core.vectorstore.deeplake_vectorstore import DeepLakeVectorStore
+
+
 def get_vector_store(repo_name: str, overwrite: bool = True) -> DeepLakeVectorStore:
     """
     Get or create a DeepLakeVectorStore for the given repository.
@@ -29,18 +32,19 @@
     if not repo_name:
         raise ValueError("Repository path cannot be empty or None")
 
+    from deeplake.core.vectorstore.deeplake_vectorstore import (  # pylint: disable=import-outside-toplevel
+        DeepLakeVectorStore,
+    )
+
     try:
         repo_name = os.path.basename(repo_name)
-
         deeplake_repo_path = os.path.join(CODE_MAP_CACHE, repo_name, DEEPLAKE_FOLDER)
-
         deeplake_vector_store = DeepLakeVectorStore(
             path=deeplake_repo_path,
             overwrite=overwrite,
             read_only=False,
             ingestion_batch_size=1000,
         )
-
         return deeplake_vector_store
 
     except OSError as e:
@@ -49,6 +53,9 @@
 
 class Embedding:
     def __init__(self):
+        # pylint: disable=import-outside-toplevel
+        from sentence_transformers import SentenceTransformer
+
         self.model = SentenceTransformer(EMBEDDER)
 
     def compute(self, texts: List[str]) -> List[List[float]]:
@@ -71,7 +78,7 @@
             embeddings = self.model.encode(
                 texts, batch_size=64, show_progress_bar=True, convert_to_numpy=True
             )
-            return embeddings.tolist()
+            return embeddings.tolist()  # type: ignore
         except Exception as e:
             raise RuntimeError(f"Failed to compute embeddings: {str(e)}") from e
 
@@ -141,12 +148,16 @@
         ValueError: If the input parameters are invalid.
         RuntimeError: If there's an error during the search process.
     """
+    from deeplake.core.vectorstore.deeplake_vectorstore import (  # pylint: disable=import-outside-toplevel
+        DeepLakeVectorStore,
+    )
+
     if not isinstance(vector_store, DeepLakeVectorStore):
         raise ValueError("vector_store must be an instance of DeepLakeVectorStore")
     try:
         embed_model = Embedding()
         query_embedding = embed_model.compute([query])[0]
         results = vector_store.search(embedding=query_embedding, k=top_n)
-        return results
+        return results  # type: ignore
     except Exception as e:
         raise RuntimeError(f"Error during vector store search: {str(e)}") from e
```
