diff --git a/semantic_router/routers/base.py b/semantic_router/routers/base.py
index 328cf2b77c4ff45bed8c861dda72407568841451..18d71cedeb235e024bca52416d851e99fbb5d102 100644
--- a/semantic_router/routers/base.py
+++ b/semantic_router/routers/base.py
@@ -522,7 +522,7 @@ class BaseRouter(BaseModel):
         """
         # get relevant results (scores and routes)
         results = self._retrieve(
-            xq=np.array(vector), top_k=self.top_k, route_filter=route_filter
+            xq=vector[0], top_k=self.top_k, route_filter=route_filter
         )
         # decide most relevant routes
         top_class, top_class_scores = self._semantic_classify(results)
@@ -535,7 +535,7 @@ class BaseRouter(BaseModel):
     ) -> Tuple[Optional[Route], List[float]]:
         # get relevant results (scores and routes)
         results = await self._async_retrieve(
-            xq=np.array(vector), top_k=self.top_k, route_filter=route_filter
+            xq=vector[0], top_k=self.top_k, route_filter=route_filter
         )
         # decide most relevant routes
         top_class, top_class_scores = await self._async_semantic_classify(results)
diff --git a/semantic_router/routers/semantic.py b/semantic_router/routers/semantic.py
index 33af2a32da0bff9942512cc83ee04e6ef9342037..41c92d538828409f6d36cab74086096fba52e844 100644
--- a/semantic_router/routers/semantic.py
+++ b/semantic_router/routers/semantic.py
@@ -40,14 +40,12 @@ class SemanticRouter(BaseRouter):
         """Given some text, encode it."""
         # create query vector
         xq = np.array(self.encoder(text))
-        xq = np.squeeze(xq)  # Reduce to 1d array.
         return xq
 
     async def _async_encode(self, text: list[str]) -> Any:
         """Given some text, encode it."""
         # create query vector
         xq = np.array(await self.encoder.acall(docs=text))
-        xq = np.squeeze(xq)  # Reduce to 1d array.
         return xq
 
     def add(self, routes: List[Route] | Route):