From bf583a726689aed5e507e003b678596021d728d5 Mon Sep 17 00:00:00 2001 From: Marcus Schiesser <mail@marcusschiesser.de> Date: Thu, 7 Mar 2024 12:15:22 +0700 Subject: [PATCH] Use parameter object for retrieve function of Retriever (#616) --- .changeset/strange-waves-sit.md | 5 +++++ .../docs/modules/node_postprocessors/index.md | 2 +- apps/docs/docs/modules/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- .../current/modules/low_level/retriever.md | 2 +- examples/multimodal/retrieve.ts | 6 +++--- packages/core/src/Retriever.ts | 12 +++++++----- packages/core/src/cloud/LlamaCloudIndex.ts | 6 +++--- .../core/src/cloud/LlamaCloudRetriever.ts | 19 +++++++++---------- .../engines/chat/DefaultContextGenerator.ts | 6 +++--- .../src/engines/query/RetrieverQueryEngine.ts | 6 +++--- packages/core/src/indices/keyword/index.ts | 4 ++-- packages/core/src/indices/summary/index.ts | 13 +++++++++---- .../core/src/indices/vectorStore/index.ts | 19 +++++++++++-------- packages/core/src/objects/base.ts | 2 +- 50 files changed, 95 insertions(+), 81 deletions(-) create mode 100644 .changeset/strange-waves-sit.md diff --git a/.changeset/strange-waves-sit.md b/.changeset/strange-waves-sit.md new file mode 100644 index 000000000..ff071af01 --- /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 ec5ae88e1..f562eb564 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 d49fba12f..a7ac81ab1 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 01106a849..9c815b45b 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 d359dfa5e..f12ce9c79 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 c4fe80912..140a36154 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 6377c59ac..964081d12 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 add4ef4b6..246ac3683 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 d5cf43917..21ff7495a 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 7ea01cbc4..969001308 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 afa70f1c5..bcfc3168f 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 5c22d1435..c69a2ed7d 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 510c4ab49..bc6eb1c33 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 f4dca038d..79e275247 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 c762bfd48..e3eec5c57 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 c28f08aad..636cbefc6 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 16f921481..97db68605 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 f2a67e689..f99ff826c 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 69b623aa7..9e82c1bd4 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 efcfa9109..eb0c0bc6c 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 32d0ba8f6..0a2e84102 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 3d186afc4..6e1185e06 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 e6b328f11..95d5115f6 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 38298476d..d037e56c0 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 dc8a98e2c..c2fa6edec 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 d5bc96810..d31fe853a 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 15f5e3840..d871d1ddd 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 874537650..cd8db4994 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 2ff076fa0..8ff0a5e01 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 45e1be335..ef9fec98d 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 4ddd2f2e0..79f29bd33 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 cf1edafa4..cf9f091d4 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 b388e433a..e016223f7 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 55a6f4238..62c238252 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 0ef44f8ec..add14fae8 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 07800027d..aa4cfdab3 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 ee6adad9c..fd5ba8e7f 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 680aa5c02..94f256aa2 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 183705617..29c86e869 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 f1a16d3a4..cd1cc102d 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 187838c3c..8e0e2242e 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 516108477..e482493a9 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 8eb65dd41..5a5154d08 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 7938a59c0..05f94f3ab 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 7fbb6ab37..dfcb9a8dd 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 a8adbe0ad..540243dab 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 56019c0c7..9e5050ead 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 ad2b5963f..f45119c83 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 561b894e0..6e43beee8 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 f03d85843..2934de25f 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; } -- GitLab