From 0226de7c39767a992be68888bcb0f1da2166f52f Mon Sep 17 00:00:00 2001 From: n4ze3m Date: Sun, 1 Dec 2024 17:02:09 +0530 Subject: [PATCH] feat: Add vector search to SearXNG search provider chore: remove unnecessary type annotation in web.ts --- src/web/search-engines/searxng.ts | 13 +++++++++++-- src/web/web.ts | 1 - 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/web/search-engines/searxng.ts b/src/web/search-engines/searxng.ts index e5ad6b8..fe60424 100644 --- a/src/web/search-engines/searxng.ts +++ b/src/web/search-engines/searxng.ts @@ -30,7 +30,7 @@ export const searxngSearch = async (query: string) => { } const isJSONMode = await isSearxngJSONMode() - const results = isJSONMode + const results = isJSONMode ? await searxngJSONSearch(searxngURL, query) : await searxngWebSearch(searxngURL, query) @@ -79,8 +79,17 @@ export const searxngSearch = async (query: string) => { const chunks = await textSplitter.splitDocuments(docs) const store = new MemoryVectorStore(ollamaEmbedding) await store.addDocuments(chunks) + + const resultsWithEmbeddings = await store.similaritySearch(query, 3) - return store + const searchResult = resultsWithEmbeddings.map((result) => { + return { + url: result.metadata.url, + content: result.pageContent + } + }) + + return searchResult } const searxngJSONSearch = async (baseURL: string, query: string) => { diff --git a/src/web/web.ts b/src/web/web.ts index 0f678d9..6c48f1b 100644 --- a/src/web/web.ts +++ b/src/web/web.ts @@ -50,7 +50,6 @@ export const getSystemPromptForWeb = async (query: string) => { } else { const searchProvider = await getSearchProvider() - //@ts-ignore search = await searchWeb(searchProvider, query) }