diff --git a/.changeset/strange-waves-sit.md b/.changeset/strange-waves-sit.md
new file mode 100644
index 0000000000000000000000000000000000000000..ff071af01cced5abab28893abd37da89d009990e
--- /dev/null
+++ b/.changeset/strange-waves-sit.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": minor
+---
+
+Use parameter object for retrieve function of Retriever (to align usage with query function of QueryEngine)
diff --git a/apps/docs/docs/modules/node_postprocessors/index.md b/apps/docs/docs/modules/node_postprocessors/index.md
index ec5ae88e1f07764cab14143fe3f7f20ad093e9b6..f562eb564488afb6ba22f0c88a16bad282bcf4fd 100644
--- a/apps/docs/docs/modules/node_postprocessors/index.md
+++ b/apps/docs/docs/modules/node_postprocessors/index.md
@@ -100,7 +100,7 @@ const response = await queryEngine.query("<user_query>");
 ```ts
 import { SimilarityPostprocessor } from "llamaindex";
 
-nodes = await index.asRetriever().retrieve("test query str");
+nodes = await index.asRetriever().retrieve({ query: "test query str" });
 
 const processor = new SimilarityPostprocessor({
   similarityCutoff: 0.7,
diff --git a/apps/docs/docs/modules/retriever.md b/apps/docs/docs/modules/retriever.md
index d49fba12f794179ca1d8a24101ca9009c69eacc0..a7ac81ab1040659f99595ecd0fd1a044004f136a 100644
--- a/apps/docs/docs/modules/retriever.md
+++ b/apps/docs/docs/modules/retriever.md
@@ -11,7 +11,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Fetch nodes!
-const nodesWithScore = await retriever.retrieve("query string");
+const nodesWithScore = await retriever.retrieve({ query: "query string" });
 ```
 
 ## API Reference
diff --git a/apps/docs/i18n/ar/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/ar/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 01106a849124cd3573251461c059d08a77a4f5c4..9c815b45b16ba39cd140b69061d8be7d81aba736 100644
--- a/apps/docs/i18n/ar/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/ar/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // جلب العقد!
-const nodesWithScore = await retriever.retrieve("سلسلة الاستعلام");
+const nodesWithScore = await retriever.retrieve({ query: "سلسلة الاستعلام" });
 ```
 
 ## مرجع الواجهة البرمجية (API Reference)
diff --git a/apps/docs/i18n/bg/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/bg/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index d359dfa5e4bda225ca4a2af2ea1eac1ef4d15a91..f12ce9c7948d1561895e99cec377cdcd4104c423 100644
--- a/apps/docs/i18n/bg/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/bg/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Извличане на върхове!
-const nodesWithScore = await retriever.retrieve("query string");
+const nodesWithScore = await retriever.retrieve({ query: "query string" });
 ```
 
 ## API Reference (API справка)
diff --git a/apps/docs/i18n/cat/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/cat/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index c4fe80912aa370fc06831a9e42aa2af69d0ed260..140a3615417e332628df934220cf1db1b4cb8dfc 100644
--- a/apps/docs/i18n/cat/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/cat/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const recuperador = vector_index.asRetriever();
 recuperador.similarityTopK = 3;
 
 // Obteniu els nodes!
-const nodesAmbPuntuació = await recuperador.retrieve("cadena de consulta");
+const nodesAmbPuntuació = await recuperador.retrieve({ query: "cadena de consulta" });
 ```
 
 ## Referència de l'API
diff --git a/apps/docs/i18n/cs/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/cs/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 6377c59acdc3a63823e882cc3437a3b22809e3f0..964081d12ef79fad6ce485dd0c598c4730e694cb 100644
--- a/apps/docs/i18n/cs/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/cs/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Získání uzlů!
-const nodesWithScore = await retriever.retrieve("dotazovací řetězec");
+const nodesWithScore = await retriever.retrieve({ query: "dotazovací řetězec" });
 ```
 
 ## API Reference (Odkazy na rozhraní)
diff --git a/apps/docs/i18n/da/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/da/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index add4ef4b68ebea54cda3d632d0588a228c95ee91..246ac3683e60e83a0caccab051d3849eaf46f1ae 100644
--- a/apps/docs/i18n/da/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/da/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Hent noder!
-const nodesWithScore = await retriever.retrieve("forespørgselsstreng");
+const nodesWithScore = await retriever.retrieve({ query: "forespørgselsstreng" });
 ```
 
 ## API Reference
diff --git a/apps/docs/i18n/de/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/de/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index d5cf4391700e12a6fe5a43454ed8d669d6e854f4..21ff7495a7f265b8e38564513c4c613ea4a785b6 100644
--- a/apps/docs/i18n/de/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/de/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Knoten abrufen!
-const nodesWithScore = await retriever.retrieve("Abfragezeichenfolge");
+const nodesWithScore = await retriever.retrieve({ query: "Abfragezeichenfolge" });
 ```
 
 ## API-Referenz
diff --git a/apps/docs/i18n/el/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/el/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 7ea01cbc4eb4caa6e5bc58e409fea113f8422407..969001308c64bb1a81042c1beeef3cbe13581d8e 100644
--- a/apps/docs/i18n/el/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/el/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Ανάκτηση κόμβων!
-const nodesWithScore = await retriever.retrieve("συμβολοσειρά ερωτήματος");
+const nodesWithScore = await retriever.retrieve({ query: "συμβολοσειρά ερωτήματος" });
 ```
 
 ## Αναφορά API
diff --git a/apps/docs/i18n/es/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/es/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index afa70f1c50d896258ac2fb9d73419ed4f9459439..bcfc3168f673699fa7f6e50b1c24259d82ea6520 100644
--- a/apps/docs/i18n/es/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/es/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const recuperador = vector_index.asRetriever();
 recuperador.similarityTopK = 3;
 
 // ¡Obtener nodos!
-const nodosConPuntuación = await recuperador.retrieve("cadena de consulta");
+const nodosConPuntuación = await recuperador.retrieve({ query: "cadena de consulta" });
 ```
 
 ## Referencia de la API
diff --git a/apps/docs/i18n/et/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/et/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 5c22d1435308c0ee1cbffd00d696540ecf816da4..c69a2ed7d3420e05971967a63e4ef57aceb9cc04 100644
--- a/apps/docs/i18n/et/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/et/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Too sõlmed!
-const nodesWithScore = await retriever.retrieve("päringu string");
+const nodesWithScore = await retriever.retrieve({ query: "päringu string" });
 ```
 
 ## API viide
diff --git a/apps/docs/i18n/fa/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/fa/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 510c4ab4974e2064d730aa45a4a313bb450ecfa0..bc6eb1c33d1d0c572a428cebde81401184673785 100644
--- a/apps/docs/i18n/fa/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/fa/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // بازیابی گره ها!
-const nodesWithScore = await retriever.retrieve("رشته پرس و جو");
+const nodesWithScore = await retriever.retrieve({ query: "رشته پرس و جو" });
 ```
 
 ## مرجع API
diff --git a/apps/docs/i18n/fi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/fi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index f4dca038dadbf2bf0e47fdcd001a18b2f8ac1fdd..79e275247ad7780b408b1a7fd917b32f370970ee 100644
--- a/apps/docs/i18n/fi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/fi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Hae solmut!
-const nodesWithScore = await retriever.retrieve("kyselymerkkijono");
+const nodesWithScore = await retriever.retrieve({ query: "kyselymerkkijono" });
 ```
 
 ## API-viite
diff --git a/apps/docs/i18n/fr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/fr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index c762bfd489be38f14273f25a13e9af171532cbdf..e3eec5c574296c69392868db901bcdd7927a05ea 100644
--- a/apps/docs/i18n/fr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/fr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -11,7 +11,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Récupérer les nœuds !
-const nodesWithScore = await retriever.retrieve("chaîne de requête");
+const nodesWithScore = await retriever.retrieve({ query: "chaîne de requête" });
 ```
 
 ## Référence de l'API
diff --git a/apps/docs/i18n/he/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/he/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index c28f08aade2ec666f363ad24e591eaa99457d637..636cbefc698ea3a98eb4819ff3340a65c2212d6d 100644
--- a/apps/docs/i18n/he/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/he/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // אחזור צמתים!
-const nodesWithScore = await retriever.retrieve("מחרוזת שאילתה");
+const nodesWithScore = await retriever.retrieve({ query: "מחרוזת שאילתה" });
 ```
 
 ## מדריך לממשק API
diff --git a/apps/docs/i18n/hi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/hi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 16f921481b6b760806574dabd8591bc896844219..97db686056bc6e64fb1dbdac652205a76cb84245 100644
--- a/apps/docs/i18n/hi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/hi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // नोड्स प्राप्त करें!
-const nodesWithScore = await retriever.retrieve("क्वेरी स्ट्रिंग");
+const nodesWithScore = await retriever.retrieve({ query: "क्वेरी स्ट्रिंग" });
 ```
 
 ## एपीआई संदर्भ (API Reference)
diff --git a/apps/docs/i18n/hr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/hr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index f2a67e689ff10779d428ac2c95a1bb77fc67ec51..f99ff826c6bd14c8f54d0c540775883ff2a4e80a 100644
--- a/apps/docs/i18n/hr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/hr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const dohvatnik = vector_index.asRetriever();
 dohvatnik.similarityTopK = 3;
 
 // Dohvati čvorove!
-const čvoroviSaRezultatom = await dohvatnik.retrieve("upitni niz");
+const čvoroviSaRezultatom = await dohvatnik.retrieve({ query: "upitni niz" });
 ```
 
 ## API Referenca
diff --git a/apps/docs/i18n/hu/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/hu/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 69b623aa7135760d23b213181b3344d62f14296d..9e82c1bd4716d95f9bba76dfc5d7e90fae5869f4 100644
--- a/apps/docs/i18n/hu/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/hu/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Node-ok lekérése!
-const nodesWithScore = await retriever.retrieve("lekérdezési karakterlánc");
+const nodesWithScore = await retriever.retrieve({ query: "lekérdezési karakterlánc" });
 ```
 
 ## API Referencia
diff --git a/apps/docs/i18n/in/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/in/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index efcfa9109581cf2a4e0865e765e4cc8a3ea6f056..eb0c0bc6c4e3a62a137a00e1bcba65d3319f214e 100644
--- a/apps/docs/i18n/in/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/in/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Mengambil node!
-const nodesWithScore = await retriever.retrieve("string query");
+const nodesWithScore = await retriever.retrieve({ query: "string query" });
 ```
 
 ## Referensi API
diff --git a/apps/docs/i18n/it/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/it/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 32d0ba8f67402667ee645bca12b324d69a3420a7..0a2e84102807aa0eac997a1797003f3cb134487c 100644
--- a/apps/docs/i18n/it/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/it/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Recupera i nodi!
-const nodesWithScore = await retriever.retrieve("stringa di query");
+const nodesWithScore = await retriever.retrieve({ query: "stringa di query" });
 ```
 
 ## Riferimento API
diff --git a/apps/docs/i18n/ja/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/ja/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 3d186afc438f2dbbd41e566fc235229c13627458..6e1185e0671dd60661208a8d863c3b239b68ae12 100644
--- a/apps/docs/i18n/ja/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/ja/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // ノードを取得します!
-const nodesWithScore = await retriever.retrieve("クエリ文字列");
+const nodesWithScore = await retriever.retrieve({ query: "クエリ文字列" });
 ```
 
 ## API リファレンス
diff --git a/apps/docs/i18n/ko/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/ko/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index e6b328f11e5f8a2c85f387d8262ecf835cdb51da..95d5115f6e9cdbf374cb3b83b7300b922ba240bf 100644
--- a/apps/docs/i18n/ko/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/ko/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // 노드를 가져옵니다!
-const nodesWithScore = await retriever.retrieve("쿼리 문자열");
+const nodesWithScore = await retriever.retrieve({ query: "쿼리 문자열" });
 ```
 
 ## API 참조
diff --git a/apps/docs/i18n/lt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/lt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 38298476d5c96a12066c8e9919d51d87ad62ff17..d037e56c0601abf9f310a018e936a3c1e86a979d 100644
--- a/apps/docs/i18n/lt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/lt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const gavÄ—jas = vector_index.asRetriever();
 gavÄ—jas.similarityTopK = 3;
 
 // IÅ¡gaunami mazgai!
-const mazgaiSuRezultatu = await gavėjas.retrieve("užklausos eilutė");
+const mazgaiSuRezultatu = await gavėjas.retrieve({ query: "užklausos eilutė" });
 ```
 
 ## API nuorodos (API Reference)
diff --git a/apps/docs/i18n/nl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/nl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index dc8a98e2c5d3c626dde4c14f2e02636e33896bf3..c2fa6edec914150ae4af840dbb9cd8c9b864759c 100644
--- a/apps/docs/i18n/nl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/nl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Haal knooppunten op!
-const nodesWithScore = await retriever.retrieve("zoekopdracht");
+const nodesWithScore = await retriever.retrieve({ query: "zoekopdracht" });
 ```
 
 ## API Referentie
diff --git a/apps/docs/i18n/no/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/no/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index d5bc96810776616bc9798b0dcb884af7a66dfa4e..d31fe853ae36e8f765c728dc48213631a71449b7 100644
--- a/apps/docs/i18n/no/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/no/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Hent noder!
-const nodesWithScore = await retriever.retrieve("spørringsstreng");
+const nodesWithScore = await retriever.retrieve({ query: "spørringsstreng" });
 ```
 
 ## API-referanse
diff --git a/apps/docs/i18n/pl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/pl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 15f5e38403494c2c9c44bb51709546a058b34d62..d871d1dddda0373ad489017563546d21ddb22504 100644
--- a/apps/docs/i18n/pl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/pl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Pobierz węzły!
-const nodesWithScore = await retriever.retrieve("ciÄ…g zapytania");
+const nodesWithScore = await retriever.retrieve({ query: "ciÄ…g zapytania" });
 ```
 
 ## Dokumentacja interfejsu API
diff --git a/apps/docs/i18n/pt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/pt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 8745376508370cbc19eafe66d9ebfcfc28c12288..cd8db499452b2e9bc5464226d8aac400bf542b01 100644
--- a/apps/docs/i18n/pt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/pt/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const recuperador = vector_index.asRetriever();
 recuperador.similarityTopK = 3;
 
 // Buscar nós!
-const nósComPontuação = await recuperador.retrieve("string de consulta");
+const nósComPontuação = await recuperador.retrieve({ query: "string de consulta" });
 ```
 
 ## Referência da API
diff --git a/apps/docs/i18n/ro/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/ro/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 2ff076fa09b884d5ae1159a1bd77d33e18a7f77b..8ff0a5e015fce95fc83c0beb737719cc79e2cc94 100644
--- a/apps/docs/i18n/ro/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/ro/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const recuperator = vector_index.asRetriever();
 recuperator.similarityTopK = 3;
 
 // Preia nodurile!
-const noduriCuScor = await recuperator.retrieve("șir de interogare");
+const noduriCuScor = await recuperator.retrieve({ query: "șir de interogare" });
 ```
 
 ## Referință API
diff --git a/apps/docs/i18n/ru/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/ru/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 45e1be335838d7ea647e2c28a6b5101b50976d78..ef9fec98d4d2d87446f21c7199cb63f7cfdab60c 100644
--- a/apps/docs/i18n/ru/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/ru/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Получение узлов!
-const nodesWithScore = await retriever.retrieve("строка запроса");
+const nodesWithScore = await retriever.retrieve({ query: "строка запроса" });
 ```
 
 ## Справочник по API
diff --git a/apps/docs/i18n/se/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/se/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 4ddd2f2e06b14fcda0d7dee4ce36b64638107a5b..79f29bd3390c6a2a970246761c401212ded7700f 100644
--- a/apps/docs/i18n/se/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/se/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Dohvati čvorove!
-const nodesWithScore = await retriever.retrieve("upitni niz");
+const nodesWithScore = await retriever.retrieve({ query: "upitni niz" });
 ```
 
 ## API Referenca
diff --git a/apps/docs/i18n/sk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/sk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index cf1edafa4469118ec222c865603d66c37a68db5d..cf9f091d40c93ffe7b9ae66ca4604625f1657c1e 100644
--- a/apps/docs/i18n/sk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/sk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const pridobitelj = vector_index.asRetriever();
 pridobitelj.similarityTopK = 3;
 
 // Pridobivanje vozlišč!
-const vozliščaZRezultatom = await pridobitelj.retrieve("poizvedbeni niz");
+const vozliščaZRezultatom = await pridobitelj.retrieve({ query: "poizvedbeni niz" });
 ```
 
 ## API Sklic
diff --git a/apps/docs/i18n/sl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/sl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index b388e433a4df5af4d77b43c43e3d258efdb49592..e016223f728bfd57c95cbd9ee90f213818b1abad 100644
--- a/apps/docs/i18n/sl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/sl/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Získajte uzly!
-const nodesWithScore = await retriever.retrieve("reťazec dotazu");
+const nodesWithScore = await retriever.retrieve({ query: "reťazec dotazu" });
 ```
 
 ## API Referencia
diff --git a/apps/docs/i18n/sv/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/sv/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 55a6f4238d3aa52a95b48b6a43e095328a6af10f..62c2382529901c32070bcc8e13880d10e85079c4 100644
--- a/apps/docs/i18n/sv/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/sv/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Hämta noder!
-const nodesWithScore = await retriever.retrieve("frågesträng");
+const nodesWithScore = await retriever.retrieve({ query: "frågesträng" });
 ```
 
 ## API-referens
diff --git a/apps/docs/i18n/th/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/th/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 0ef44f8ec292bb36e5761ce9817853ebe607ff70..add14fae88b36295b9d436124d0baa714e6feb28 100644
--- a/apps/docs/i18n/th/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/th/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // เรียกคืนโหนด!
-const nodesWithScore = await retriever.retrieve("query string");
+const nodesWithScore = await retriever.retrieve({ query: "query string" });
 ```
 
 ## API Reference (การอ้างอิง API)
diff --git a/apps/docs/i18n/tr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/tr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 07800027d5a16a235499f683be26039a6467ef32..aa4cfdab3796d1787f0f812afbc61d053c3aeddb 100644
--- a/apps/docs/i18n/tr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/tr/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Düğümleri getir!
-const nodesWithScore = await retriever.retrieve("sorgu dizesi");
+const nodesWithScore = await retriever.retrieve({ query: "sorgu dizesi" });
 ```
 
 ## API Referansı
diff --git a/apps/docs/i18n/uk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/uk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index ee6adad9c0caa9ef6d5b3a3de7e08a28a7739223..fd5ba8e7f180262a7501f167d531b3d22e534ac0 100644
--- a/apps/docs/i18n/uk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/uk/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Отримати вузли!
-const nodesWithScore = await retriever.retrieve("рядок запиту");
+const nodesWithScore = await retriever.retrieve({ query: "рядок запиту" });
 ```
 
 ## Довідник API
diff --git a/apps/docs/i18n/vi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/vi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 680aa5c0277134e8061341a3d0148210023df39c..94f256aa24b89f48dc914477a1152d11dc56e369 100644
--- a/apps/docs/i18n/vi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/vi/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // Lấy các node!
-const nodesWithScore = await retriever.retrieve("chuỗi truy vấn");
+const nodesWithScore = await retriever.retrieve({ query: "chuỗi truy vấn" });
 ```
 
 ## Tài liệu tham khảo API
diff --git a/apps/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index 183705617b416a8e3d0e32253ad1c85a3f9cd2c3..29c86e86935a780ee39a50ffdadde2f993ed96f3 100644
--- a/apps/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -11,7 +11,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // 获取节点!
-const nodesWithScore = await retriever.retrieve("查询字符串");
+const nodesWithScore = await retriever.retrieve({ query: "查询字符串" });
 ```
 
 ## API 参考
diff --git a/apps/docs/i18n/zh_tw/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md b/apps/docs/i18n/zh_tw/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
index f1a16d3a4d162cf9843a1212c2b54194236548e8..cd1cc102d74414fb251cfc41e3ef75bf6babec5d 100644
--- a/apps/docs/i18n/zh_tw/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
+++ b/apps/docs/i18n/zh_tw/docusaurus-plugin-content-docs/current/modules/low_level/retriever.md
@@ -13,7 +13,7 @@ const retriever = vector_index.asRetriever();
 retriever.similarityTopK = 3;
 
 // 提取節點!
-const nodesWithScore = await retriever.retrieve("查詢字串");
+const nodesWithScore = await retriever.retrieve({ query: "查詢字串" });
 ```
 
 ## API 參考
diff --git a/examples/multimodal/retrieve.ts b/examples/multimodal/retrieve.ts
index 187838c3c22972eb96473573204711899ad11342..8e0e2242e6dda3ac060615e20eb24883a4a1800d 100644
--- a/examples/multimodal/retrieve.ts
+++ b/examples/multimodal/retrieve.ts
@@ -27,9 +27,9 @@ async function main() {
   // retrieve documents using the index
   const index = await createIndex();
   const retriever = index.asRetriever({ similarityTopK: 3 });
-  const results = await retriever.retrieve(
-    "what are Vincent van Gogh's famous paintings",
-  );
+  const results = await retriever.retrieve({
+    query: "what are Vincent van Gogh's famous paintings",
+  });
   for (const result of results) {
     const node = result.node;
     if (!node) {
diff --git a/packages/core/src/Retriever.ts b/packages/core/src/Retriever.ts
index 516108477c85480e9b37b170b6a5186fee958a02..e482493a9ad26f2cb5a3da5fb4384c705618fcbd 100644
--- a/packages/core/src/Retriever.ts
+++ b/packages/core/src/Retriever.ts
@@ -2,14 +2,16 @@ import type { Event } from "./callbacks/CallbackManager.js";
 import type { NodeWithScore } from "./Node.js";
 import type { ServiceContext } from "./ServiceContext.js";
 
+export type RetrieveParams = {
+  query: string;
+  parentEvent?: Event;
+  preFilters?: unknown;
+};
+
 /**
  * Retrievers retrieve the nodes that most closely match our query in similarity.
  */
 export interface BaseRetriever {
-  retrieve(
-    query: string,
-    parentEvent?: Event,
-    preFilters?: unknown,
-  ): Promise<NodeWithScore[]>;
+  retrieve(params: RetrieveParams): Promise<NodeWithScore[]>;
   getServiceContext(): ServiceContext;
 }
diff --git a/packages/core/src/cloud/LlamaCloudIndex.ts b/packages/core/src/cloud/LlamaCloudIndex.ts
index 8eb65dd413bf469a749fa864a0a6f33abcd61b50..5a5154d08ed6ea830b5f1debe29f582b75109ecd 100644
--- a/packages/core/src/cloud/LlamaCloudIndex.ts
+++ b/packages/core/src/cloud/LlamaCloudIndex.ts
@@ -3,7 +3,7 @@ import { RetrieverQueryEngine } from "../engines/query/RetrieverQueryEngine.js";
 import type { BaseNodePostprocessor } from "../postprocessors/types.js";
 import type { BaseSynthesizer } from "../synthesizers/types.js";
 import type { BaseQueryEngine } from "../types.js";
-import type { RetrieveParams } from "./LlamaCloudRetriever.js";
+import type { CloudRetrieveParams } from "./LlamaCloudRetriever.js";
 import { LlamaCloudRetriever } from "./LlamaCloudRetriever.js";
 import type { CloudConstructorParams } from "./types.js";
 
@@ -14,7 +14,7 @@ export class LlamaCloudIndex {
     this.params = params;
   }
 
-  asRetriever(params: RetrieveParams = {}): BaseRetriever {
+  asRetriever(params: CloudRetrieveParams = {}): BaseRetriever {
     return new LlamaCloudRetriever({ ...this.params, ...params });
   }
 
@@ -23,7 +23,7 @@ export class LlamaCloudIndex {
       responseSynthesizer?: BaseSynthesizer;
       preFilters?: unknown;
       nodePostprocessors?: BaseNodePostprocessor[];
-    } & RetrieveParams,
+    } & CloudRetrieveParams,
   ): BaseQueryEngine {
     const retriever = new LlamaCloudRetriever({
       ...this.params,
diff --git a/packages/core/src/cloud/LlamaCloudRetriever.ts b/packages/core/src/cloud/LlamaCloudRetriever.ts
index 7938a59c06b0b8296b4821c2faee298cb4f6aac2..05f94f3abecb9e149e91572eec679ed9f22cbd31 100644
--- a/packages/core/src/cloud/LlamaCloudRetriever.ts
+++ b/packages/core/src/cloud/LlamaCloudRetriever.ts
@@ -2,15 +2,14 @@ import type { PlatformApi, PlatformApiClient } from "@llamaindex/cloud";
 import { globalsHelper } from "../GlobalsHelper.js";
 import type { NodeWithScore } from "../Node.js";
 import { ObjectType, jsonToNode } from "../Node.js";
-import type { BaseRetriever } from "../Retriever.js";
+import type { BaseRetriever, RetrieveParams } from "../Retriever.js";
 import type { ServiceContext } from "../ServiceContext.js";
 import { serviceContextFromDefaults } from "../ServiceContext.js";
-import type { Event } from "../callbacks/CallbackManager.js";
 import type { ClientParams, CloudConstructorParams } from "./types.js";
 import { DEFAULT_PROJECT_NAME } from "./types.js";
 import { getClient } from "./utils.js";
 
-export type RetrieveParams = Omit<
+export type CloudRetrieveParams = Omit<
   PlatformApi.RetrievalParams,
   "query" | "searchFilters" | "pipelineId" | "className"
 > & { similarityTopK?: number };
@@ -18,7 +17,7 @@ export type RetrieveParams = Omit<
 export class LlamaCloudRetriever implements BaseRetriever {
   client?: PlatformApiClient;
   clientParams: ClientParams;
-  retrieveParams: RetrieveParams;
+  retrieveParams: CloudRetrieveParams;
   projectName: string = DEFAULT_PROJECT_NAME;
   pipelineName: string;
   serviceContext: ServiceContext;
@@ -35,7 +34,7 @@ export class LlamaCloudRetriever implements BaseRetriever {
     });
   }
 
-  constructor(params: CloudConstructorParams & RetrieveParams) {
+  constructor(params: CloudConstructorParams & CloudRetrieveParams) {
     this.clientParams = { apiKey: params.apiKey, baseUrl: params.baseUrl };
     if (params.similarityTopK) {
       params.denseSimilarityTopK = params.similarityTopK;
@@ -55,11 +54,11 @@ export class LlamaCloudRetriever implements BaseRetriever {
     return this.client;
   }
 
-  async retrieve(
-    query: string,
-    parentEvent?: Event | undefined,
-    preFilters?: unknown,
-  ): Promise<NodeWithScore[]> {
+  async retrieve({
+    query,
+    parentEvent,
+    preFilters,
+  }: RetrieveParams): Promise<NodeWithScore[]> {
     const pipelines = await (
       await this.getClient()
     ).pipeline.searchPipelines({
diff --git a/packages/core/src/engines/chat/DefaultContextGenerator.ts b/packages/core/src/engines/chat/DefaultContextGenerator.ts
index 7fbb6ab37530a3291f47e0ec1ec3df45bc9854ec..dfcb9a8dda6870e938484ec0c5fe4ffe7812b689 100644
--- a/packages/core/src/engines/chat/DefaultContextGenerator.ts
+++ b/packages/core/src/engines/chat/DefaultContextGenerator.ts
@@ -64,10 +64,10 @@ export class DefaultContextGenerator
         tags: ["final"],
       };
     }
-    const sourceNodesWithScore = await this.retriever.retrieve(
-      message,
+    const sourceNodesWithScore = await this.retriever.retrieve({
+      query: message,
       parentEvent,
-    );
+    });
 
     const nodes = await this.applyNodePostprocessors(
       sourceNodesWithScore,
diff --git a/packages/core/src/engines/query/RetrieverQueryEngine.ts b/packages/core/src/engines/query/RetrieverQueryEngine.ts
index a8adbe0adb68fc9b60302c2baa92490ea83ad2a3..540243dabc22ace5fef3f30d9e2357d8894fa807 100644
--- a/packages/core/src/engines/query/RetrieverQueryEngine.ts
+++ b/packages/core/src/engines/query/RetrieverQueryEngine.ts
@@ -63,11 +63,11 @@ export class RetrieverQueryEngine
   }
 
   private async retrieve(query: string, parentEvent: Event) {
-    const nodes = await this.retriever.retrieve(
+    const nodes = await this.retriever.retrieve({
       query,
       parentEvent,
-      this.preFilters,
-    );
+      preFilters: this.preFilters,
+    });
 
     return await this.applyNodePostprocessors(nodes, query);
   }
diff --git a/packages/core/src/indices/keyword/index.ts b/packages/core/src/indices/keyword/index.ts
index 56019c0c76b85ed261101929f84dc24126c0b55f..9e5050eadaa9dc31bc5ec0d6dfe931a32d01715a 100644
--- a/packages/core/src/indices/keyword/index.ts
+++ b/packages/core/src/indices/keyword/index.ts
@@ -8,7 +8,7 @@ import {
   defaultKeywordExtractPrompt,
   defaultQueryKeywordExtractPrompt,
 } from "../../Prompt.js";
-import type { BaseRetriever } from "../../Retriever.js";
+import type { BaseRetriever, RetrieveParams } from "../../Retriever.js";
 import type { ServiceContext } from "../../ServiceContext.js";
 import { serviceContextFromDefaults } from "../../ServiceContext.js";
 import { RetrieverQueryEngine } from "../../engines/query/index.js";
@@ -79,7 +79,7 @@ abstract class BaseKeywordTableRetriever implements BaseRetriever {
 
   abstract getKeywords(query: string): Promise<string[]>;
 
-  async retrieve(query: string): Promise<NodeWithScore[]> {
+  async retrieve({ query }: RetrieveParams): Promise<NodeWithScore[]> {
     const keywords = await this.getKeywords(query);
     const chunkIndicesCount: { [key: string]: number } = {};
     const filteredKeywords = keywords.filter((keyword) =>
diff --git a/packages/core/src/indices/summary/index.ts b/packages/core/src/indices/summary/index.ts
index ad2b5963f84828169285734c5958fd458c2d881d..f45119c83e8136e729beadb374d63264ca7d401d 100644
--- a/packages/core/src/indices/summary/index.ts
+++ b/packages/core/src/indices/summary/index.ts
@@ -3,10 +3,9 @@ import { globalsHelper } from "../../GlobalsHelper.js";
 import type { BaseNode, Document, NodeWithScore } from "../../Node.js";
 import type { ChoiceSelectPrompt } from "../../Prompt.js";
 import { defaultChoiceSelectPrompt } from "../../Prompt.js";
-import type { BaseRetriever } from "../../Retriever.js";
+import type { BaseRetriever, RetrieveParams } from "../../Retriever.js";
 import type { ServiceContext } from "../../ServiceContext.js";
 import { serviceContextFromDefaults } from "../../ServiceContext.js";
-import type { Event } from "../../callbacks/CallbackManager.js";
 import { RetrieverQueryEngine } from "../../engines/query/index.js";
 import type { BaseNodePostprocessor } from "../../postprocessors/index.js";
 import type {
@@ -281,7 +280,10 @@ export class SummaryIndexRetriever implements BaseRetriever {
     this.index = index;
   }
 
-  async retrieve(query: string, parentEvent?: Event): Promise<NodeWithScore[]> {
+  async retrieve({
+    query,
+    parentEvent,
+  }: RetrieveParams): Promise<NodeWithScore[]> {
     const nodeIds = this.index.indexStruct.nodes;
     const nodes = await this.index.docStore.getNodes(nodeIds);
     const result = nodes.map((node) => ({
@@ -337,7 +339,10 @@ export class SummaryIndexLLMRetriever implements BaseRetriever {
     this.serviceContext = serviceContext || index.serviceContext;
   }
 
-  async retrieve(query: string, parentEvent?: Event): Promise<NodeWithScore[]> {
+  async retrieve({
+    query,
+    parentEvent,
+  }: RetrieveParams): Promise<NodeWithScore[]> {
     const nodeIds = this.index.indexStruct.nodes;
     const results: NodeWithScore[] = [];
 
diff --git a/packages/core/src/indices/vectorStore/index.ts b/packages/core/src/indices/vectorStore/index.ts
index 561b894e0cbebabd5571f7105384b827da16de11..6e43beee8a1f3821b86eb32698969e2930e02ca6 100644
--- a/packages/core/src/indices/vectorStore/index.ts
+++ b/packages/core/src/indices/vectorStore/index.ts
@@ -11,7 +11,7 @@ import {
   ObjectType,
   splitNodesByType,
 } from "../../Node.js";
-import type { BaseRetriever } from "../../Retriever.js";
+import type { BaseRetriever, RetrieveParams } from "../../Retriever.js";
 import type { ServiceContext } from "../../ServiceContext.js";
 import { serviceContextFromDefaults } from "../../ServiceContext.js";
 import type { Event } from "../../callbacks/CallbackManager.js";
@@ -426,14 +426,17 @@ export class VectorIndexRetriever implements BaseRetriever {
     this.imageSimilarityTopK = imageSimilarityTopK ?? DEFAULT_SIMILARITY_TOP_K;
   }
 
-  async retrieve(
-    query: string,
-    parentEvent?: Event,
-    preFilters?: MetadataFilters,
-  ): Promise<NodeWithScore[]> {
-    let nodesWithScores = await this.textRetrieve(query, preFilters);
+  async retrieve({
+    query,
+    parentEvent,
+    preFilters,
+  }: RetrieveParams): Promise<NodeWithScore[]> {
+    let nodesWithScores = await this.textRetrieve(
+      query,
+      preFilters as MetadataFilters,
+    );
     nodesWithScores = nodesWithScores.concat(
-      await this.textToImageRetrieve(query, preFilters),
+      await this.textToImageRetrieve(query, preFilters as MetadataFilters),
     );
     this.sendEvent(query, nodesWithScores, parentEvent);
     return nodesWithScores;
diff --git a/packages/core/src/objects/base.ts b/packages/core/src/objects/base.ts
index f03d858431a3fef51b6db9c7dc745c62b4f9f124..2934de25f249e8ca45907263485ab2567c56479e 100644
--- a/packages/core/src/objects/base.ts
+++ b/packages/core/src/objects/base.ts
@@ -69,7 +69,7 @@ export class ObjectRetriever {
 
   // Translating the retrieve method
   async retrieve(strOrQueryBundle: QueryType): Promise<any> {
-    const nodes = await this.retriever.retrieve(strOrQueryBundle);
+    const nodes = await this.retriever.retrieve({ query: strOrQueryBundle });
     const objs = nodes.map((n) => this._objectNodeMapping.fromNode(n.node));
     return objs;
   }